2011年2月23日 星期三

Ubuntu 10.10 memo(5): 解决xps 15无法休眠

休眠时,出现说usb3无法停止的错误。以下方法确实有效:

1. Unbind xhci_hcd from kernel:
First, verify what devices you need to unload from kernel. Simple list the directory "/sys/bus/pci/drivers/xhci_hcd/" and pick all devices id that has names like "XXXX:XX:XX:X". You may have more than one device listed.
Quote:
ls /sys/bus/pci/drivers/xhci_hcd/
2. Create custom file /etc/pm/sleep.d/20_custom-xhci_hcd
Quote:
#!/bin/sh
# File: "/etc/pm/sleep.d/20_custom-xhci_hcd".
case "${1}" in
hibernate|suspend)
# Unbind xhci_hcd for first device XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
# Unbind xhci_hcd for second device XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
;;
resume|thaw)
# Bind xhci_hcd for first device XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/bind
# Bind xhci_hcd for second device XXXX:XX:XX.X:
echo -n "XXXX:XX:XX.X" | tee /sys/bus/pci/drivers/xhci_hcd/bind
;;
esac
3. Unload modelue xhci (usb3):
Create a file "/etc/pm/config.d/usb3-suspend-workaround", with the following content:
Quote:
#File: "/etc/pm/config.d/usb3-suspend-workaround".
SUSPEND_MODULES="xhci
4. sudo chmod +x /etc/pm/sleep.d/20_custom-xhci_hcd

沒有留言:

張貼留言