Bug 4149 - no USB flash mem stick with kernel 2.6.10
Summary: no USB flash mem stick with kernel 2.6.10
Status: CLOSED PATCH_ALREADY_AVAILABLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: Alan Stern
URL:
Keywords:
: 4329 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-02-02 07:31 UTC by Michael Elbaum
Modified: 2005-07-12 13:37 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.10
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
hub.c from 2.6.10 source (78.28 KB, text/plain)
2005-02-03 02:56 UTC, Michael Elbaum
Details
.config file (35.46 KB, text/plain)
2005-02-03 02:57 UTC, Michael Elbaum
Details

Description Michael Elbaum 2005-02-02 07:31:11 UTC
Distribution: Gentoo
Hardware Environment: IBM Thinkpad T42
Software Environment: gnome or console
Problem Description:

My USB memory stick is not recognized when I boot in a 2.6.10 kernel. The same
stick works fine in 2.6.8 and 2.6.9. I tried the Gentoo kernel first, then
vanilla. I had the same error so I'm reporting it here. It's the same with devfs
or udev. The usb generally seems to come up normally, and a simple usb mouse
works fine. This may or may not be related to bug #4140. I recorded the lines in
/var/log/messages:


in 2.6.10:

Feb  1 10:11:56 localhost usb 1-4: new high speed USB device using ehci_hcd and
address 3
Feb  1 10:11:56 localhost usb 3-2: new full speed USB device using uhci_hcd and
address 3
Feb  1 10:11:56 localhost usb 3-2: device descriptor read/64, error -71
Feb  1 10:11:57 localhost usb 3-2: device descriptor read/64, error -71
Feb  1 10:11:57 localhost usb 3-2: new full speed USB device using uhci_hcd and
address 4
Feb  1 10:11:57 localhost usb 3-2: device descriptor read/64, error -71
Feb  1 10:11:57 localhost usb 3-2: device descriptor read/64, error -71
****************************************************************************************

in 2.6.8 or 2.6.9:

Feb  2 07:57:28 localhost usb 1-4: new high speed USB device using address 2
Feb  2 07:57:28 localhost scsi0 : SCSI emulation for USB Mass Storage devices
Feb  2 07:57:28 localhost Vendor: Generic   Model: USB Flash Disk    Rev: 2.00
Feb  2 07:57:28 localhost Type:   Direct-Access                      ANSI SCSI
revision: 02
Feb  2 07:57:29 localhost SCSI device sda: 511488 512-byte hdwr sectors (262
MB)Feb  2 07:57:29 localhost sda: assuming Write Enabled
Feb  2 07:57:29 localhost sda: assuming drive cache: write through
Feb  2 07:57:29 localhost /dev/scsi/host0/bus0/target0/lun0: unknown partition table
Feb  2 07:57:29 localhost Attached scsi removable disk sda at scsi0, channel 0,
id 0, lun 0
Feb  2 07:57:29 localhost Attached scsi generic sg0 at scsi0, channel 0, id 0,
lun 0,  type 0
Feb  2 07:57:29 localhost USB Mass Storage device found at 2
Feb  2 07:57:29 localhost scsi.agent[11193]: disk at
/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host0/0:0:0:0



Steps to reproduce:

plug and pray
Comment 1 Michael Elbaum 2005-02-03 02:56:55 UTC
Created attachment 4506 [details]
hub.c from 2.6.10 source
Comment 2 Michael Elbaum 2005-02-03 02:57:59 UTC
Created attachment 4507 [details]
.config file
Comment 3 Matthew Dharm 2005-02-17 17:26:24 UTC
Looks like the HCD is failing to enumerate the device, based on the errors shown.
Comment 4 Michael Elbaum 2005-02-18 15:22:32 UTC
Is there something I can do about it? I tried 2.6.11_rc2 (from gentoo's vanilla
sources, using devfs) and it has the same problem. I hope it won't propagate
forever and leave me behind with 2.6.9... USB seems to come up normally in
dmesg, but when I try to mount I get the "/dev/sda is not a valid block device"
error. The same key works in 2.6.8 and 2.6.9, both devfs and udev.


Here are all the possibly relevant lines from /var/log/messages:

Feb 19 01:04:11 localhost Linux version 2.6.11-rc2 (root@localhost) (gcc version
3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)) #1 Mon Feb 14
22:52:59 IST 2005
Feb 19 01:04:11 localhost usbcore: registered new driver usbfs
Feb 19 01:04:11 localhost usbcore: registered new driver hub
Feb 19 01:04:11 localhost PCI: Using ACPI for IRQ routing
Feb 19 01:04:11 localhost ** PCI interrupts are no longer routed automatically.
 If this
Feb 19 01:04:11 localhost ** causes a device to stop working, it is probably
because the
Feb 19 01:04:11 localhost ** driver failed to call pci_enable_device().  As a
temporary
Feb 19 01:04:11 localhost ** workaround, the "pci=routeirq" argument restores
the old
Feb 19 01:04:11 localhost ** behavior.  If this argument makes the device work
again,
Feb 19 01:04:11 localhost ** please email the output of "lspci" to
bjorn.helgaas@hp.com
Feb 19 01:04:11 localhost ** so I can fix the driver.
Feb 19 01:04:11 localhost ehci_hcd 0000:00:1d.7: Intel Corp. 82801DB/DBM
(ICH4/ICH4-M) USB 2.0 EHCI Controller
Feb 19 01:04:11 localhost ehci_hcd 0000:00:1d.7: irq 11, pci mem 0xc0000000
Feb 19 01:04:11 localhost ehci_hcd 0000:00:1d.7: new USB bus registered,
assigned bus number 1
Feb 19 01:04:11 localhost PCI: cache line size of 32 is not supported by device
0000:00:1d.7
Feb 19 01:04:11 localhost ehci_hcd 0000:00:1d.7: USB 2.0 initialized, EHCI 1.00,
driver 10 Dec 2004
Feb 19 01:04:11 localhost hub 1-0:1.0: USB hub found
Feb 19 01:04:11 localhost hub 1-0:1.0: 6 ports detected
Feb 19 01:04:11 localhost USB Universal Host Controller Interface driver v2.2
Feb 19 01:04:11 localhost ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 11 (level,
low) -> IRQ 11
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.0: Intel Corp. 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1
Feb 19 01:04:11 localhost PCI: Setting latency timer of device 0000:00:1d.0 to 64
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.0: irq 11, io base 0x1800
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.0: new USB bus registered,
assigned bus number 2
Feb 19 01:04:11 localhost hub 2-0:1.0: USB hub found
Feb 19 01:04:11 localhost hub 2-0:1.0: 2 ports detected
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.1: Intel Corp. 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2
Feb 19 01:04:11 localhost PCI: Setting latency timer of device 0000:00:1d.1 to 64
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.1: irq 11, io base 0x1820
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.1: new USB bus registered,
assigned bus number 3
Feb 19 01:04:11 localhost hub 3-0:1.0: USB hub found
Feb 19 01:04:11 localhost hub 3-0:1.0: 2 ports detected
Feb 19 01:04:11 localhost ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 11 (level,
low) -> IRQ 11
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.2: Intel Corp. 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3
Feb 19 01:04:11 localhost PCI: Setting latency timer of device 0000:00:1d.2 to 64
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.2: irq 11, io base 0x1840
Feb 19 01:04:11 localhost uhci_hcd 0000:00:1d.2: new USB bus registered,
assigned bus number 4
Feb 19 01:04:11 localhost hub 4-0:1.0: USB hub found
Feb 19 01:04:11 localhost hub 4-0:1.0: 2 ports detected
Feb 19 01:04:11 localhost usb 3-1: new low speed USB device using uhci_hcd and
address 2
Feb 19 01:04:11 localhost usbcore: registered new driver usblp
Feb 19 01:04:11 localhost drivers/usb/class/usblp.c: v0.13: USB Printer Device Clas:
Feb 19 01:04:11 localhost Initializing USB Mass Storage driver...
Feb 19 01:04:11 localhost usbcore: registered new driver usb-storage
Feb 19 01:04:11 localhost USB Mass Storage support registered.
Feb 19 01:04:11 localhost input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball]
on usb-0000:00:1d.1-1
Feb 19 01:04:11 localhost usbcore: registered new driver usbhid
Feb 19 01:04:11 localhost drivers/usb/input/hid-core.c: v2.0:USB HID core driver

(Could the ACPI IRQ routing have anything to do with it???)



after plugging in the key:

Feb 19 01:04:39 localhost usb 1-4: new high speed USB device using ehci_hcd and
address 3
Feb 19 01:04:40 localhost usb 3-2: new full speed USB device using uhci_hcd and
address 3
Feb 19 01:04:40 localhost usb 3-2: device descriptor read/64, error -71
Feb 19 01:04:40 localhost usb 3-2: device descriptor read/64, error -71
Feb 19 01:04:40 localhost usb 3-2: new full speed USB device using uhci_hcd and
address 4
Feb 19 01:04:40 localhost usb 3-2: device descriptor read/64, error -71
Feb 19 01:04:40 localhost usb 3-2: device descriptor read/64, error -71
Comment 5 Greg Kroah-Hartman 2005-03-08 09:25:24 UTC
Alan, any ideas?
Comment 6 Alan Stern 2005-03-08 12:12:40 UTC
There are two things you can try.  One is to use 2.6.11 because some important
changes have been added since -rc2.  The second thing is to try specifying the
"old_scheme_first=y" module parameter for usbcore.ko.

This doesn't appear to be connected with interrupt routing.
Comment 7 Michael Elbaum 2005-03-08 13:41:45 UTC
I'll give it a try again and get back to you.
Comment 8 David Brownell 2005-04-04 13:48:29 UTC
*** Bug 4329 has been marked as a duplicate of this bug. ***
Comment 9 David Brownell 2005-04-04 13:49:20 UTC
also try the tweak I suggested in bug #4329 ...  
Comment 10 Michael Elbaum 2005-04-05 14:08:00 UTC
Good news. It works now in 2.6.11.5
It doesn't work (yet) in the Gentoo version 2.6.11_rc2.
The sequence in /var/log/messages starts with a 5 sec delay "waiting for device
to settle before scanning", and then proceeds to assign a SCSI node as it should.
thanks!
Comment 11 Adrian Bunk 2005-07-12 13:37:22 UTC
The submitter reported it's fixed in 2.6.11.5.

Note You need to log in before you can comment on or make changes to this bug.