Date: Wed, 11 Oct 2000 23:08:22 +0200 (CEST) From: Torbjorn Kristoffersen <sgt@netcom.no> To: hackers@freebsd.org Subject: USB webcam driver Message-ID: <Pine.BSF.4.21.0010112257140.2631-100000@hal.netforce.no>
index | next in thread | raw e-mail
Hi,
I found information from the vendor of my webcamera, it's CPiA based.
I've hacked together a userland driver program that simply
opens an ugen device, verifies that it's the right camera,
and prints vendorId/productNo. Next it attempts to read
from the camera using an reg_read(fd, reg) function (What I want
to read at first is "GetCPIAVersion", some version info).
reg_read() is supposed to get data using the usb_ctl_request structure.
This is how I use it:
struct usb_ctl_request ur;
unsigned char data[1024];
ur.request.bmRequestType = UT_READ_VENDOR_INTERFACE;
ur.request.bRequest = 1; //
// i got these numbers
USETW(ur.request.wValve, 0); // from the vendor's info
USETW(ur.request.wIndex, 0); // about GetCPIAVersion
USETW(ur.request.wLength, 4); //
ur.data = data;
ur.flags = 0;
ur.actlen = 0;
Then attempting an ioctl call with ioctl(fd, USB_DO_REQUEST, &ur)
fails with "Input/output error"...
This is probably simple, but I can't figure out why this happens.
Thanks in advance
Torbjorn Kristoffersen
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0010112257140.2631-100000>
