← Back to team overview

hybrid-graphics-linux team mailing list archive

Re: acpi_call working on Clevo W150HNM/Sager NP5160 but breaks suspend

 

well I found this on the archive and it seemed to do the trick... I'll
inform if any other problems come up

"1. Unbind ehci_hcd from kernel:

First, verify what devices you need to unload from kernel. Simple list
the directory "/sys/bus/pci/drivers/ehci_hcd/" and pick all devices id
that has names like "0000:00:1a.0". You may have more than one device
listed.

Code:
# ls /sys/bus/pci/drivers/ehci_hcd/
0000:00:1a.0  bind    new_id     uevent
0000:00:1d.0  module  remove_id  unbind
I picked "0000:00:1a.0" and "0000:00:1d.0".

Because newer version of Ubuntu came with ehci_hcd builtin kernel, you
have to unbind all devices. For this, create a file
"/etc/pm/sleep.d/20_custom-ehci_hcd", with the following content:
Code:
#!/bin/sh
# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".
case "${1}" in
        hibernate|suspend)
              # Unbind ehci_hcd for first device XXXX:XX:XX.X:
               echo -n "XXXX:XX:XX.X" | tee
/sys/bus/pci/drivers/ehci_hcd/unbind
              # Unbind ehci_hcd for second device XXXX:XX:XX.X:
               echo -n "XXXX:XX:XX.X" | tee
/sys/bus/pci/drivers/ehci_hcd/unbind
        ;;
        resume|thaw)
              # Bind ehci_hcd for first device XXXX:XX:XX.X:
              echo -n "XXXX:XX:XX.X" | tee
/sys/bus/pci/drivers/ehci_hcd/bind
              # Bind ehci_hcd for second device XXXX:XX:XX.X:
              echo -n "XXXX:XX:XX.X" | tee
/sys/bus/pci/drivers/ehci_hcd/bind
        ;;
esac
Obs.: For this work for you, you have to substitue "XXXX:XX:XX.X" with
your settings.

2. Unload modelue xhci (usb3):

Create a file "/etc/pm/config.d/usb3-suspend-workaround", with the
following content:
Code:
#File: "/etc/pm/config.d/usb3-suspend-workaround".
SUSPEND_MODULES="xhci""

Thanks everyone and keep up the good work!!!

On Tue, Apr 5, 2011 at 7:11 PM, Diego Fernandez
<aiguo.fernandez@xxxxxxxxx> wrote:
> Finally, pulled in from git today and now I can switch off my Nvdidia card!
>
> Diego: /opt/git/acpi_call$ ./test_off.sh
> Trying \_SB.PCI0.P0P1.VGA._OFF: failed
> Trying \_SB.PCI0.P0P2.VGA._OFF: failed
> Trying \_SB_.PCI0.OVGA.ATPX: failed
> Trying \_SB_.PCI0.OVGA.XTPX: failed
> Trying \_SB.PCI0.P0P3.PEGP._OFF: failed
> Trying \_SB.PCI0.P0P2.PEGP._OFF: failed
> Trying \_SB.PCI0.P0P1.PEGP._OFF: failed
> Trying \_SB.PCI0.MXR0.MXM0._OFF: failed
> Trying \_SB.PCI0.PEG1.GFX0._OFF: failed
> Trying \_SB.PCI0.PEG0.GFX0.DOFF: failed
> Trying \_SB.PCI0.PEG1.GFX0.DOFF: failed
> Trying \_SB.PCI0.PEG0.PEGP._OFF: works!
>
> Diego: /opt/git/acpi_call$ lspci -vnnn | perl -lne 'print if
> /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
> 00:02.0 VGA compatible controller [0300]: Intel Corporation Device
> [8086:0126] (rev 09) (prog-if 00 [VGA controller])
> 01:00.0 VGA compatible controller [0300]: nVidia Corporation Device
> [10de:0df4] (rev ff) (prog-if ff)
>
> So far I've noticed a HUGE improvement in both battery life and temperatures...
>
> Unfortunately after turning off the Nvidia card my suspend breaks.
>
> Is there anywhere I can check for logs or something see what's going
> on when I try to suspend?
>



-- 
Diego Fernandez - 爱国



Follow ups

References