Hello everybody, I'm currently trying to write a rudimentary driver for the NaturalPoint Optitrack cameras (they directly output thresholded 1-bit video at 120 FPS, are infrared-only and intended for tracking applications).
I have obtained some traces under WinXP with SnoopyPro and took the
usb-skeleton.c as a template. Now, to initialize the device, the Windows
driver sends several bulk messages to endpoint 0x02, which I tried to
replicate in the Linux driver. However, this leads to the following
result:
17:34:20 brick uhci_hcd 0000:00:1d.0: host system error, PCI problems?
17:34:20 brick uhci_hcd 0000:00:1d.0: host controller halted, very bad!
The offending piece of code is this:
char cmd_init[] = { 0x14, 0x01 };
...
result = usb_bulk_msg(
dev->udev,
usb_sndbulkpipe( dev->udev, dev->bulk_out_endpointAddr ),
&cmd_init, sizeof(cmd_init), &bytes_sent, HZ
);
Afterwards, result is -110 (ETIMEOUT).
Is this an error on my part? (Presumably yes.) But where's the problem?
I would be grateful for some hints..
Thanks, Yours, Florian
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
