Archived:Development: USB based video drivers: Difference between revisions
(No difference)
|
Revision as of 00:13, 11 February 2007
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 | Driver is in development, quality will be good |
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 | ? (0db0:5581 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 |
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
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:
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 ta 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 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 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 is a small tool for replaying (reverse engineering) sniffed and prepared logfiles to a USB device. It's a simple to use ncurses frontend which shows up all prepared usb messages and lets you select whatever you want to replay. Note the source isn't clean, didn't spend too much time uppon this yet I'll do this by time when I'm bored unless you like to fix up the not freed buffers for me :)
Copyright (C) 2006 Markus Rechberger <mrechberger@gmail.com>
Installation:
hg clone http://linuxtv.org/hg/~mrechberger/v4l-dvb cd v4l_experimental/em2880 # please also have a look at README there gcc usbreplay.c -o usbreplay -lusb -lmenu
- sniff a usbdevice in windows with usbsnoop
- parse the logfile with parser.pl (perl parser.pl < usbsnoop.log > analyzed.log)
- run usbreplay as root or privileged user who has access to usbfs (usbreplay analyzed.log)
- select your desired usb device
- start replaying usb data to the usb device, just select a line and press return, or press space this replays the current line and jumps to the next one
Link | Device | Contact |
Markus Rechberger/irc mrec