Suspend and resume on Dell E6520
Ian Smith
smithi at nimnet.asn.au
Wed Nov 9 08:24:14 UTC 2011
On Mon, 7 Nov 2011, Sebastian Chmielewski wrote:
> On Thu, 3 Nov 2011 15:54:59 +1100 (EST)
> Ian Smith <smithi at nimnet.asn.au> wrote:
>
> > Just checking: this is with a kernel built without uhci, ohci and ehci?
>
> 8.2-STABLE configured with:
> #device ehci
> #device ohci
> #device ohci
> in my kernel config.
> {ehci,ohci,uhci}_load="YES" in loader.conf
Thanks for confirmation.
> the same symptoms are for 9.0-BETA2 (official memstick)
GENERIC or kernel configured as above?
> > The beep is generated by programming the good old-fashioned timer chip;
> > if the laptop normally beeps on boot or error it should beep on resume.
> > With this, my Thinkpad T23 (piercingly) beeped for a full 60 seconds on
> > resume for months, until learning it was (here) uhci causing that hang.
>
> My laptop is able to beep - echo -e "\007" does a short beep, but there is no
> beep on resume.
Ok, well I haven't looked at that code in a year or so, but I recall
the asm code starting the beep was right at the start of resume, so I
guess it's just not getting that far - but I don't claim to follow the
suspend/resume code well in general, way too many layers and busses ..
> > You could try setting sysctl hw.acpi.verbose=1 from /etc/sysctl.conf and
> > then booting with verbose messages, which logs a lot more detail around
> > suspend and resume, which may provide clues (though some of that logging
> > obviously occurs after resume succeeds). Worth also maybe trying sysctl
> > hw.syscons.sc_no_suspend_vtswitch=1 which has helped on some laptops.
>
> I did the following:
>
> boot -s (all modules)
>
> kldunload ehci
> kldunload ohci
> kldunload uhci
> kldunload firewire
> kldunload nvidia
> sysctl hw.acpi.verbose=1
> sysctl debug.acpi.resume_beep=1
> sysctl hw.syscons.sc_no_suspend_vtswitch=1 (also tried without it)
> zzz
> (had to press Ctrl-C to go to sleep)
That must be a clue. Same result if you use 'acpiconf -s3' instead?
> press power button
> - cpu fan goes on, screen is blank, no beep
> - wait for 3 minutes, nothing changed
>
> next I tried:
> - at bootloader: unload, load /boot/kernel/kernel, load
> /boot/kernel/{ahci.ko,zfs.ko}
> - boot -s
> - all sysctl's as above
> - zzz (no Ctrl-C needed)
> - pressed power button for resume
> - nothing happens - no beep, no resume, screen is blank
>
> so ehci,ohci are not the problem here.
Yes, seems likely something else. I guess boot -s gives a non-verbose
dmesg? Adding -v (or choose 'boot with verbose messages" into multiuser)
prints a fair bit of info going into suspend, so even with it not
resuming there may be some indications of any problems suspending?
(I've posted a verbose suspend/resume cycle below for an idea of what
you might see. This one was a year ago tomorrow at 8.1-STABLE when I
was still trying to figure out the uhci-caused 60 second stall. You
should maybe get messages up to the first 'acpi_printcpu() debug dump')
> This laptop has:
> - core i7 processor
> - nvidia card (tried to suspend&resume without nvidia.ko, no luck)
> - encrypted hard drive (tried to suspend&resume without it, still no luck)
Apart from the extra logging I can't think of anything else, sorry.
> best regards,
> --
> Sebastian Chmielewski * jid:chmielsster at gmail.com * gg:3336919 * icq:224161389
(BTW excuse my spamblock on o2.pl, I've whitelisted your address now :)
cheers, Ian
acpi_button0: sleep button pressed
acpi_lid0: wake_prep enabled for \\_SB_.LID_ (S3)
acpi_button0: wake_prep enabled for \\_SB_.SLPB (S3)
vga0: saving 68 bytes of video state
vga0: saving color palette
pci0:1:0:0: Transition from D0 to D3
pci0:2:8:0: Transition from D0 to D3
ct_to_ts([2010-10-10 02:23:57]) = 1286677437.000000000
======== acpi_printcpu() debug dump ========
gdt[0097:c0e471a0] idt[07ff:c0e4f800] ldt[0050] tr[0048] efl[00080006]
eax[0141e000] ebx[00000000] ecx[c141e000] edx[0141e000]
esi[c4197b00] edi[00080202] ebp[df787b4c] esp[df787b2c]
cr0[8005003b] cr2[28162280] cr3[0141e000] cr4[000006d1]
cs[0020] ds[0028] es[0028] fs[0008] gs[001b] ss[0028]
======== acpi_printcpu() debug dump ========
gdt[0097:c0e471a0] idt[07ff:c0e4f800] ldt[0050] tr[0048] efl[00000002]
eax[c4930001] ebx[00000000] ecx[00000004] edx[c4930000]
esi[c4197b00] edi[00080202] ebp[df787b4c] esp[df787b2c]
cr0[8005003b] cr2[28162280] cr3[0141e000] cr4[000006d1]
cs[0020] ds[0028] es[0028] fs[0008] gs[001b] ss[0028]
acpi_lid0: run_prep cleaned up for \\_SB_.LID_
acpi_button0: run_prep cleaned up for \\_SB_.SLPB
pci0:1:0:0: Transition from D3 to D0
t_delta 15.fbb94811f04ece80 too short
t_delta 15.fbb95171aab13180 too short
t_delta 15.fbb9d4addc129b80 too short
ct_to_ts([2010-10-13 22:13:32]) = 1287008012.000000000
wakeup from sleeping state (slept 91:49:35)
ata0: reiniting channel ..
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1
ad0: setting UDMA100
ata0: reinit done ..
ata1: reiniting channel ..
ata1: reset tp1 mask=03 ostat0=00 ostat1=00
ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: stat1=0x00 err=0x00 lsb=0x00 msb=0x00
ata1: reset tp2 stat0=00 stat1=00 devices=0x10000
acd0: setting UDMA33
ata1: reinit done ..
atkbd: the current kbd controller command byte 0047
atkbd: keyboard ID 0x54ab (2)
kbdc: RESET_KBD return code:00fa
kbdc: RESET_KBD status:00aa
kbdc: TEST_AUX_PORT status:0000
kbdc: RESET_AUX return code:00fa
kbdc: RESET_AUX status:00aa
kbdc: RESET_AUX ID:0000
battery0: battery initialization start
battery0: battery initialization done, tried 1 times
ts_to_ct(1287008356.707738396) = [2010-10-13 22:19:16]
More information about the freebsd-acpi
mailing list