Latest working kernel version: unknown Earliest failing kernel version: unknown Distribution: Debian Hardware Environment: ASUS eeepc 701 Software Environment: Debian/GNU linux unstable, with 2.6.26-rc6 kernel Problem Description: A usb stick attached to a hub does not persist after suspend. Another usb storage device, a card reader does persist. Steps to reproduce: I've tried to reproduce this by hooking another hub with another stick up to the machine. I made sure to fully disconnect them while the machine was suspended. But USB_PERSIST worked fine for this combination. The usb stick, hub, and port that have the problem are not easily accessible, so I can't check whether replacing any of the components makes a difference. I suspect the usb port may not be able to supply the current it should according to the usb specifications, because it was intended only to be used with the eeepc's small built-in webcam. But during normal operation it is apparently able to supply sufficient power for the hub and stick.
Created attachment 16606 [details] kernel configuration file
Created attachment 16607 [details] dmesg output
Created attachment 16608 [details] output of lsusb -v
USB_PERSIST should now always be enabled, so that's strange. I assume 2.6.25 worked fine?
(In reply to comment #4) > USB_PERSIST should now always be enabled, so that's strange. Not sure. > I assume 2.6.25 worked fine? Well, I don't really think it's a regression in the strict sense.
> I assume 2.6.25 worked fine? In 2.6.25 USB_PERSIST did not work for me at all. I haven't tried earlier kernels.
(Aside: I wish people would assign the correct MIME type to their attachments. It's a real nuisance not to be able to view them directly in my browser.) The USB_PERSIST code has been updated. You should try running with the gregkh-all patch available from http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ If it still doesn't work, build a kernel with CONFIG_USB_DEBUG enabled and attach the dmesg log again.
The problem is still there in 2.6.26-rc8 with the patch. I'll attach the dmesg output. Sorry about the MIME type. I'll try to do better this time.
Created attachment 16637 [details] dmesg output with newer kernel, gregkh patch, and config_usb_debug enabled
Created attachment 16641 [details] Retry with reset-resume if a normal resume fails The problem is that hub. It maintained its connection during the suspend but then failed to respond properly during the resume. This patch will detect when that happens and then retry using a reset-resume, to try and provide persistence.
The patch fixed it. Thank you!