From: Alan S. <st...@ro...> - 2008-10-12 16:12:32
|
On Sat, 11 Oct 2008, Kevin Pinte wrote: > Ok, thanks, > I'm just a little clueless about why it fails. > > when doing > > unsigned char buf[255] = {05 ff 69 89 01} > (the 85 was a mistake indeed, but it makes no difference) > > usb_control_msg(dev, 0x40, 0, 0, 0, buf, 5, 10000) > > just gives me: > > Oct 11 16:24:37 quinn kernel: usb 2-1: usbdev_ioctl: CONNECTINFO > Oct 11 16:24:37 quinn kernel: usb 2-1: usbdev_ioctl: IOCTL > Oct 11 16:24:37 quinn kernel: usb 2-1: usbdev_ioctl: CONTROL > Oct 11 16:24:37 quinn kernel: usb 2-1: control write: bRequest=00 > bRrequestType=40 wValue=0000 wIndex=0000 wLength=0005 > Oct 11 16:24:37 quinn kernel: usb 2-1: control write: data: 05 ff 69 > 89 01 > > returning 5 and leaving the buf unchanged Isn't this exactly what you want? It is virtually the same as the start of the log from your VMWare Windows session. > I also tried 0x81 (which I think should be the right endpoint) > that gives me: > > Oct 11 16:32:49 quinn kernel: usb 2-1: usbdev_ioctl: CONNECTINFO > Oct 11 16:32:49 quinn kernel: usb 2-1: usbdev_ioctl: IOCTL > Oct 11 16:32:49 quinn kernel: usb 2-1: usbdev_ioctl: CONTROL > Oct 11 16:32:49 quinn kernel: usb 2-1: control write: bRequest=00 > bRrequestType=40 wValue=0000 wIndex=0000 wLength=0005 > Oct 11 16:32:49 quinn kernel: usb 2-1: control write: data: 05 ff 69 > 89 01 > Oct 11 16:34:22 quinn kernel: usb 2-1: usbdev_ioctl: CONNECTINFO > Oct 11 16:34:22 quinn kernel: usb 2-1: usbdev_ioctl: IOCTL > Oct 11 16:34:22 quinn kernel: usb 2-1: usbdev_ioctl: CONTROL > Oct 11 16:34:22 quinn kernel: usb 2-1: control read: bRequest=00 > bRrequestType=81 wValue=0000 wIndex=0000 wLength=0005 > Oct 11 16:34:22 quinn kernel: usb 2-1: control read: data 00 00 > > it seems now the device actually responded something, but nowhere near > the windows response. > > the actual response should be 06 00 69 00 f6 fa Now I'm getting very confused. What are you trying to accomplish? As near as I can tell, you should be trying to duplicate the information from the Windows session. Following the part that you have already succeeded in duplicating, the log goes on like this: Oct 11 12:07:15 lenna kernel: usb 2-10: usbdev_ioctl: SUBMITURB Oct 11 12:07:15 lenna kernel: usb 2-10: control urb: bRequest=00 bRrequestType=c0 wValue=0000 wIndex=0000 wLength=1000 Oct 11 12:07:15 lenna kernel: usb 2-10: direction=IN Oct 11 12:07:15 lenna kernel: usb 2-10: userurb=08780054 Oct 11 12:07:15 lenna kernel: usb 2-10: transfer_buffer_length=4096 Oct 11 12:07:15 lenna kernel: usb 2-10: actual_length=0 Oct 11 12:07:15 lenna kernel: usb 2-10: data: 47 50 00 00 be 01 00 00 ea 01 00 00 3d 10 00 00 06 5d 00 00 ab 3a 07 08 48 a1 00 00 24 00 00 00 b0 76 e7 49 bb 42 71 bf 49 a1 00 00 56 00 00 00 03 37 0e 84 9e ba 3f 3b e1 a1 00 00 62 00 00 [...] Isn't this what you want to do? If it is, why are you messing around with setting bRequestType to 0x81? > I'm sorry if I'm trying strange things, but I can't seem to get it to > work the way I think it should. So I'm just trying everything. That's a mistake. You shouldn't try things at random. Instead you should go to the effort of figuring out what the logs really mean and understanding what needs to be done. Alan Stern |