2002-11-06 13:14:07

by Luca Barbieri

[permalink] [raw]
Subject: USB broken in 2.5.4[56]

In 2.5.4[56] USB has the following problems:
- Kernel and lsusb unable to get strings (empty in driverfs and lsusb
gets EPIPE from usbdevfs)
- bAlternateSetting == 0 on interface 1 of my SpeedTouch USB (this
prevents loading the firmware to it)

Reverting all the USB changes in 2.5.45 fixes the problems.


Here is what happens with broken kernels:

lspci:

00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 64
Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M]
Capabilities: [a0] AGP version 1.0
Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA+ AGP+ 64bit- FW- Rate=x2


lsusb:

cannot get string descriptor 1, error = Broken pipe(32)
cannot get string descriptor 2, error = Broken pipe(32)
cannot get string descriptor 3, error = Broken pipe(32)
cannot get string descriptor 1, error = Broken pipe(32)
cannot get string descriptor 2, error = Broken pipe(32)

Bus 001 Device 003: ID 06b9:4061 Alcatel Telecom
Language IDs: none (cannot get min. string descriptor; got len=-1, error=32:Broken pipe)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x06b9 Alcatel Telecom
idProduct 0x4061
bcdDevice 0.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
cannot get config descriptor 0, Broken pipe (32)
Language IDs: none (cannot get min. string descriptor; got len=-1, error=32:Broken pipe)

Bus 001 Device 002: ID 045e:001e Microsoft Corp. IntelliMouse Explorer
Language IDs: none (cannot get min. string descriptor; got len=-1, error=32:Broken pipe)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 Interface
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x045e Microsoft Corp.
idProduct 0x001e IntelliMouse Explorer
bcdDevice 1.14
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
cannot get config descriptor 0, Broken pipe (32)
Language IDs: none (cannot get min. string descriptor; got len=-1, error=32:Broken pipe)

Bus 001 Device 001: ID 0000:0000 Virtual Hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000 Virtual
idProduct 0x0000 Hub
bcdDevice 2.05
iManufacturer 3 Linux 2.5.46 uhci-hcd
iProduct 2 Intel Corp. 82371AB/EB/MB PIIX4 USB
iSerial 1 00:04.2
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x40
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type none
wMaxPacketSize 2
bInterval 255
Language IDs: (length=4)
0409 English(US)


driverfs:

/sys/bus/usb/devices/1-2/1-2:0/bAlternateSetting:
0

/sys/bus/usb/devices/1-2/1-2:0/bInterfaceClass:
00

/sys/bus/usb/devices/1-2/1-2:0/bInterfaceProtocol:
00

/sys/bus/usb/devices/1-2/1-2:0/bInterfaceSubClass:
00

/sys/bus/usb/devices/1-2/1-2:0/name:
usb-00:04.2-2 interface 0

/sys/bus/usb/devices/1-2/1-2:0/power:
0

/sys/bus/usb/devices/1-2/1-2:1/bAlternateSetting:
0

/sys/bus/usb/devices/1-2/1-2:1/bInterfaceClass:
ff

/sys/bus/usb/devices/1-2/1-2:1/bInterfaceProtocol:
00

/sys/bus/usb/devices/1-2/1-2:1/bInterfaceSubClass:
00

/sys/bus/usb/devices/1-2/1-2:1/name:
usb-00:04.2-2 interface 1

/sys/bus/usb/devices/1-2/1-2:1/power:
0

/sys/bus/usb/devices/1-2/1-2:2/bAlternateSetting:
0

/sys/bus/usb/devices/1-2/1-2:2/bInterfaceClass:
ff

/sys/bus/usb/devices/1-2/1-2:2/bInterfaceProtocol:
00

/sys/bus/usb/devices/1-2/1-2:2/bInterfaceSubClass:
00

/sys/bus/usb/devices/1-2/1-2:2/name:
usb-00:04.2-2 interface 2

/sys/bus/usb/devices/1-2/1-2:2/power:
0

/sys/bus/usb/devices/1-2/bcdDevice:
0000

/sys/bus/usb/devices/1-2/bConfigurationValue:
1

/sys/bus/usb/devices/1-2/bDeviceClass:
ff

/sys/bus/usb/devices/1-2/bDeviceProtocol:
00

/sys/bus/usb/devices/1-2/bDeviceSubClass:
00

/sys/bus/usb/devices/1-2/bmAttributes:
80

/sys/bus/usb/devices/1-2/bMaxPower:
250mA

/sys/bus/usb/devices/1-2/bNumInterfaces:
3

/sys/bus/usb/devices/1-2/idProduct:
4061

/sys/bus/usb/devices/1-2/idVendor:
06b9

/sys/bus/usb/devices/1-2/manufacturer:

/sys/bus/usb/devices/1-2/name:
Speed Touch USB (ALCATEL)

/sys/bus/usb/devices/1-2/power:
0

/sys/bus/usb/devices/1-2/product:

/sys/bus/usb/devices/1-2/serial:

/sys/bus/usb/devices/1-2/speed:
12



Here is what happens with a working 2.5.44 kernel:

lspci:

00:04.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at d400 [size=32]


lsusb:

Bus 001 Device 003: ID 06b9:4061 Alcatel Telecom
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x06b9 Alcatel Telecom
idProduct 0x4061
bcdDevice 0.00
iManufacturer 1 ALCATEL
iProduct 2 Speed Touch USB
iSerial 3 [...]
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 147
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type none
wMaxPacketSize 16
bInterval 50
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x07 EP 7 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 32
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x07 EP 7 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 32
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 16
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x07 EP 7 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 16
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 0
Language IDs: (length=4)
0409 English(US)


driverfs:

/sys/bus/usb/devices/1-2/1-2:0/bAlternateSetting:
0

/sys/bus/usb/devices/1-2/1-2:0/bInterfaceClass:
ff

/sys/bus/usb/devices/1-2/1-2:0/bInterfaceProtocol:
00

/sys/bus/usb/devices/1-2/1-2:0/bInterfaceSubClass:
00

/sys/bus/usb/devices/1-2/1-2:0/name:
usb-00:04.2-2 interface 0

/sys/bus/usb/devices/1-2/1-2:0/power:
0

/sys/bus/usb/devices/1-2/1-2:1/bAlternateSetting:
2

/sys/bus/usb/devices/1-2/1-2:1/bInterfaceClass:
ff

/sys/bus/usb/devices/1-2/1-2:1/bInterfaceProtocol:
00

/sys/bus/usb/devices/1-2/1-2:1/bInterfaceSubClass:
00

/sys/bus/usb/devices/1-2/1-2:1/name:
usb-00:04.2-2 interface 1

/sys/bus/usb/devices/1-2/1-2:1/power:
0

/sys/bus/usb/devices/1-2/1-2:2/bAlternateSetting:
0

/sys/bus/usb/devices/1-2/1-2:2/bInterfaceClass:
ff

/sys/bus/usb/devices/1-2/1-2:2/bInterfaceProtocol:
00

/sys/bus/usb/devices/1-2/1-2:2/bInterfaceSubClass:
00

/sys/bus/usb/devices/1-2/1-2:2/name:
usb-00:04.2-2 interface 2

/sys/bus/usb/devices/1-2/1-2:2/power:
0

/sys/bus/usb/devices/1-2/bcdDevice:
0000

/sys/bus/usb/devices/1-2/bConfigurationValue:
1

/sys/bus/usb/devices/1-2/bDeviceClass:
ff

/sys/bus/usb/devices/1-2/bDeviceProtocol:
00

/sys/bus/usb/devices/1-2/bDeviceSubClass:
00

/sys/bus/usb/devices/1-2/bmAttributes:
80

/sys/bus/usb/devices/1-2/bNumInterfaces:
3

/sys/bus/usb/devices/1-2/idProduct:
4061

/sys/bus/usb/devices/1-2/idVendor:
06b9

/sys/bus/usb/devices/1-2/manufacturer:
ALCATEL

/sys/bus/usb/devices/1-2/MaxPower:
250mA

/sys/bus/usb/devices/1-2/name:
Speed Touch USB (ALCATEL)

/sys/bus/usb/devices/1-2/power:
0

/sys/bus/usb/devices/1-2/product:
Speed Touch USB

/sys/bus/usb/devices/1-2/speed:
12


Attachments:
(No filename) (14.30 kB)
(No filename) (189.00 B)
Download all attachments

2002-11-06 18:28:17

by Greg KH

[permalink] [raw]
Subject: Re: USB broken in 2.5.4[56]

On Wed, Nov 06, 2002 at 02:20:23PM +0100, Luca Barbieri wrote:
> In 2.5.4[56] USB has the following problems:
> - Kernel and lsusb unable to get strings (empty in driverfs and lsusb
> gets EPIPE from usbdevfs)
> - bAlternateSetting == 0 on interface 1 of my SpeedTouch USB (this
> prevents loading the firmware to it)
>
> Reverting all the USB changes in 2.5.45 fixes the problems.

_All_ the changes? Hm, that was a lot :(

Anyway, which USB drivers are you using? That might help us narrow this
down a bit.

thanks,

greg k-h

2002-11-07 20:37:14

by Luca Barbieri

[permalink] [raw]
Subject: Re: USB broken in 2.5.4[56]

> Anyway, which USB drivers are you using? That might help us narrow this
> down a bit.

speedtouch 8932 3
hid 39652 0 (unused)
uhci-hcd 27900 0 (unused)
usbcore 88372 2 [speedtouch hid uhci-hcd]

Anyway the problems are obviously either in the USB core or in the uhci
driver.


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2002-11-08 07:41:14

by Greg KH

[permalink] [raw]
Subject: Re: USB broken in 2.5.4[56]

On Thu, Nov 07, 2002 at 09:43:17PM +0100, Luca Barbieri wrote:
> > Anyway, which USB drivers are you using? That might help us narrow this
> > down a bit.
>
> speedtouch 8932 3

Oops, I don't think I fixed up that driver based on the other changes
that happened in the USB core. I'll try to find some time to look at
it, but can't guarantee anything...

thanks,

greg k-h

2002-11-08 07:47:49

by Greg KH

[permalink] [raw]
Subject: Re: USB broken in 2.5.4[56]

On Thu, Nov 07, 2002 at 11:43:34PM -0800, Greg KH wrote:
> On Thu, Nov 07, 2002 at 09:43:17PM +0100, Luca Barbieri wrote:
> > > Anyway, which USB drivers are you using? That might help us narrow this
> > > down a bit.
> >
> > speedtouch 8932 3
>
> Oops, I don't think I fixed up that driver based on the other changes
> that happened in the USB core. I'll try to find some time to look at
> it, but can't guarantee anything...

Hm, no, I take that back, I did fix up the obvious compile time fixes
for that driver. I wonder what broke it...

What's the symptoms of it not working?

thanks,

greg k-h

2002-11-08 16:01:34

by Kees Bakker

[permalink] [raw]
Subject: Re: USB broken in 2.5.4[56]

>>>>> "Luca" == Luca Barbieri <[email protected]> writes:

>> Anyway, which USB drivers are you using? That might help us narrow this
>> down a bit.

Luca> speedtouch 8932 3
Luca> hid 39652 0 (unused)
Luca> uhci-hcd 27900 0 (unused)
Luca> usbcore 88372 2 [speedtouch hid uhci-hcd]

Luca> Anyway the problems are obviously either in the USB core or in the uhci
Luca> driver.

For what it's worth. On my system I have problems with 2.5.4[56]. And they
seem to be related to USB. When I boot with nousb it boots OK. But without
this option I get OOPSes and panics everywhere. The system is happy with
2.5.44.

Some of these OOPSes happen during shutdown in device_shutdown. But panics
during boot are happening too. And then all I see on my screen is that the
call-trace in is reap_timer_fnc somewhere.

I've tried switching on USB_DEBUG, but that didn't help much. Neither the
DEBUG=1 in drivers/base/power.c.

My machine has a MSI K7T266 Pro motherboard with Athlon 1.3GHz. It has a
VIA chipset, 82C686b+VT8233. Harddisk: IBM Deskstar 60GXP, 40Gb.

I'm using CONFIG_USB_UHCI_HCD_ALT=y

Kees