Warning: Creating default object from empty value in /home/mirandam/public_html/linux/wp-includes/functions.php on line 292
Fedora, Linux and Stuff :: Resuming USB after F7 ACPI Suspend

Resuming USB after F7 ACPI Suspend

Monday, July 16th, 2007 ~ 10:00 pm by Mauriat Miranda

As mentioned in my Fedora 7 Review, there were some ACPI regressions in functionality. The basic problem is as such: Before I hit ‘Suspend’ my mouse is working fine, however the mouse fails to activate after the computer is resumed.

To get the mouse to work again, I must run the following, after which the mouse works perfectly.

[mirandam@charon ~]$ sudo su -
[root@charon ~]# modprobe -r ehci_hcd
[root@charon ~]# modprobe ehci_hcd

How do I know which module to pick? Trial and error. There are only 3 USB modules that I considered:

[mirandam@charon ~]$ /sbin/lsmod | grep hcd
ehci_hcd               35405  0
ohci_hcd               23749  0
uhci_hcd               26833  0

I went through each and loaded and re-loaded it at the terminal line until I found the correct one.
(How did I get to the terminal with no mouse? Quick Tip: Create a shortcut key combination in Gnome: System > Preferences > Personal > Keyboard Shortcuts).

The Fedora FAQ says to use the “Quirks Page” to try to diagnose the problems. The site is a little “dumbed” down but it might be helpful to newbies.

The information I required was how to unload modules prior to suspending. This is mentioned in the site. The proper method is to add a file unload_modules in the /etc/pm/config.d/ directory. The file should have 1 line listing the modules you want to unload (separated by spaces) in a specific format. In my case this would be:
SUSPEND_MODULES=”ehci_hcd”

Hence I ran:

[mirandam@charon ~]$ sudo gedit /etc/pm/config.d/unload_modules

Added the above line, and presto!, my USB mouse propely resumes after an ACPI suspend (S3, Suspend to RAM).

The above quirks page may not be entirely comprehensive but should provide many common tips. Unfortunately power management (including suspend and hibernate) are ever changing in Linux. The current structure does seem like progress (even if it does create regressions as in my case).

For reference I have an ASUS A8V, Athlon 64 running 32 bit, kernel 2.6.21-1.3228.fc7, with a Logitech MX 400 Laser Mouse.

Comments are closed.