Activity log for bug #364538

Date Who What changed Old value New value Message
2009-04-21 10:10:42 Scott James Remnant (Canonical) bug added bug
2009-04-21 10:12:14 Scott James Remnant (Canonical) bug task added linux (Ubuntu Jaunty)
2009-04-21 10:12:50 Scott James Remnant (Canonical) linux (Ubuntu Jaunty): importance Undecided Medium
2009-04-21 10:12:50 Scott James Remnant (Canonical) linux (Ubuntu Jaunty): status New In Progress
2009-04-21 10:12:50 Scott James Remnant (Canonical) linux (Ubuntu Jaunty): milestone jaunty-updates
2009-04-21 10:12:50 Scott James Remnant (Canonical) linux (Ubuntu Jaunty): assignee smb (smb)
2009-04-21 12:29:00 Stefan Bader linux (Ubuntu Jaunty): assignee smb stefan-bader-canonical
2009-04-22 20:14:49 Stefan Bader linux (Ubuntu Jaunty): status In Progress Fix Committed
2009-04-22 20:16:34 Stefan Bader description Continuing from bug #363038 Pete Graner's problem with the Dell Latitude XT was that the kernel was calling "modprobe usb-storage" before the initramfs has run "depmod" to initialise the module db. This was all crack. There's no reason to have the kernel call modprobe in this way, it was caused by something called "libusual" which steals all of usb-storage's aliases and then modprobes it. The intent is that it allows you to alternate between "usb-storage" and "ub". Not only is "ub" very crufty and unmaintained, but we can do that kind of switching in userspace these days. Disabling libusual in the kernel config means that usb-storage gets modprobe aliases just like every other driver, and is loaded by udev just like every other driver. Race condition solved, laptop boots. SRU justification: Impact (from Scott): The ub driver is an old attempt for a slow USB Block Device driver, it hasn't been maintained in quite a while and we don't have an easy way to enable it. libusual is a strange mechanism for the kernel to auto-select between usb-storage and ub. It works by stealing the aliases from them both and modprobe'ing (from the kernel) the other module when a device is connected. The trouble is that because it's built into the kernel, on machines with particularly fast init, it could be trying to call it before the initramfs has even been switched to - or before the initramfs has called "depmod". In either case, since there's no modules.alias/modules.dep files, the modprobe call with fail and the USB storage device will not be enabled. Plugging a second USB storage device in will magically cure the problem. Fix: Attched patch to disable those modules. This bumps ABI as the libusual functions go missing. All IDs automagically go over to usb-storage. Testcase: Booting from usb storage with a quick host. --- Continuing from bug #363038 Pete Graner's problem with the Dell Latitude XT was that the kernel was calling "modprobe usb-storage" before the initramfs has run "depmod" to initialise the module db. This was all crack. There's no reason to have the kernel call modprobe in this way, it was caused by something called "libusual" which steals all of usb-storage's aliases and then modprobes it. The intent is that it allows you to alternate between "usb-storage" and "ub". Not only is "ub" very crufty and unmaintained, but we can do that kind of switching in userspace these days. Disabling libusual in the kernel config means that usb-storage gets modprobe aliases just like every other driver, and is loaded by udev just like every other driver. Race condition solved, laptop boots.
2009-04-22 20:17:07 Stefan Bader bug added subscriber Ubuntu Stable Release Updates Team
2009-05-01 10:12:31 Steve Langasek tags verification-needed
2009-05-01 16:48:05 Steve Beattie tags verification-needed hw-specific verification-needed
2009-05-11 20:11:14 tarski attachment added explanation http://launchpadlibrarian.net/26600238/explanation
2009-06-18 07:18:11 Launchpad Janitor linux (Ubuntu Jaunty): status Fix Committed Fix Released
2009-11-13 22:31:23 Ivo linux (Ubuntu): status Fix Committed Fix Released
2009-11-13 22:31:32 Ivo linux (Ubuntu): status Fix Released Fix Committed
2009-11-22 06:27:49 Stefan Bader linux (Ubuntu): status Fix Committed Fix Released