Bug 6653

Summary: dell e1505 core dual: With 2.6.17 on e1505, after resume from suspend to ram, keyboard does not work
Product: ACPI Reporter: Ted Logan (tedtheologian)
Component: Power-Sleep-WakeAssignee: Rafael J. Wysocki (rjwysocki)
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla, bunk, rjwysocki
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.18rc4 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: Kernel config for 2.6.17
lsmod and dmesg on resume on 18rc3
Current suspend.sf.net CVS, in tar.gz format

Description Ted Logan 2006-06-05 08:07:10 UTC
Most recent kernel where this bug did not occur: 2.6.16.19
Distribution: fedora core 5
Hardware Environment: dell e1505
Software Environment: fedore core 5/gnome
Problem Description: keyboard does not work after resume from suspend to ram

Steps to reproduce: boot kernel 2.6.17-rc5 and try suspend to ram, then resume.
Comment 1 Luming Yu 2006-06-07 07:38:53 UTC
Please post dmesg, interrupts .. after resume.
Comment 2 Ted Logan 2006-06-09 00:08:29 UTC
I can't.  I can't do anything.
Comment 3 Ted Logan 2006-06-10 07:22:55 UTC
rc6 has same problem.
Comment 4 Luming Yu 2006-06-20 08:48:00 UTC
how about 2.6.17?
Comment 5 Ted Logan 2006-06-30 22:54:36 UTC
at .17.3, same problem:(
Comment 6 Rafael J. Wysocki 2006-07-17 12:56:27 UTC
Could you possibly set up an SSH server on your box and log into it from 
another machine after resume?
Comment 7 Ted Logan 2006-07-17 14:49:15 UTC
no, i had dhcp IP through ethernet for eth0, but after resume, bt blue light
comes on, but ssh from other machine to 192.168.0.2 says no route to host.
Comment 8 Rafael J. Wysocki 2006-07-23 12:22:15 UTC
So it turns out the problem is not only with the keyboard.

Still, we need to get _some_ debug information from this box.

Please post the output of dmesg and lspci -vv (right after a fresh boot) from 
the kernel 2.6.18-rc2 as attachements.  Also please try if the problem is still 
present in this kernel, just in case.

I'm sorry I don't remember whether you tried the suspend to disk.  If not, 
please do,

Is there a serial port in this box?  If not, do you have a USB keyboard?
Comment 9 Ted Logan 2006-07-23 13:29:07 UTC
i just tried with usb keyboard, same problem - no input worked, caps lock does
not light up, etc.
to get suspend to ram, i hit fn + standby

fn + hibernate does nothing
so you are asking me to try .18-rc2? i am currently at 17.6.
Comment 10 Rafael J. Wysocki 2006-07-23 15:18:15 UTC
.18-rc2 contains some additional code changes that may fix your problem.

Anyway, I think we should try to make the suspend to disk work on your box 
first.

Do you use a swap partition or a swap file?
Comment 11 Ted Logan 2006-07-23 16:06:33 UTC
well, i did have suspend to ram working to an extent with .16

here are my mounts

/dev/sda5 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
automount(pid2154) on /net type autofs (rw,fd=4,pgrp=2154,minproto=2,maxproto=4)
Comment 12 Rafael J. Wysocki 2006-07-24 02:13:06 UTC
Something broke your suspend to RAM after 2.6.16 and we need to figure out what 
it was.  However, you can't get any relevant information from the box after the 
resume, so we can't do much with the suspend to RAM alone.  The suspend to disk 
works a bit differently, so there's a chance it will work on your box with a 
recent kernel and perhaps  we'll be able to get some information from it.

Swap partitions don't show up in the output of mount.  Please post the output 
of 'cat /proc/swaps'.
Comment 13 Ted Logan 2006-07-24 11:19:22 UTC
cat /proc/swaps
Filename                                Type            Size    Used   
Priority/dev/sda6                               partition       265032  0       -1
Comment 14 Rafael J. Wysocki 2006-07-24 14:42:04 UTC
So you use a swap partition.  Good.

Now, do you use an initrd or are your hard disk-related drivers compiled in?
Comment 15 Ted Logan 2006-07-25 01:10:35 UTC
Created attachment 8610 [details]
Kernel config for 2.6.17

I use initrd, because I couldn't get it booting when i tried to do the kernel
myself from scratch(config) because it uses sata.

Attached is my latest kernel config.
Comment 16 Rafael J. Wysocki 2006-07-25 04:29:34 UTC
Now I think your box just locks up during resume because of the SATA driver(s).  
I think you will need some patches that are not yet in the mainline to 
successfully resume your box, so probably it's better if you wait until these 
patches get merged (unfortunately it's hard to tell when it will happen).

Alternatively, I can help you find these patches, apply them etc., but this 
will take time too and rather won't be easy.
Comment 17 Ted Logan 2006-07-25 10:53:46 UTC
but why would you think that? i ask because it didn't lock up with 2.6.16 kernel.
Comment 18 Rafael J. Wysocki 2006-07-25 13:59:09 UTC
IIRC, the SATA code changed between .16 and .17 in such a way that the suspend 
has stopped working on some configurations and additional patches are needed to 
make it work again.  Hopefully these patches will be merged before .18 or soon 
after it.
Comment 19 Ted Logan 2006-07-25 23:03:52 UTC
ok.  what would you have me do for now, or wait till .18?
Comment 20 Rafael J. Wysocki 2006-07-26 00:52:12 UTC
I'd wait for .18-rc3 to appear and test the suspend to RAM with it.
Comment 21 Ted Logan 2006-08-01 13:18:23 UTC
Created attachment 8669 [details]
lsmod and dmesg on resume on 18rc3
Comment 22 Ted Logan 2006-08-01 13:18:47 UTC
upgraded to 18rc3.
same problem.


oddly enough, this time I can ssh in, though, and do things, through wireless.
Attached is lsmod and dmesg
Comment 23 Rafael J. Wysocki 2006-08-01 13:53:46 UTC
So we some progress. ;-)

Please also attach the output of 'cat /proc/interrupts' (before and after the 
resume) and 'lspci'.

Have you tried to attach a USB keyboard to the box after the resume?
Comment 24 Ted Logan 2006-08-01 14:27:15 UTC
hmm, but it works now, i see! for some reason, it works now!

now it goes back to password prompt within gnome.

The only other thing, and I don't know if this is due to upgrading to rc3 or
what, but now, when I get to X in gdm-binary, since upgrading to rc3, a LOUD pc
beep emits when it gets to user prompt in gdm-binary after end of boot.  Is that
tied to anything?  I need to stop it.


I did notice one problem on video resume, though.  When i set battery applet to
initiate suspend after lid is closed and battery is not plugged in, when i open
it, keyboard and such works, and i can ssh in, however, video does not display.
 But I DID try fn esc which initiated a suspend, THEN closed the lid, and after
i opened lid it resumed fine.... what does that mean?  I just tried, after I
could not get video, suspending to ram again and resuming, but no go, still no
video.  

I wonder if it means that the applet is initiating some other kind of suspend
that does not deal with resume of video well?  It seems that, the suspend that
is initiated from fn-esc, i can resume fine from(including video)


Comment 25 Ted Logan 2006-08-01 17:54:24 UTC
I spoke too soon, I just tried suspending again then resuming, and it went back
to no keyboard input not showing password prompt like before.  it seems to work
a LOT Of the time, but not all the time?
Comment 26 Rafael J. Wysocki 2006-08-02 10:42:59 UTC
I have no idea what the problem may be.
Comment 27 Ted Logan 2006-08-02 20:59:36 UTC
?
forget the beeping, that came with pcspkr module in 18rc3.

so basically it works often when i evoke it from keystroke, however, when
gnome's battery applet evokes it after lid is closed, i cannot get video back on
resume.

apparently there are still some occasions where it goes back to no input at
all(and no video)
Comment 28 Rafael J. Wysocki 2006-08-03 00:45:04 UTC
When you suspend from the command line, is it from under X?  If so, the gnome 
appled probably does something that prevents the video from waking up, but I 
don't know what it is.

The problem that sometimes there's no keyboard input after the resume seems to 
be BIOS/ACPI-related and I have only a little experience with these things.
Comment 29 Ted Logan 2006-08-06 22:02:45 UTC
Well, both ways I am suspending from X.
but lately I am having problem again of no input at all working on resume.

As you requested, I had a usb keyboard plugged in, and no input from it(or 
lights).
I unplugged it then replugged it in, still no input or lights.
Comment 30 Ted Logan 2006-08-20 11:05:23 UTC
ok, I seem to be dealing with the same problem again with rc4.  on resume, no
real video display and no keyboard input will work.
Comment 31 Thomas Renninger 2006-11-30 05:51:46 UTC
This is about "after resume from suspend to ram, keyboard does not work" on a
very specific machine? I wonder why this is a blocker, IMO this should be normal
severity or even low... There may be a reason why it is like that, if not can
somebody reduce severity, please.
Comment 32 Ted Logan 2006-11-30 07:39:32 UTC
it works often with 2.6.18 now, however, sometimes i still do not get video on
resume and occasionally the lockups remain.
it seems almost that it increases my chance of a safe recovery if, on resume, i
keep hitting a key, like caps lock.
Comment 33 Rafael J. Wysocki 2007-05-30 11:16:33 UTC
Can you please test 2.6.22-rc3 or the latest -git ?
Comment 34 Ted Logan 2007-06-01 11:07:31 UTC
I upgraded to f7 and 2.6.21.

Keyboard works now, but not video on resume.
Comment 35 Rafael J. Wysocki 2007-06-01 12:24:08 UTC
The video-related problems are often solved by using s2ram 
(http://en.opensuse.org/s2ram).

Can you please try it?
Comment 36 Ted Logan 2007-06-01 13:55:21 UTC
well, suspend, which has s2ram, won't compile on fedora 7.
Comment 37 Rafael J. Wysocki 2007-06-01 14:14:10 UTC
First, you need to do 'make s2ram' only, the rest is not needed.

Second, you additionally need to download libx86 from 
http://www.codon.org.uk/~mjg59/libx86/downloads/ and install it (on xi386 
run 'make' and 'make install'; on x86_64 you need to run 'make BACKEND=x86emu' 
and 'make install').

You also need pciutils-devel to be installed.
Comment 38 Ted Logan 2007-06-01 14:31:43 UTC
Yeah, I installed those other things, but s2ram won't compile

make s2ram
cc -O2 -Wall -g s2ram.c vt.o vbetool/lrmi.o vbetool/x86-common.o
vbetool/vbetool.o radeontool.o dmidecode.o -lpci -o s2ram
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`pci_load_name_list':
(.text+0x6e8): undefined reference to `gzopen'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`pci_load_name_list':
(.text+0x781): undefined reference to `gzgets'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`.L174':
(.text+0x886): undefined reference to `gzclose'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`.L174':
(.text+0x8a8): undefined reference to `gzeof'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`.L174':
(.text+0x945): undefined reference to `gzclose'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`.L174':
(.text+0xd74): undefined reference to `gzopen'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`.L177':
(.text+0xf17): undefined reference to `gzerror'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpci.a(names.o): In function
`.L177':
(.text+0xf3a): undefined reference to `gzclose'
collect2: ld returned 1 exit status
make: *** [s2ram] Error 1


I am confused.  Everything seems to work but video on resume, but I got it
working in fc6 after some assistance from pm-utils list.  Some config files
needed changing or something?
Comment 39 Rafael J. Wysocki 2007-06-01 14:46:22 UTC
> Yeah, I installed those other things, but s2ram won't compile

You need zlib-devel to be installed (can you please read the README from the 
suspend package, at least?).

> I am confused.  Everything seems to work but video on resume, but I got it
> working in fc6 after some assistance from pm-utils list.  Some config files
> needed changing or something?

Sorry, I know a little about Fedora.  You should ask Fedora people about that.
Comment 40 Ted Logan 2007-06-01 14:53:09 UTC
I did read readme:)
i have zlib-devel installed
zlib-1.2.3-10.fc7
zlib-devel-1.2.3-10.fc7
Comment 41 Rafael J. Wysocki 2007-06-01 15:01:52 UTC
Created attachment 11639 [details]
Current suspend.sf.net CVS, in tar.gz format

Sorry. :-)

Attached is a tarball with the current suspend.sf.net CVS.  Can you try to
compile s2ram from it?
Comment 42 Ted Logan 2007-06-01 20:47:18 UTC
Yup, s2ram doesn't bring back video either.

Keyboard works fine, though.

If I was blind I'd be happy:)
Comment 43 Rafael J. Wysocki 2007-06-02 01:31:06 UTC
What's your graphics adapter and what s2ram options have you tried?
Comment 44 Ted Logan 2007-06-02 02:35:08 UTC
Sorry, 

I got it working.

Here's my addition to top of dell file for pm-utils hal stuff

 <match key="system.hardware.product" contains="MM061">
         <merge key="power_management.quirk.vbe_post" type="bool">true</merge>
         <merge key="power_management.quirk.vbestate_restore"
type="bool">true</merge>
       </match>
Comment 45 Rafael J. Wysocki 2007-06-02 04:49:02 UTC
Good. :-)

Can I close this bug, then?
Comment 46 Ted Logan 2007-06-02 10:46:06 UTC
Sure, but I was told this is just a work around and there was still a kernel issue?
Comment 47 Rafael J. Wysocki 2007-06-02 14:18:37 UTC
No, the kernel doesn't handle the reinitialization of graphics after a resume 
from RAM.
Comment 48 Rafael J. Wysocki 2007-06-02 14:21:30 UTC
The original problem is fixed in 2.6.21.

The other problem is a duplicate of Bug #7225.

Closing, please reopen if necessary.