← Back to team overview

kernel-packages team mailing list archive

[Bug 61235] Re: USB mass storage stops working after a while

 

I am seeing this problem in one or another form since ~2006, and it
looks like it will be with us for a while.

My understanding is that there may be a *number* of issues with USB 2.0
+ that end with more or less similar symptoms, producing lots of
confusion.

A number of workarounds exist, the above is just one of them; basically
it all goes down to some way of limiting the connection speed, after
what the USB connection seems to survive; the most robust ( and the
worst in the terms of efficiency ) is switching down to USB 1.0 :

https://help.ubuntu.com/community/Mount/USB#USB_2_Issues  
http://www.thinkwiki.org/wiki/Problem_with_USB_2.0  

Please note that for the most of the distributions we can't just do
"rmmod ehci_hcd" anymore and have to "unbind" the driver from the usb
hub -- or even from a specific port :

http://lists.en.qi-
hardware.com/pipermail/discussion/2011-August/008508.html

( The obscure numbers behind this magic are described here :
http://www.makelinux.net/ldd3/?u=chp-12-sect-1, here : http://www.mail-
archive.com/linux-usb-users@xxxxxxxxxxxxxxxxxxxxx/msg16895.html and here
: http://www.linux-usb.org/FAQ.html#i6 ; this also contains a great
introduction in sysfs:
http://www.reactivated.net/writing_udev_rules.html )

At USB 2.* level, limiting the speed normally solves most of the issues
except for some "intellectual" hardware that likes to go offline to save
power etc and never wakes up ; one of these is changing the
"max_sectors" value: http://www.linux-usb.org/FAQ.html#i5  ; it may have
to do something with setting the proper buffer size as well )

in old days one have had to either write an udev rule ( see the link
above ), or add the device into "unusual devs" and then recompile the
kernel: http://www.phildev.net/linux/usb-unusualdevs-notes.html,
http://lxr.free-electrons.com/source/include/linux/usb_usual.h,
http://lxr.free-electrons.com/source/drivers/usb/storage/unusual_devs.h,
http://yarchive.net/comp/linux/quirks.html ;

nowadays things are probably better :
http://ftp.dei.uc.pt/pub/linux/kernel/people/gregkh/usb/2.6/2.6.28/usb-
storage-make-the-quirks-module-parameter-writable.patch, http://lxr
.free-electrons.com/source/Documentation/kernel-parameters.txt#L3444 and
one can pass certain parameters to the kernel at the boot time :
http://lxr.free-electrons.com/source/Documentation/kernel-
parameters.txt#L9, e.g.
http://anythingbutipod.com/forum/showthread.php?t=49138 .

Back to limiting the connection speed. My favorite way to go is via
cgroups (
http://linux.oracle.com/documentation/EL6/Red_Hat_Enterprise_Linux-6
-Resource_Management_Guide-en-US.pdf,
http://www.mjmwired.net/kernel/Documentation/cgroups.txt,
http://www.kernel.org/doc/Documentation/cgroups/devices.txt,
http://www.oracle.com/technetwork/articles/servers-storage-admin
/resource-controllers-linux-1506602.html, etc ) along with a related
udev rule ; this seems to work well in most of the cases.

I will skip a number of related workarounds to keep this comment at a
reasonable size ; returning back to the "intellectual" hardware, there
are at least two quirk parameters to mention: "autosuspend" and
"old_scheme_first" .

First allows us to disable auto-suspending: http://lxr.free-
electrons.com/source/Documentation/kernel-parameters.txt#L3407,
http://wiki.xbmc.org/index.php?title=HOW-
TO:Suspend_and_wake_in_Ubuntu#Disable_Usbcore_Autosuspend,
http://www.kernel.org/doc/Documentation/usb/power-management.txt, e.g. :
http://linuxtv.org/wiki/index.php/Leadtek_WinFast_DTV2000DS#Losing_1_tuner
;

the second one is normally advised as a random shot when there is "some
unknown bad magic happening", and I list it only for some very rare
occasions ; here is a link: http://www.linux-usb.org/FAQ.html#ts10 .

hth,
/t13

PS. In some specific case, reading around the above links may also help
)




--

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/61235

Title:
  USB mass storage stops working after a while

Status in “linux” package in Ubuntu:
  Won't Fix
Status in “linux-source-2.6.17” package in Ubuntu:
  Fix Released
Status in “linux-source-2.6.19” package in Ubuntu:
  Invalid
Status in “linux-source-2.6.20” package in Ubuntu:
  Won't Fix
Status in “linux-source-2.6.22” package in Ubuntu:
  Won't Fix
Status in “udev” package in Ubuntu:
  Invalid

Bug description:
  I just plugin an external USB 2.0 hard disk.  It is detected and seems to work.
  However, when I start copying large files it stops working (unmounts itself) after a while.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/61235/+subscriptions


Follow ups