Making suspend & wakeup work on an ION board with Ubuntu, XBMC & MCE remote

Mostly for my own reference, but it might be useful for you too.

Most of the problems and solutions I found via google was related to bugs in the 2.6 kernel, and the solution was often to downgrade. I am however running a 3.0 kernel and figured it should be possible to solve without downgrading.

The issue I had was that the computer refused to wake up after I suspended it via the MCE remote. Most of the guides out there point to checking /proc/acpi/wakeup and setting USB0 to enabled via “cat USB0 > /proc/acpi/wakeup”. So naturally I tried that with no success, I also tried all the other devices, no success. I then found that in these newer kernels you need to enable wakeup under /sys/bus/usb/devices/X-Y/power/wakeup as well.

To find which USB device my remote was on, I looked at “dmesg |grep mc” and saw this:
[ 21.186140] mceusb 4-1:1.0: Registered Microsoft Microsoft IR Transceiver on usb4:2

So this means I needed to run a “echo enabled > /sys/bus/usb/devices/4-1/power/wakeup”

This time it worked, so I started to pinpoint which of the /proc/acpi/wakeup devices I needed, and it turns out that in my case it was “US15”, not USB0 or USB2 etc.
So finally, to keep everything working after a reboot I added the following two lines to my /etc/rc.local:
echo US15 > /proc/acpi/wakeup
echo enabled > /sys/bus/usb/devices/4-1/power/wakeup

Now I can suspend via the MCE remote, and it also wakes up via the remote. Note that you need to press the power button on the remote to make it wake up, sometimes repeatedly.

<!–RndAds–>

<!–RndAds–>

<!–RndAds–>

 

This entry was posted in Automation, Linux, XBMC and tagged , , , , , , , . Bookmark the permalink.
  • Rooster242

    Works perfectly on XBMCBuntu. Thanks!

  • Pingback: Stephen()