Archived:Development: USB based video drivers

From LinuxTVWiki
Revision as of 16:24, 10 March 2007 by MarkusRechberger (talk | contribs) (→‎USB replay)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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)
ADS VideoMPX USB
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 mrechberger@gmail.com */
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

Requirements

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

Usbview.png


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

http://benoit.papillault.free.fr/usbsnoop/

http://benoit.papillault.free.fr/stats/get.php?location=../usbsnoop/sniff-bin-1.8.zip

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

  • UPDATE*

there's a new version available for Vista:

Set up usbsnoop and start sniffing

Attach the sniffer to your device and start logging:

Sniffer06.png

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.

I wrote a parser for converting the usbsnoop logfile to a human readable format. You can find it in my repository (http://linuxtv.org/hg/~mrechberger/v4l-dvb); the file is called v4l_experimental/em2880/parser.pl - the output of that file can be used with usbreplay.

Log2Bin

There's a small script in my repository (http://linuxtv.org/hg/~mrechberger/v4l-dvb) called v4l_experimental/em2880/log2bin.pl. 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 log2bin.pl < 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 log2bin.pl < 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

http://mcentral.de/wiki/index.php/Usbreplay