Archived:Development: USB based video drivers

From LinuxTVWiki
Jump to navigation Jump to search

USB Video

see Em2820 for more information about how to write an usb video driver

What we need from you to get your USB Device work

Requested Devices

Device Status
Genius TVGO u202 video/audio works (720x288 non interlaced half frames, Audio USB Audio) - no tuning yet
ALI Corp 1.3M Pixel USB 2.0 Bad quality video yet
uli-m9205 Only dvb-t support.
Aiptek USB DualCam
Hauppauge WinTV USB 2.0 -- AUDIO!
SIIG AVTuner Pro with guidance, I might be able to get it working. Note that lsusb reports an em2821 but the em28xx driver doesn't recognize it.
MSI Mega Sky 580 Both versions are supported. (0db0:5580/1 Micro Star International)
Club3D ZapTV-240M ? (10fd:1513 Anubis Electronics, Ltd) Also known as MSI Digi Vox Mini II
ADS DVDxpressDX2 ? (06e1:0709 ADS Technologies, Inc)
Adaptec Gamebridge 1400

SSIG AVTuner Pro -- send an email to the v4l mailinglist or to a v4l developer, we can't help you unless we have any contact data.

Best thing would be to donate(prefered of course for the work :) or send your device to a developer for a few weeks

Working Devices

Device Status
Pinnacle PCTV USB 2.0 supported (Need support for PAL-M) /* please follow the description on this site and mail the parsed output to */
Terratec Cinergy 250 USB 2.0 supported
MSI Vox USB 2.0 supported (res. <= 640x480)
Hauppauge WinTV USB 2.0 supported, included in Linux kernel 2.6.18

Hercules smart TV USB 2.0 supported


this site explains how to get empiatech devices or similar running with linux by applying changes which might only work with your device.

USBView output


We also need the linux usbview output of your device

Get usbsnoop for windows

The latest supported version is 1.8 you'll find it at the bottom of that website not ontop of it

  • WinXP/Win2K

if the link is down, you can also ask in IRC


there's a new version available for Vista:

Set up usbsnoop and start sniffing

Attach the sniffer to your device and start logging:


Finally start up your TV application again, everything will slow down after it's started but it's worth doing it that way hardware analyzers cost a few thousand dollars... please sniff about 200 - 300 MB! it will be easier for analyzing.

More information about the what you can do with that logfile can be found on the USBReplay projectsite


There's a small script in my repository ( called v4l_experimental/em2880/ It is capable of parsing the usbsnoop.log logfile and extract the isoc data and print it in a binary format. I used it for analyzing a sniffed windows usbaudio stream.

Usage (for example): perl < usbsnoop.log | aplay --format=S16_LE --rate=9600

(you might have to change the endpoint address in the perl script to get it work like that):

perl < usbsnoop.log | mplayer -rawvideo on:yuy2:w=352:h=264 -

try various width and height values, you might also have to adjust the format (yuy2 in that case)

USB Replay

USB Replay supports replaying usbsnoop logfiles in linux using usbfs. Currently USB Control Messages and USB Bulk Messages are supported