On Tue, Feb 08, 2005 at 05:15:49PM +0100, Aur?lien Jarno wrote:
> Brian Ristuccia wrote:
> >On Tue, Feb 08, 2005 at 10:13:51AM +0100, Aurelien Jarno wrote:
> >
> >>Do you get also the problem with 'lsusb -v' (for the usbutils packages).
> >>As it cycle through all possible values of the libusb structures, it
> >>think it is a good test.
> >>
> >
> >
> >lsusb -v seems to work OK. But it's not linked against the libusb shared
> >library on this system.
> Which system are you using? lsusb is linked to libusb in both sarge and sid.
> 

After some testing, I determined that the combination of usbutils (0.70-1)
and libusb-0.1-4 (0.1.9-1) on arm results in bogus zero values for
bNumInterfaces and the associated *interface pointer winds up null. This
same code works fine on x86. Both gphoto2 and ptpcam assume that
bNumInterfaces is >=1 and dev->config->interface always points at a valid
usb_interface structure, so that would explain their crashing in this case.

The lsusb in usbutils (0.9-1) on arm returns the correct values. See
battached for a side-by-side diff of output from usbutils lsusb (0.9-1) and
usbutils lsusb (0.70-1).

Hope this helps. 

-- 
Brian Ristuccia
[EMAIL PROTECTED]
Bus 001 Device 001: ID 0000:0000 Virtual Hub                  | Bus 001 Device 
001: ID 0000:0000  
Device Descriptor:                                              Device 
Descriptor:
  bLength                18                                       bLength       
         18
  bDescriptorType         1                                       
bDescriptorType         1
  bcdUSB               1.10                                       bcdUSB        
       1.10
  bDeviceClass            9 Hub                                   bDeviceClass  
          9 Hub
  bDeviceSubClass         0                                   |   
bDeviceSubClass         0 Unused
  bDeviceProtocol         0                                       
bDeviceProtocol         0 
  bMaxPacketSize0         8                                       
bMaxPacketSize0         8
  idVendor           0x0000 Virtual                           |   idVendor      
     0x0000 
  idProduct          0x0000 Hub                               |   idProduct     
     0x0000 
  bcdDevice            0.00                                       bcdDevice     
       0.00
  iManufacturer           0                                       iManufacturer 
          0 
  iProduct                2 USB OHCI Root Hub                     iProduct      
          2 USB OHCI Root Hub
  iSerial                 1 e0020000                              iSerial       
          1 e0020000
  bNumConfigurations      1                                       
bNumConfigurations      1
  Configuration Descriptor:                                       Configuration 
Descriptor:
    bLength                 9                                 |     bLength     
            0
    bDescriptorType         2                                 |     
bDescriptorType         0
    wTotalLength           25                                 |     
wTotalLength            0
    bNumInterfaces          1                                 |     
bNumInterfaces          0
    bConfigurationValue     1                                 |     
bConfigurationValue     0
    iConfiguration          0                                 |     
iConfiguration          0 
    bmAttributes         0x40                                 |     
bmAttributes         0x00
      Self Powered                                            <
    MaxPower                0mA                                     MaxPower    
            0mA
    Interface Descriptor:                                     | Hub Descriptor:
      bLength                 9                               |   bLength       
        9
      bDescriptorType         4                               |   
bDescriptorType      41
      bInterfaceNumber        0                               |   nNbrPorts     
        3
      bAlternateSetting       0                               |   
wHubCharacteristic 0x0010
      bNumEndpoints           1                               |     Ganged 
power switching
      bInterfaceClass         9 Hub                           |     No 
overcurrent protection
      bInterfaceSubClass      0                               |   
bPwrOn2PwrGood        2 * 2 milli seconds
      bInterfaceProtocol      0                               |   
bHubContrCurrent      0 milli Ampere
      iInterface              0                               |   
DeviceRemovable    0x7f
      Endpoint Descriptor:                                    |   
PortPwrCtrlMask    0x30 
        bLength                 7                             |  Hub Port 
Status:
        bDescriptorType         5                             |    Port 1: 
0000.0303 lowspeed power enable connect
        bEndpointAddress     0x81  EP 1 IN                    |    Port 2: 
0000.0100 power
        bmAttributes            3                             |    Port 3: 
0000.0103 power enable connect
          Transfer Type            Interrupt                  <
          Synch Type               none                       <
        wMaxPacketSize          2                             <
        bInterval             255                             <
  Language IDs: (length=4)                                    <
     0000 (null)((null))                                      <

Bus 001 Device 006: ID 045e:0048 Microsoft Corp.                Bus 001 Device 
006: ID 045e:0048 Microsoft Corp. 
Device Descriptor:                                              Device 
Descriptor:
  bLength                18                                       bLength       
         18
  bDescriptorType         1                                       
bDescriptorType         1
  bcdUSB               2.00                                       bcdUSB        
       2.00
  bDeviceClass            0 Interface                         |   bDeviceClass  
          0 (Defined at Interface level)
  bDeviceSubClass         0                                       
bDeviceSubClass         0 
  bDeviceProtocol         0                                       
bDeviceProtocol         0 
  bMaxPacketSize0         8                                       
bMaxPacketSize0         8
  idVendor           0x045e Microsoft Corp.                       idVendor      
     0x045e Microsoft Corp.
  idProduct          0x0048                                       idProduct     
     0x0048 
  bcdDevice            1.24                                       bcdDevice     
       1.24
  iManufacturer           0                                       iManufacturer 
          0 
  iProduct                1                                   |   iProduct      
          1 Microsoft® Office Keyboard
  iSerial                 0                                       iSerial       
          0 
  bNumConfigurations      1                                       
bNumConfigurations      1
  Configuration Descriptor:                                       Configuration 
Descriptor:
    bLength                 9                                 |     bLength     
            0
    bDescriptorType         2                                 |     
bDescriptorType         0
    wTotalLength           59                                 |     
wTotalLength            0
    bNumInterfaces          2                                 |     
bNumInterfaces          0
    bConfigurationValue     1                                 |     
bConfigurationValue     0
    iConfiguration          1                                 |     
iConfiguration          0 
    bmAttributes         0xa0                                 |     
bmAttributes         0x00
      Remote Wakeup                                           |     MaxPower    
            0mA
    MaxPower              100mA                               <
    Interface Descriptor:                                     <
      bLength                 9                               <
      bDescriptorType         4                               <
      bInterfaceNumber        0                               <
      bAlternateSetting       0                               <
      bNumEndpoints           1                               <
      bInterfaceClass         3 Human Interface Devices       <
      bInterfaceSubClass      1 Boot Interface Subclass       <
      bInterfaceProtocol      1 Keyboard                      <
      iInterface              1                               <
        HID Device Descriptor:                                <
          bLength                 9                           <
          bDescriptorType        33                           <
          bcdHID               1.10                           <
          bCountryCode            0                           <
          bNumDescriptors         1                           <
          bDescriptorType        34 Report                    <
          wDescriptorLength      60                           <
cannot get report descriptor                                  <
      Endpoint Descriptor:                                    <
        bLength                 7                             <
        bDescriptorType         5                             <
        bEndpointAddress     0x81  EP 1 IN                    <
        bmAttributes            3                             <
          Transfer Type            Interrupt                  <
          Synch Type               none                       <
        wMaxPacketSize          8                             <
        bInterval              10                             <
    Interface Descriptor:                                     <
      bLength                 9                               <
      bDescriptorType         4                               <
      bInterfaceNumber        1                               <
      bAlternateSetting       0                               <
      bNumEndpoints           1                               <
      bInterfaceClass         3 Human Interface Devices       <
      bInterfaceSubClass      0 No Subclass                   <
      bInterfaceProtocol      0 None                          <
      iInterface              1                               <
        HID Device Descriptor:                                <
          bLength                 9                           <
          bDescriptorType        33                           <
          bcdHID               1.10                           <
          bCountryCode            0                           <
          bNumDescriptors         1                           <
          bDescriptorType        34 Report                    <
          wDescriptorLength     157                           <
cannot get report descriptor                                  <
      Endpoint Descriptor:                                    <
        bLength                 7                             <
        bDescriptorType         5                             <
        bEndpointAddress     0x82  EP 2 IN                    <
        bmAttributes            3                             <
          Transfer Type            Interrupt                  <
          Synch Type               none                       <
        wMaxPacketSize          8                             <
        bInterval              10                             <
  Language IDs: (length=4)                                    <
     0409 English(US)                                         <

Bus 001 Device 005: ID 04b0:0406 Nikon Corp.                    Bus 001 Device 
005: ID 04b0:0406 Nikon Corp. 
Device Descriptor:                                              Device 
Descriptor:
  bLength                18                                       bLength       
         18
  bDescriptorType         1                                       
bDescriptorType         1
  bcdUSB               1.10                                       bcdUSB        
       1.10
  bDeviceClass            0 Interface                         |   bDeviceClass  
          0 (Defined at Interface level)
  bDeviceSubClass         0                                       
bDeviceSubClass         0 
  bDeviceProtocol         0                                       
bDeviceProtocol         0 
  bMaxPacketSize0         8                                       
bMaxPacketSize0         8
  idVendor           0x04b0 Nikon Corp.                           idVendor      
     0x04b0 Nikon Corp.
  idProduct          0x0406                                       idProduct     
     0x0406 
  bcdDevice            1.00                                       bcdDevice     
       1.00
  iManufacturer           1                                   |   iManufacturer 
          1 NIKON
  iProduct                2                                   |   iProduct      
          2 NIKON DSC D70
  iSerial                 0                                       iSerial       
          0 
  bNumConfigurations      1                                       
bNumConfigurations      1
  Configuration Descriptor:                                       Configuration 
Descriptor:
    bLength                 9                                 |     bLength     
            0
    bDescriptorType         2                                 |     
bDescriptorType         0
    wTotalLength           39                                 |     
wTotalLength            0
    bNumInterfaces          1                                 |     
bNumInterfaces          0
    bConfigurationValue     1                                 |     
bConfigurationValue     0
    iConfiguration          0                                 |     
iConfiguration          0 
    bmAttributes         0xc0                                 |     
bmAttributes         0x00
      Self Powered                                            <
    MaxPower                0mA                                     MaxPower    
            0mA
    Interface Descriptor:                                     <
      bLength                 9                               <
      bDescriptorType         4                               <
      bInterfaceNumber        0                               <
      bAlternateSetting       0                               <
      bNumEndpoints           3                               <
      bInterfaceClass         6                               <
      bInterfaceSubClass      1                               <
      bInterfaceProtocol      1                               <
      iInterface              0                               <
      Endpoint Descriptor:                                    <
        bLength                 7                             <
        bDescriptorType         5                             <
        bEndpointAddress     0x01  EP 1 OUT                   <
        bmAttributes            2                             <
          Transfer Type            Bulk                       <
          Synch Type               none                       <
        wMaxPacketSize         64                             <
        bInterval               0                             <
      Endpoint Descriptor:                                    <
        bLength                 7                             <
        bDescriptorType         5                             <
        bEndpointAddress     0x82  EP 2 IN                    <
        bmAttributes            2                             <
          Transfer Type            Bulk                       <
          Synch Type               none                       <
        wMaxPacketSize         64                             <
        bInterval               0                             <
      Endpoint Descriptor:                                    <
        bLength                 7                             <
        bDescriptorType         5                             <
        bEndpointAddress     0x83  EP 3 IN                    <
        bmAttributes            3                             <
          Transfer Type            Interrupt                  <
          Synch Type               none                       <
        wMaxPacketSize          8                             <
        bInterval              10                             <
  Language IDs: (length=4)                                    <
     0409 English(US)                                         <

Reply via email to