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

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to