False positive uipaq probe

Alexander Motin mav at FreeBSD.org
Tue Aug 18 10:54:27 UTC 2009


Hans Petter Selasky wrote:
> On Friday 14 August 2009 22:26:32 Alexander Motin wrote:
>> USB-connected WM6 communicators are able to operate in two main comm
>> modes: serial and RNDIS. That two modes reported with different device
>> IDs. I have noticed that my HTC Prophet WM6 communicator started to
>> behave wrong on recent CURRENT:
>>
>> uipaq0: <HTC Generic RNDIS, class 239/1, rev 2.00/0.00, addr 2> on usbus3
>> device_attach: uipaq0 attach returned 6
>> uipaq0: <HTC Generic RNDIS, class 239/1, rev 2.00/0.00, addr 2> on usbus3
>> device_attach: uipaq0 attach returned 6
>>
>> As soon as uipaq is a kind of serial driver, it should not attach to
>> RNDIS device.
> 
> Can you provide output from "usbconfig -u XXX -a YYY dump_device_desc 
> dump_curr_config_desc" in the Serial and RNDIS case?

Attached.

-- 
Alexander Motin
-------------- next part --------------
ugen0.2: <Generic RNDIS HTC> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x00ef 
  bDeviceSubClass = 0x0001 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0bb4 
  idProduct = 0x0bce 
  bcdDevice = 0x0000 
  iManufacturer = 0x0001  <HTC>
  iProduct = 0x0002  <Generic RNDIS>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001 


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x003e 
    bNumInterfaces = 0x0002 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00c0 
    bMaxPower = 0x0032 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x00ef 
      bInterfaceSubClass = 0x0001 
      bInterfaceProtocol = 0x0001 
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x05, 0x24, 0x01, 0x00, 0x01


      Additional Descriptor

      bLength = 0x04
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x04, 0x24, 0x02, 0x00


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x05, 0x24, 0x02, 0x00, 0x01


     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081 
        bmAttributes = 0x0003 
        wMaxPacketSize = 0x0008 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x000a 
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0082 
        bmAttributes = 0x0002 
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0003 
        bmAttributes = 0x0002 
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 



-------------- next part --------------
ugen0.2: <USB Serial for Prophet HTC> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000 
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0bb4 
  idProduct = 0x0a51 
  bcdDevice = 0x0000 
  iManufacturer = 0x0001  <HTC>
  iProduct = 0x0002  <USB Serial for Prophet>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001 


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0020 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00c0 
    bMaxPower = 0x0032 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x00ff 
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081 
        bmAttributes = 0x0002 
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002 
        bmAttributes = 0x0002 
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 





More information about the freebsd-usb mailing list