3
votes

When I plug a USB web Camera into a PC via USB, what communications is used? I know each device COULD have its own uniques driver, but it seems as though 99% use a common built in driver now. Where is it spec'd and how do you get a linux embedded device to act like a webcam?

1

1 Answers

4
votes

What you're looking for is the USB Video Class and you can download the specification for this and other standard USB device classes here:

http://www.usb.org/developers/docs/devclass_docs/

The Linux USB gadget framework has code to emulate such a device:

https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uvc.c