Lenovo T61p fails to resume: screen remains black

Hey all,

I need my laptop to go to sleep and wake up.

Right now, I have FreeBSD 8.1 (PC-BSD), and suspend appears to work, but then resume doesn't.

I have acpi_ibm loading in /boot/loader.conf.

The following error is seen in the /var/log/messages

Code:
Oct  6 09:26:58 slc-jab acpi: suspend at 20101006 09:26:58
Oct  6 09:27:02 slc-jab kernel: fwohci0: fwohci_pci_suspend
Oct  6 09:27:04 slc-jab kernel: ugen0.2: <STMicroelectronics> at usbus0 (disconnected)
Oct  6 09:27:25 slc-jab kernel: acpi_ec0: warning: EC done before starting event wait
Oct  6 09:27:30 slc-jab kernel: usb_alloc_device: set address 2 failed (USB_ERR_TIMEOUT, ignored)
Oct  6 09:27:30 slc-jab kernel: em0: link state changed to DOWN
Oct  6 09:27:30 slc-jab kernel: lagg0: link state changed to DOWN
Oct  6 09:27:30 slc-jab kernel: usb_alloc_device: getting device descriptor at addr 2 failed, USB_ERR_STALLED
Oct  6 09:27:30 slc-jab kernel: usbus2: port reset timeoutusbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_STALLED, ignored)
Oct  6 09:27:30 slc-jab kernel: uhub_reattach_port: port 2 reset failed, error=USB_ERR_TIMEOUT
Oct  6 09:27:30 slc-jab kernel: 
Oct  6 09:27:30 slc-jab kernel: uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port 2
Oct  6 09:27:30 slc-jab kernel: usbd_req_re_enumerate: getting device descriptor at addr 2 failed, USB_ERR_STALLED
Oct  6 09:27:30 slc-jab kernel: iwn0: radio is disabled by hardware switch
Oct  6 09:27:30 slc-jab kernel: iwn0: radio is disabled by hardware switch
Oct  6 09:27:30 slc-jab kernel: usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_STALLED, ignored)
Oct  6 09:27:30 slc-jab kernel: usbd_req_re_enumerate: getting device descriptor at addr 2 failed, USB_ERR_STALLED
Oct  6 09:27:30 slc-jab kernel: ugen0.2: <(null)> at usbus0 (disconnected)
Oct  6 09:27:30 slc-jab kernel: uhub_reattach_port: could not allocate new device
Oct  6 09:27:30 slc-jab kernel: em0: link state changed to UP
Oct  6 09:27:30 slc-jab kernel: lagg0: link state changed to UP
Oct  6 09:27:30 slc-jab kernel: fwohci0: Phy 1394a available S400, 1 ports.
Oct  6 09:27:30 slc-jab kernel: fwohci0: Link S400, max_rec 2048 bytes.
Oct  6 09:27:30 slc-jab kernel: fwohci0: Initiate bus reset
Oct  6 09:27:30 slc-jab kernel: fwohci0: fwohci_intr_core: BUS reset
Oct  6 09:27:30 slc-jab kernel: fwohci0: fwohci_intr_core: node_id=0x00000000, SelfID Count=1, CYCLEMASTER mode
Oct  6 09:27:30 slc-jab kernel: firewire0: 1 nodes, maxhop <= 0 cable IRM irm(0)  (me) 
Oct  6 09:27:30 slc-jab kernel: firewire0: bus manager 0 
Oct  6 09:27:30 slc-jab kernel: fwohci0: unrecoverable error
Oct  6 09:27:25 slc-jab wpa_supplicant[499]: Failed to initiate AP scan.
Oct  6 09:27:30 slc-jab power_profile: changed to 'performance'
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 00000084 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 00000088 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003bc 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003c0 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003c4 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003c8 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003cc 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003d0 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003d4 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003d8 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003dc 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003e0 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003e4 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003e8 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003ec 00000000 00000003 00000000
Oct  6 09:27:31 slc-jab kernel: NVRM: Xid (0001:00): 53, CMDre 00000000 000003f0 00000000 00000003 00000000

Anyway, I need sleep and resume. I looked at the USB errors, and I tried unloading usb first, as it says in the /etc/rc.suspend and enable usb in the /etc/rc.resume.

Code:
# If a device driver has problems suspending, try unloading it before
# suspend and reloading it on resume.  Example:
kldunload usb

Doesn't matter if I have my wireless off or on.
 
Hello,

You are lucky - more than me. I have T61 and resume returns the black screen only. I can't even see the errors.

I would suggest to check the x86_64 version of PC-BSD (although I used plain FreeBSD) and check the sysctl variables for video blank etc. That may help.

If you find any solution please let me know. I will check at my end.

Pjoter
 
I couldn't even ssh in after resume.

I tried loading acpi_ibm, changing various hw.acpi settings.

Setting hw.acpi.reset_video to 1 had no effect.

If I had troubleshooting and debugging steps, I could probably fix this. I wonder if anyone has unit test for the code that ACPI sleep uses.

I wonder if setting hw.acpi.verbose will give me more data.
 
To excluded everything possibly failing, I disabled SMP and still I wasn't able to resume. I think that ACPI in FreeBSD is somehow broken.

NetBSD suspens/resumes fine for an instance.

Good luck- if you find something just share.

Pjoter.
 
Back
Top