lkml.org 
[lkml]   [2008]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Problems with suspend and USB storage
On Thu, 15 May 2008, Rafael J. Wysocki wrote:

> On Thursday, 15 of May 2008, Bill Nottingham wrote:
> >
> > I've been testing suspend/hibernate with various USB devices under
> > 2.6.25.2. Test box is a Thinkpad T60 (uhci, ehci).
> > The results are somewhat dismal.
> >
> > Using USB as a hibernate device:
> > - A directly connected USB stick works OK as a hibernate device
> > - A directly connected USB hard drive works OK as a hibernate device
> > - A USB stick connected via an ExpressCard reader does not - it appears
> > to just not be there when the hibernate code attemps to write
> > the data.
> >
> > On resume (from either hibernate or suspend from RAM):
> > - Any 'in use' USB storage, whether it be as swap (a hibernate device),
> > or a mounted filesystem, immediately generates errors on resume. It
> > appears the filesystem and/or swap tasks are woken up before the
> > actual USB device - it enumerates the disks after the errors have
> > already been thrown.
> > - As a consequence, the USB devices shift their device names
> > - Using USB_PERSIST has no effect on this problem
> > - This appears to happen for all USB connection types (hard drive,
> > stick, via ExpressCard reader.)
> >
> > Is there any way to get sane behavior out of suspend/resume with
> > USB storage?
>
> Well, the problem is that USB storage devices are disconnected during suspend
> and hibernation and connected once again during resume. Then, however, we
> are not able to tell whether the device in the slot is the same that was in
> there before the system was put into the sleep state.
>
> I'm not sure if there's any workaround available in the current mainline.

You can try applying one of the gregkh-04-usb-* patches at

http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/

They include changes to the way hub-resume handling works, as well as
more debugging output. Be sure to enable CONFIG_USB_DEBUG and post the
relevant dmesg log.

Alan Stern



\
 
 \ /
  Last update: 2008-05-15 22:01    [W:0.074 / U:0.432 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site