05e3:070e usb-storage devices don't work, unless plugged in *after* booting - happens when setting MODULES=dep in initramfs.conf

Bug #1062796 reported by Alan Jenkins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Hopefully I have time to root-cause this.

We have two Kubuntu 12.04 LTS machines. One of them has a USB card reader, which we want to leave permanently attached. We use it to upload photos to Digikam several times a month.

Recently we noticed the card reader not working. It showed up in lsusb, BUT "ls /dev/sd*" showed only one device (the internal hard drive).

WORKAROUND: Unplugging the entire card reader and plugging it back in again fixes it.

WORKAROUND: The following fixed it without re-plugging the cardreader:
modprobe usb-storage

WORKAROUND: This was caused by my enabling MODULES=dep in /etc/initramfs-tools/initramfs.conf. Changing it back to MODULES=most fixes it (and adds back 2 seconds to the boot time).

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-3.2.0-31-generic 3.2.0-31.50
ProcVersionSignature: Ubuntu 3.2.0-31.50-generic 3.2.28
Uname: Linux 3.2.0-31-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 2.0.1-0ubuntu13
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: PCH [HDA Intel PCH], device 0: VT1708S Analog [VT1708S Analog]
   Subdevices: 2/2
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: alan 2413 F.... pulseaudio
CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
Card0.Amixer.info:
 Card hw:0 'PCH'/'HDA Intel PCH at 0xf7c10000 irq 46'
   Mixer name : 'Intel PantherPoint HDMI'
   Components : 'HDA:11060397,10438415,00100000 HDA:80862806,80860101,00100000'
   Controls : 48
   Simple ctrls : 23
Date: Sat Oct 6 12:27:35 2012
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: System manufacturer System Product Name
ProcEnviron:
 LANGUAGE=en_GB:en
 TERM=xterm
 PATH=(custom, user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.2.0-31-generic root=UUID=a6efc5b5-c8c5-4ae1-9970-61943a7f9396 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-31-generic N/A
 linux-backports-modules-3.2.0-31-generic N/A
 linux-firmware 1.79.1
RfKill:

SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 08/24/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0703
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: P8B75-M LE
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev X.0x
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0703:bd08/24/2012:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnP8B75-MLE:rvrRevX.0x:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

Revision history for this message
Alan Jenkins (aj504) wrote :
description: updated
Revision history for this message
Alan Jenkins (aj504) wrote :
Download full text (9.3 KiB)

I've added three more USB sotrage devices, with the same result. (The original card reader, plus iRiver T50 MP3 player, Western Digital portable hard drive, and a Hanvon e-reader running OpenInkpot). Here's a transcript showing that none of these triggered usb-storage at boot time. (dmesg shows them only after 700 seconds, when I ran modprobe manually)

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 4102:1029 iRiver, Ltd.
Bus 001 Device 004: ID 1058:0740 Western Digital Technologies, Inc. My Passport 1TB
Bus 001 Device 005: ID 0525:a4a5 Netchip Technology, Inc. Linux-USB File Storage Gadget
Bus 002 Device 003: ID 05e3:070e Genesys Logic, Inc. USB 2.0 Card Reader
Bus 002 Device 004: ID 045e:0750 Microsoft Corp. Wired Keyboard 600
$ ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda5 /dev/sda6
$
$ sudo modprobe usb-storage
[sudo] password for alan:
$
$ ls /dev/sd*
/dev/sda /dev/sda6 /dev/sdc1 /dev/sdc6 /dev/sdc9 /dev/sdf /dev/sdh1
/dev/sda1 /dev/sdb /dev/sdc10 /dev/sdc7 /dev/sdd /dev/sdg /dev/sdi
/dev/sda5 /dev/sdc /dev/sdc5 /dev/sdc8 /dev/sde /dev/sdh
$
$
$ dmesg|tail -n 100
[ 8.501599] type=1400 audit(1349522607.252:15): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=1224 comm="apparmor_parser"
[ 8.501967] type=1400 audit(1349522607.252:16): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=1224 comm="apparmor_parser"
[ 8.724577] type=1400 audit(1349522607.476:17): apparmor="STATUS" operation="profile_load" name="/usr/sbin/mysqld-akonadi" pid=1225 comm="apparmor_parser"
[ 8.724782] type=1400 audit(1349522607.476:18): apparmor="STATUS" operation="profile_load" name="/usr/sbin/mysqld-akonadi///usr/sbin/mysqld" pid=1225 comm="apparmor_parser"
[ 8.954591] type=1400 audit(1349522607.704:19): apparmor="STATUS" operation="profile_load" name="/usr/sbin/mysqld-digikam" pid=1226 comm="apparmor_parser"
[ 9.732817] r8169 0000:03:00.0: eth0: link up
[ 9.733079] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 14.155039] audit_printk_skb: 9 callbacks suppressed
[ 14.155042] type=1400 audit(1349522612.916:23): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince" pid=1215 comm="apparmor_parser"
[ 14.155643] type=1400 audit(1349522612.916:24): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince//launchpad_integration" pid=1215 comm="apparmor_parser"
[ 14.155856] type=1400 audit(1349522612.916:25): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince//sanitized_helper" pid=1215 comm="apparmor_parser"
[ 14.156367] type=1400 audit(1349522612.916:26): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince-previewer" pid=1215 comm="apparmor_parser"
[ 14.156773] type=1400 audit(1349522612.916:27): apparmor="STATUS" ope...

Read more...

Revision history for this message
Alan Jenkins (aj504) wrote :
Revision history for this message
Alan Jenkins (aj504) wrote :

Same issue with v3.2.30 - i.e. a vanilla stable kernel, built starting from the Ubuntu kernel config with "make oldnoconfig". Tho, it's quite likely a userspace bug anyway, I'm just using the "linux" package as the recommended placeholder.

Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Alan Jenkins (aj504) wrote :

Same issue with homebuilt v3.6.0 (stock ubuntu 3.2 config + localmodconfig + oldnoconfig.
Same issue with 3.6.0-030600-generic from ubuntu mainline PPA.

Gotcha!

This was caused by my enabling MODULES=dep in /etc/initramfs-tools/initramfs.conf. Changing it back to MODULES=most fixes it (and adds back 2 seconds to the boot time).

summary: - usb-storage devices don't work, unless plugged in *after* booting
+ usb-storage devices don't work, unless plugged in *after* booting -
+ happens when setting MODULES=dep in initramfs.conf
Revision history for this message
Alan Jenkins (aj504) wrote : Re: usb-storage devices don't work, unless plugged in *after* booting - happens when setting MODULES=dep in initramfs.conf

This is caused by enabling CONFIG_USB_LIBUSUAL=y. Despite being documented as a "module" when it was added (complete with the suggestion of setting options in modprobe.conf), this is a boolean option. So it's built into the kernel, which means it doesn't get another bash at coldplug after the root filesystem is mounted.

Please, can you disable CONFIG_USB_LIBUSUAL? The reason for it is CONFIG_BLK_DEV_UB -

"Low Performance USB Block driver. If you enable this driver, it is recommended to avoid conflicts with usb-storage by enabling USB_LIBUSUAL. If unsure, say N."

I can't imagine why Ubuntu needs this. AFAIK the only reason for it is to save a few K on embedded systems. It might be interesting for debugging purposes, but as this (and other previous bugs) have shown, it seems generally more effective at inserting bugs into a systems that should be working.

Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

In the bug description you mentioned that "Recently we noticed the card reader not working."

Did this issue start happening after an update/upgrade? Was there a kernel version where you were not having this particular problem? This will help determine if the problem you are seeing is the result of the introduction of a regression, and when this regression was introduced.

Revision history for this message
Alan Jenkins (aj504) wrote :

I believe it happened after setting MODULES=dep, as per the amended bug title. So for me I don't believe it was a regression. I have vague memories that Ubuntu has had CONFIG_USB_LIBUSUAL enabled for a long time now, but I could be wrong.

penalvch (penalvch)
tags: added: bios-outdated-1204 needs-upstream-testing
Revision history for this message
Alan Jenkins (aj504) wrote :

Interesting tags.

Which upstream needs testing exactly? Do you want the latest mainline kernel tested with CONFIG_USB_LIBUSUAL and MODULES=dep in initramfs.conf? That would be very easy for me to do (on kubuntu 12.04).

That said it looks like libusual was removed in v3.7. At least usb/storage/libusual.c was. I have a suspicion the only reason for it, "Low Performance USB Block driver" as above, was removed at some point.

I guess you're also calling the BIOS "outdated". It was upgraded at the time of purchase, which was indeed 2012-10. In case you're tempted to ask (?!), I'm not going to update it.

penalvch (penalvch)
description: updated
summary: - usb-storage devices don't work, unless plugged in *after* booting -
- happens when setting MODULES=dep in initramfs.conf
+ 05e3:070e usb-storage devices don't work, unless plugged in *after*
+ booting - happens when setting MODULES=dep in initramfs.conf
penalvch (penalvch)
tags: added: bios-outdated-1301
removed: bios-outdated-1204
penalvch (penalvch)
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.