Ooops my mail was too big, I pasted the log files on pastebin instead.
Yes I did both sniffing, from linux with usbmon and from windows itself with
usbsnoop.
What I didn't do is starting sniffing when I plug the device, I always
started sniffing before pressing the "download data" button under windows
when the device was already connected.
This first log file is from windows running usbsnoop when I plug the device.
I don't know if this traffic is generated from windows querying the device
or from the device driver initialising the device.
http://pastebin.com/f43a0c4a0
The second log file, always from windows, is when I press the "download
data" button from the device software, so nothing happened between this log
and the previous one on the usb port
http://pastebin.com/f7acda94a
Hope you can help me, I'm really stucked at this point
Thanks,
Romain
On Fri, Jan 22, 2010 at 2:43 PM, Romain Aviolat <r.avio...@gmail.com> wrote:
> 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...@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.avio...@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.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-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