[SOLVED] usb power management (suspend) gone in 2.6.34?!
Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi, the entries in /sys/bus/usb/devices/.../power that permitted me to set the suspend options, like power/level and power/autosuspend, seem to be gone in 2.6.34. Any hints where I can find them? It seems like they SHOULD be there, according to Documentation/usb/power-management.txt in the kernel source tree.
Did you enable USB selective suspend/resume and wakeup?
When I checked the configuration, which was generated from a 2.6.33.3 kernel configuration (where the USB suspend option WAS enabled), it seems that those options were not available any more. When I searched for USB_SUSPEND in menuconfig the help text said that this options now is dependent on PM_RUNTIME, which it wasn't before this kernel. According to http://comments.gmane.org/gmane.linu...general/30876:
Quote:
we make USB_SUSPEND depend on PM_RUNTIME instead of CONFIG_PM
I enabled that option, and then USB_SUSPEND was available again in the configuration. I haven't tried to compile with this new configuration yet, will get back later. By the way, since I didn't have PM_RUNTIME enabled before this kernel (I didn't feel the need for it), did I miss any other power saving features? I don't know if 'SATA Aggressive Link Power Management' is dependent on this, for example.
When I searched for USB_SUSPEND in menuconfig the help text said that this options now is dependent on PM_RUNTIME, which it wasn't before this kernel config.
I enabled that option, and then USB_SUSPEND was available again in the configuration. I haven't tried to compile with this new configuration yet, will get back later.
Compilation and suspending worked like a charm with PM_RUNTIME enabled. Case closed. I think that the 'make silentoldconfig' command should have fixed this, though.
Did a bit more reading (kernelnewbies.org) and found that this new dependency might be a consequence of asynchronous suspending (all buses : SATA,SCSI, USB...). just a thought added for completeness.
A warning: According to http://permalink.gmane.org/gmane.lin....general/29764 the new control attribute under the power directory is supposed to act as the level attribute (which will be deprecated next year), BUT when I changed "level" to "control" in my rc.local, as in
I used to be able to suspend with my previous kernels that was older than 2.6.33.
My new kernel IS compiled with USB_SUSPEND support but I still have problems.
When I do "echo -n suspend > control" (or > level) I get this error message:
-su: echo: write error: Invalid argument
(I can echo "on" and "auto" to control without problems)
My current kernel is 2.6.37 but I have the same problem in 2.6.35 and the computer is a Hewlett-Packard -HP Compaq 8000 Elite.
Anyone has any suggestions?
Last edited by kebabbrullen; 02-09-2011 at 06:18 AM.
Posting new thread for this as its marked as solved.
Quote:
Originally Posted by kebabbrullen
I used to be able to suspend with my previous kernels that was older than 2.6.33.
My new kernel IS compiled with USB_SUSPEND support but I still have problems.
When I do "echo -n suspend > control" (or > level) I get this error message:
-su: echo: write error: Invalid argument
(I can echo "on" and "auto" to control without problems)
My current kernel is 2.6.37 but I have the same problem in 2.6.35 and the computer is a Hewlett-Packard -HP Compaq 8000 Elite.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.