There must be some earlier data exchange, either on the out/in endpoint or in the default control endpoint... As you sad you were using a Windows VM for reverse engineering, you can use a USB sw sniffer to check it...
You can use that: http://sourceforge.net/projects/usbsnoop/ Wander 2010/1/22 Romain Aviolat <r.avio...@gmail.com>: > My device has 1 configuration, 1 interface, and two endpoints > > Bus 002 Device 002: ID 10c4:0002 Cygnal Integrated Products, Inc. F32x > USBXpress Device > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 64 > idVendor 0x10c4 Cygnal Integrated Products, Inc. > idProduct 0x0002 F32x USBXpress Device > bcdDevice 1.00 > iManufacturer 1 Silicon Labs > iProduct 2 USB API > iSerial 3 1 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 32 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0x80 > (Bus Powered) > MaxPower 60mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 0 (Defined at Interface level) > bInterfaceSubClass 0 > bInterfaceProtocol 0 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x02 EP 2 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 0x82 EP 2 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 0 > Device Status: 0x0000 > > I'm running ubuntu linux ans PyUSB1.0 you are right. > > > > On Fri, Jan 22, 2010 at 10:05 AM, Romain Aviolat <r.avio...@gmail.com> > wrote: >> >> This can be many things, does your device have more than one >> configuration or interface/alternate setting? And about the endpoint >> address? I see you are using PyUSB 1.0, are you running it under >> Windows? I haven't tested it in Windows yet (actually I did, but there >> are some issues that I did not fix yet, then I could not progress with >> tests). >> >> Wander >> >> 2010/1/21 Romain Aviolat <r.avio...@gm...>: >> > Hi, this my first time in this mailing list, >> > >> > I'm trying to reverse a device that has no support for Linux, I'm new to >> > pyusb and have a problem with my script. >> > >> > I sniffed the USBlog from a virtual machine running windows and my >> > working >> > device here's the log: >> > >> > f53ed800 355026092 S Co:2:002:0 s 40 02 0002 0000 0000 0 >> > f53ed800 355027800 C Co:2:002:0 0 0 >> > f53ed800 355075185 S Bo:2:002:2 -115 3 = 00ffff >> > >> > If the device receive the 0x00, 0xFF, 0xFF sequence, it then send it's >> > data >> > >> > Here's my code (mainly used the examples on the pyusb website) >> > >> > ------------------------ >> > import usb.core >> > import usb.util >> > >> > # find our device >> > dev = usb.core.find(idVendor=0x10c4, idProduct=0x0002) >> > >> > # was it found? >> > if dev is None: >> > raise ValueError('Device not found') >> > >> > # set the active configuration. With no arguments, the first >> > # configuration will be the active one >> > >> > dev.set_configuration() >> > >> > msg = [0x00, 0xFF, 0xFF] >> > sent_bytes = dev.write(0x02, msg, 0, 100) >> > ------------------------ >> > >> > and here's the output >> > >> > f341b700 484297497 S Co:2:003:0 s 00 09 0001 0000 0000 0 >> > f341b700 484299102 C Co:2:003:0 0 0 >> > f341b700 484312389 S Bo:2:003:2 -115 3 = 00ffff >> > >> > The 0x00, 0xFF, 0xFF sequence is correctly sent but the device doesn't >> > send >> > it's data, we can see in the first line of both log that the >> > ControlOutput >> > is not the same, I think this is my problem. >> > >> > I don't know how to change 09 0001 0000 0000 to 40 02 0002 0000 0000 >> > >> > Hope someone can help me, >> > >> > Cheers, Romain >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > Throughout its 18-year history, RSA Conference consistently attracts the >> > world's best and brightest in the field, creating opportunities for >> > Conference >> > attendees to learn about information security's most important issues >> > through >> > interactions with peers, luminaries and emerging and established >> > companies. >> > http://p.sf.net/sfu/rsaconf-dev2dev >> > _______________________________________________ >> > Pyusb-users mailing list >> > pyusb-us...@li... >> > https://lists.sourceforge.net/lists/listinfo/pyusb-users >> > >> > > > > ------------------------------------------------------------------------------ > Throughout its 18-year history, RSA Conference consistently attracts the > world's best and brightest in the field, creating opportunities for > Conference > attendees to learn about information security's most important issues > through > interactions with peers, luminaries and emerging and established companies. > http://p.sf.net/sfu/rsaconf-dev2dev > _______________________________________________ > Pyusb-users mailing list > Pyusb-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pyusb-users > > ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Pyusb-users mailing list Pyusb-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyusb-users