USB broken in 2.5.4[56]

From: Luca Barbieri (ldb@ldb.ods.org)
Date: Wed Nov 06 2002 - 08:20:23 EST


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



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 07 2002 - 22:00:43 EST