I am trying to access some class defined descriptors on a USB device I am working with.  I assume that the StandardRequest class should be used to get these descriptors, but I have not been successful.   When I call the getDescriptor() method I receive a "javax.usb.UsbStallException: Error submitting IRP : UsbStallException"  Here is my code:

    try {
        UsbDevice usbDevice = connection.getDevice();
        byte [] buf = new byte[1000];
        StandardRequest.getDescriptor(usbDevice, (byte)0x20, (byte)0x00, (short)0x00, buf);
    } catch (UsbException e) {
        e.printStackTrace();
    }

One descriptor I am trying to get is a PHDC Class Function Descriptor:

    bLength         = 0x04
    bDescriptorType = 0x20
    bPHDCDataCode   = 0x02
    bmCapability    = 0x00

I can see that the descriptors are there using lsusb:

    r...@localhost:/opt/jvm/esf> lsusb -v -s 2:2
    Bus 002 Device 002: ID 1050:0030 Yubico.com
    Device Descriptor:
      ...
      ...
      Configuration Descriptor:
        ...
        ...
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           2
          bInterfaceClass        15
          bInterfaceSubClass      0
          bInterfaceProtocol      0
          iInterface              0
          ** UNRECOGNIZED:  04 20 02 00
          ** UNRECOGNIZED:  0a 30 00 03 07 10 0f 10 48 10
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x81  EP 1 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0008  1x 8 bytes
            bInterval              10
            ** UNRECOGNIZED:  04 21 01 08
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x02  EP 2 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0008  1x 8 bytes
            bInterval              10
            ** UNRECOGNIZED:  04 21 01 08


Any thoughts?

Regards,
Chad Kienle




 

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
javax-usb-devel mailing list
javax-usb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to