This is the output for lsusb -v -d 24e9:0824

Bus 002 Device 007: ID 24e9:0824  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol       255 
  bMaxPacketSize0         8
  idVendor           0x24e9 
  idProduct          0x0824 
  bcdDevice            0.01
  iManufacturer           1 MICROELECTRONICS TECHNOLOGY INC.
  iProduct                2 MTI UHF RFID PRODUCT
  iSerial                 3 1326U0002
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      98
          Report Descriptor: (length is 98)
            Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
                            (null)
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Report ID, data= [ 0x43 ] 67
            Item(Global): Report Count, data= [ 0x0f ] 15
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Output, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report ID, data= [ 0x52 ] 82
            Item(Global): Report Count, data= [ 0x0f ] 15
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report ID, data= [ 0x42 ] 66
            Item(Global): Report Count, data= [ 0x17 ] 23
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report ID, data= [ 0x41 ] 65
            Item(Global): Report Count, data= [ 0x3f ] 63
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report ID, data= [ 0x49 ] 73
            Item(Global): Report Count, data= [ 0x3f ] 63
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report ID, data= [ 0x45 ] 69
            Item(Global): Report Count, data= [ 0x17 ] 23
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0001
  Self Powered


Budi

=========================
        


=========================
Please consider the environment 
before printing this email


On Tue, Feb 11, 2014 at 10:11 PM, Wander Lairson Costa <wander.lairson@gmail.com> wrote:
2014-02-11 9:09 GMT-02:00 Setia Budi <boedy.bios@gmail.com>:
>
> it happens on read operation.
>

Could you please post the output of the following command?
lsusb -v -d 24e9:0824


>
> On Tue, Feb 11, 2014 at 10:06 PM, Wander Lairson Costa <wander.lairson@gmail.com> wrote:
>>
>> 2014-02-11 3:56 GMT-02:00 Setia Budi <boedy.bios@gmail.com>:
>> >
>> > Hi fellows,
>> > I will try to give further information related to my problem.
>> >
>> > I am facing difficulties in order to send USB commands to an RFID reader.
>> > This is the command reference of the device: https://github.com/mti-rfid/RFID_Explorer
>> >
>> > I am working with the MTI RU-824 model.
>> >
>> > The manufacturer of the device only provide a driver for Windows (using .Net), but we need to run the device on Linux. That's why I need to write few lines of code in Python as a new "driver".
>> >
>> > I am using PyUSB for accessing the device, and this is few lines of my code:
>> >
>> > ============================================================================
>> >
>> > import usb.core
>> > import usb.util
>> > import sys
>> >
>> > VENDOR_ID = 0x24e9
>> > PRODUCT_ID = 0x0824
>> >
>> > device = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID)
>> >
>> > if device is None:
>> >     sys.exit("Could not find Id System Barcode Reader.")
>> > else:
>> >     print 'Device detected'
>> >
>> > device.set_configuration()
>> >
>> > cfg = device.get_active_configuration()
>> > interface_number = cfg[(0, 0)].bInterfaceNumber
>> > alternate_setting = usb.control.get_interface(device, interface_number)
>> > usb_interface = usb.util.find_descriptor(
>> >     cfg, bInterfaceNumber=interface_number,
>> >     bAlternateSetting=alternate_setting
>> > )
>> >
>> > endpoint_out = usb.util.find_descriptor(
>> >     usb_interface,
>> >     # match the first OUT endpoint
>> >     custom_match=lambda e: usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_OUT
>> > )
>> >
>> > endpoint_in = usb.util.find_descriptor(
>> >     usb_interface,
>> >     # match the first IN endpoint
>> >     custom_match=lambda e: usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_IN
>> > )
>> >
>> > endpoint_out.write('0x01')
>> > print endpoint_in.read(len('0x01'), 1000)
>> >
>> > =============================================================================
>> > My question is on the last 2 lines.
>> > I am using endpoint_out to send a command and endpoint_in to read data from the reader. Am I correct?
>> >
>> > The problem is, when I run the code, there is an error message like this:
>> > usb.core.USBError: [Errno 110] Operation timed out
>> >
>> > Anyone can give a clue?
>>
>> Does this happen on write or read operation?
>>
>>
>> --
>> Best Regards,
>> Wander Lairson Costa
>>
>> ------------------------------------------------------------------------------
>> Android apps run on BlackBerry 10
>> Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
>> Now with support for Jelly Bean, Bluetooth, Mapview and more.
>> Get your Android app in front of a whole new audience.  Start now.
>> http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk
>>
>> _______________________________________________
>> pyusb-users mailing list
>> pyusb-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/pyusb-users
>
>
>
> ------------------------------------------------------------------------------
> Android apps run on BlackBerry 10
> Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
> Now with support for Jelly Bean, Bluetooth, Mapview and more.
> Get your Android app in front of a whole new audience.  Start now.
> http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk
> _______________________________________________
> pyusb-users mailing list
> pyusb-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pyusb-users
>



--
Best Regards,
Wander Lairson Costa

------------------------------------------------------------------------------
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users