From: Wander L. <wan...@gm...> - 2010-01-22 10:34:12
|
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.a...@gm...>: > 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.a...@gm...> > 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.aviolat@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-users@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 > Pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users > > |