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
=========================
<boedy.b...@gmail.com> <http://goo.gl/T5NDnD> <http://goo.gl/4xmCrj>
<http://goo.gl/f2Dj7Q> <http://goo.gl/TlJuEd>
<http://goo.gl/d6J1aE> <http://goo.gl/8ezaYx>
=========================
*Please consider the environment *
*before printing this email*
On Tue, Feb 11, 2014 at 10:11 PM, Wander Lairson Costa <
wander.lair...@gmail.com> wrote:
> 2014-02-11 9:09 GMT-02:00 Setia Budi <boedy.b...@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.lair...@gmail.com> wrote:
> >>
> >> 2014-02-11 3:56 GMT-02:00 Setia Budi <boedy.b...@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
>
------------------------------------------------------------------------------
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