Ok I managed to read

array('B', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

Thats is great, could you explain me what the 3 EndPoint are doing?  They
are IN so I need to use the write method, so probably the interrupt is
going to turn on the lights and then I can read with the first EndPoint.

If I decompile the DLL I should be ok to re-create a small library? :)


On Thu, Dec 26, 2013 at 6:56 PM, Wander Lairson Costa <
wander.lair...@gmail.com> wrote:

> 2013/12/26 Christian Bianchini <max...@gmail.com>:
> > Hello,
> > I am trying to access on my OCR device that reads from invoice the number
> > and fill the input text box in the webpage.
> > I have the DLL for Windows and the file for Mac osx but I can't really
> turn
> > on the device.
> >
> > This is the lsusb:
> >
> > $  lsusb -vv -d0852:0005
> >
> > Bus 001 Device 010: ID 0852:0005 CSEM
> > Device Descriptor:
> >   bLength                18
> >   bDescriptorType         1
> >   bcdUSB               1.00
> >   bDeviceClass          255 Vendor Specific Class
> >   bDeviceSubClass         0
> >   bDeviceProtocol       255
> >   bMaxPacketSize0        64
> >   idVendor           0x0852 CSEM
> >   idProduct          0x0005
> >   bcdDevice            0.01
> >   iManufacturer           1 Xemtec SA
> >   iProduct                2 Xemscan
> >   iSerial                 0
> >   bNumConfigurations      1
> >   Configuration Descriptor:
> >     bLength                 9
> >     bDescriptorType         2
> >     wTotalLength           55
> >     bNumInterfaces          1
> >     bConfigurationValue     1
> >     iConfiguration          0
> >     bmAttributes         0x80
> >       (Bus Powered)
> >     MaxPower              200mA
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        0
> >       bAlternateSetting       0
> >       bNumEndpoints           0
> >       bInterfaceClass       255 Vendor Specific Class
> >       bInterfaceSubClass      0
> >       bInterfaceProtocol      0
> >       iInterface              0
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        0
> >       bAlternateSetting       1
> >       bNumEndpoints           4
> >       bInterfaceClass       255 Vendor Specific Class
> >       bInterfaceSubClass      0
> >       bInterfaceProtocol      0
> >       iInterface              0
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x01  EP 1 OUT
> >         bmAttributes            2
> >           Transfer Type            Bulk
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0040  1x 64 bytes
> >         bInterval               0
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x81  EP 1 IN
> >         bmAttributes            2
> >           Transfer Type            Bulk
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0040  1x 64 bytes
> >         bInterval               0
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x82  EP 2 IN
> >         bmAttributes            3
> >           Transfer Type            Interrupt
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0005  1x 5 bytes
> >         bInterval              10
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x88  EP 8 IN
> >         bmAttributes            1
> >           Transfer Type            Isochronous
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0284  1x 644 bytes
> >         bInterval               1
> > Device Status:     0x0000
> >   (Bus Powered)
> >
> >
> > I am trying to get it works under linux because there is nothing ready
> and I
> > would like to avoid to install windows.
> >
> > First thing that I found is that the Device status changes when you plug
> the
> > first time and then after a few seconds it changes to 0x000.
> >
> > This is the status when you plug it in:
> > Device Status:     0x0002
> >   (Bus Powered)
> >   Remote Wakeup Enabled
> >
> > It's flashing for  a few second and then off, on windows it turns on
> when is
> > reading the numbers.
> >
> > So far I have made this:
> >
> > dev = usb.core.find(idVendor=0x0852, idProduct=0x0005)
> > try:
> >         dev.set_configuration()
> >
> > except usb.core.USBError as e:
> >        sys.exit("Could not set configuration")
> >
> > endpointWrite = dev[0][(0,1)][1]
> > endpointRead  = dev[0][(0,1)][0]
> >
> > print usb.control.get_status(dev)
> >
> > print usb.legacy.DeviceHandle(dev).interruptRead(0x82,0x0005)
> >
>
> First of all, you don't really want to mix up the new API with the
> legacy interface. Just forget about the legacy module, it is there for
> backward compatibility with PyUSB 0.4.
>
> >
> > But the output is:
> >
> > 0
> > Traceback (most recent call last):
> >   File "test.py", line 20, in <module>
> >     print usb.legacy.DeviceHandle(dev).interruptRead(0x82,0x0005)
> >   File "/usr/local/lib/python2.7/dist-packages/usb/legacy.py", line 182,
> in
> > interruptRead
> >     return self.dev.read(endpoint, size, self.__claimed_interface,
> timeout)
> >   File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 662, in
> > read
> >     fn = fn_map[self._ctx.get_endpoint_type(self, endpoint, intf)]
> >   File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 180, in
> > get_endpoint_type
> >     etype = util.endpoint_type(e.bmAttributes)
> > AttributeError: 'NoneType' object has no attribute 'bmAttributes'
> >
> >
> > I tried to use read, interruptWrite, etc.. but always is giving me this
> > error, it seems that I have turn it on or something else.
> > Can someone help me with get this device working?
> >
>
> Now, you need to set the alternate setting to 1 (as shown by lsusb).
> You may want to give a look at the PyUSB tutorial [1] to learn how to
> use PyUSB functions, as well as the doc strings.
>
> [1] https://github.com/walac/pyusb/blob/master/docs/tutorial.rst
>
> --
> Best Regards,
> Wander Lairson Costa
>
>
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT
> organizations don't have a clear picture of how application performance
> affects their revenue. With AppDynamics, you get 100% visibility into your
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics
> Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
> _______________________________________________
> pyusb-users mailing list
> pyusb-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pyusb-users
>



-- 
---------------------------
Admin TicinoCinema.ch
christian.bianch...@ticinocinema.ch
La tua risorsa ticinese sul cinema

Admin Euservers.net
christian.bianch...@euservers.net
Hosting web
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users

Reply via email to