LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Password
Linux - Kernel This forum is for all discussion relating to the Linux kernel.

Notices

Reply
 
Search this Thread
Old 03-11-2011, 11:59 AM   #1
vivek456
LQ Newbie
 
Registered: Nov 2006
Posts: 1

Rep: Reputation: 0
Hauppauge WinTV USB 2 Stick tuner HowTo


I happen to buy this card and luckily this card is not entirely unsupported. With a bit of work, you can get it to work under linux.

However, I would suggest not to buy this card as it's not entirely supported. When you search on the net, you will find many posts saying that this card is supported. There are actually two variants of this card. Relatively older version, going by the same name uses Empia video capture chip and is supported very well by the driver em28xx. The newer version of this card uses Trident TV Master video capture chip and is supported by the driver tm6000. The development of this driver is still going on and in some cases you might have to get the latest drivers from linux-media.

I outline the steps I took to get this card working, atleast partly. I haven't got all the functionality working. The card works with composite input and I haven't yet tested the cable input or S-Video.

Step 1:

You need to plugin the tuner and need to get the vendor id and product id. Because that's how a USB device is identified and will be used to load the driver. You can get this information from 'lsusb':

Code:
 Bus 001 Device 008: ID 2040:6610 Hauppauge
Step 2:

You would have to identify the driver that uses VID:PID combo. You can google with this information or as a last resort look into the source code. For example, in my case, this is present in tm6000.c:

Code:
{ USB_DEVICE(0x2040, 0x6610), .driver_info = TM6010_BOARD_HAUPPAUGE_900H }
Step 3:

You then modprobe the right driver and check the dmesg for relevant outputs, to ensure that your card and tuner are identified correctly. In my case, it's 'modprobe tm6000' and dmesg output is:

Code:
[  371.704116] usb 1-6: new high speed USB device using ehci_hcd and address 8
[  371.841773] usb 1-6: New USB device found, idVendor=2040, idProduct=6610
[  371.841779] usb 1-6: New USB device strings: Mfr=16, Product=32, serialNumber=64
[  371.841783] usb 1-6: Product: WTV910 
[  371.841787] usb 1-6: SerialNumber: 12502365
[  371.844252] tm6000: alt 0, interface 0, class 255
[  371.844257] tm6000: alt 0, interface 0, class 255
[  371.844260] tm6000: Bulk IN endpoint: 0x82 (max size=512 bytes)
[  371.844264] tm6000: alt 0, interface 0, class 255
[  371.844267] tm6000: alt 1, interface 0, class 255
[  371.844271] tm6000: ISOC IN endpoint: 0x81 (max size=3072 bytes)
[  371.844274] tm6000: alt 1, interface 0, class 255
[  371.844277] tm6000: alt 1, interface 0, class 255
[  371.844281] tm6000: INT IN endpoint: 0x83 (max size=4 bytes)
[  371.844284] tm6000: alt 2, interface 0, class 255
[  371.844287] tm6000: alt 2, interface 0, class 255
[  371.844291] tm6000: alt 2, interface 0, class 255
[  371.844294] tm6000: alt 3, interface 0, class 255
[  371.844297] tm6000: alt 3, interface 0, class 255
[  371.844300] tm6000: alt 3, interface 0, class 255
[  371.844304] tm6000: New video device @ 480 Mbps (2040:6610, ifnum 0)
[  371.844307] tm6000: Found Hauppauge WinTV HVR-900H / WinTV USB2-Stick
[  371.856068] Found tm6010
[  373.336029] tm6000 #0: i2c eeprom 00: 01 59 54 45 12 01 00 02 00 00 00 40 20 20 10 66 .YTE.......@@ .f
[  373.528055] tm6000 #0: i2c eeprom 10: 6f 00 10 20 40 01 02 03 41 00 6e 00 61 00 6c 00  o..@...A.n.a.l.
[  373.720074] tm6000 #0: i2c eeprom 20: ff 00 67 ff ff ff ff ff ff ff ff ff ff ff ff ff ..g.............
[  373.912041] tm6000 #0: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  374.104045] tm6000 #0: i2c eeprom 40: 10 03 57 00 54 00 56 00 39 00 31 00 30 00 20 00 ..W.T.V.9.1.0. .
[  374.296057] tm6000 #0: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  374.488042] tm6000 #0: i2c eeprom 60: 30 ff ff ff 0f ff ff ff ff ff 0a 03 32 00 2e 00 0...........2...
[  374.680075] tm6000 #0: i2c eeprom 70: 3f 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ?...............
[  374.872088] tm6000 #0: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  375.064043] tm6000 #0: i2c eeprom 90: 38 ff ff ff 12 03 31 00 32 00 35 00 30 00 32 00 8.....1.2.5.0.2.
[  375.256171] tm6000 #0: i2c eeprom a0: 33 00 36 00 35 00 00 00 00 00 ff ff ff ff ff ff 3.6.5...........
[  375.448070] tm6000 #0: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  375.640100] tm6000 #0: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  375.832046] tm6000 #0: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  376.024111] tm6000 #0: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  376.216056] tm6000 #0: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
[  376.400061]   ................
[  376.427454] tuner 1-0061: chip found @ 0xc2 (tm6000 #0)
[  376.479954] xc2028 1-0061: creating new instance
[  376.479959] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
[  376.479964] Setting firmware parameters for xc2028
[  376.531640] xc2028 1-0061: Loading 81 firmware images from xc3028L-v36.fw, type: xc2028 firmware, ver 3.6
[  376.780111] xc2028 1-0061: Loading firmware for type=BASE (1), id 0000000000000000.
[  451.584054] xc2028 1-0061: Loading firmware for type=(0), id 000000000000b700.
[  452.844047] SCODE (20000000), id 000000000000b700:
[  452.844055] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 0000000000008000.
[  453.568049] xc2028 1-0061: Loading firmware for type=(0), id 000000000000b700.
[  454.840050] SCODE (20000000), id 000000000000b700:
[  454.840059] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 0000000000008000.
[  455.568272] tm6000 #0: registered device video0
[  455.568333] tm6000 #0: registered device radio0
[  455.568336] Trident TVMaster TM5600/TM6000/TM6010 USB2 board (Load status: 0)
[  455.627562] tm6000: open called (dev=video0)
[  457.164067] tm6000: open called (dev=radio0)
Few things to note here:

1) The driver has correctly identified the card as shown here:

Code:
 [  371.844307] tm6000: Found Hauppauge WinTV HVR-900H / WinTV USB2-Stick
2) Tuner has been correctly idenfied as shown here:

Code:
 [  376.427454] tuner 1-0061: chip found @ 0xc2 (tm6000 #0)
3) Correct firmeware has been loaded as shown here:

Code:
 [  376.531640] xc2028 1-0061: Loading 81 firmware images from xc3028L-v36.fw, type: xc2028 firmware, ver 3.6
You will have to find out the firmware version your card needs which is usually displayed in the dmesg output. You can then download the firmware and place them in /lib/firmware or any other directory for your distro.

http://git.linuxtv.org/linux-2.6.git...62b691;hb=HEAD
http://www.stefanringel.de/pub/xc3028L-v36.fw

Step 4:

If you see the following lines in dmesg, then you are good to go:

Code:
 
[  455.568272] tm6000 #0: registered device video0
[  455.568333] tm6000 #0: registered device radio0
Now you can use your software of choice to scan the analog signal and start watching TV. There are several programs for this, and tvtime seems to be the most popular. I was not able to get it to work because my video card does not support XVideo and tvtime needs it.

For me, I was trying to watch TV from Tata Sky which will send out only a single analog signal and either tvtime scanner or scantv tunes that signal. So I am using composite output from this card to watch TV. You can use either mplayer or vlc to do that. I found vlc much simpler in this case.

That's it folks. Do let me know if you have any questions.

Btw, to get the latest drivers from linux-media, you can follow this link:

http://linuxtv.org/wiki/index.php/Ho...Device_Drivers

Other useful(might be outdated a bit) links:

http://linuxtv.org/wiki/index.php/Trident_TM6000
http://blog.mohammadzadeh.info/index...technics-smart



Regards,
Vivek.

Last edited by vivek456; 03-11-2011 at 12:25 PM. Reason: Formating for clear view
 
Old 03-13-2011, 12:45 AM   #2
initialdrifteg6
Member
 
Registered: Sep 2004
Location: France, Kentucky
Distribution: debian
Posts: 173

Rep: Reputation: 38
I dabbled around with this stuff for a while. I used a variety of different tuners. One thing annoyed me was that every card I found wouldn't tune to encrypted Clear QAM 256 channels. Basically, these cards will give you OTA High Def and can tune into Open Clear QAM 256 channels from your cable company, but is not a replacement for the cable box. The only tuner cards out there were the ATI ones that are no longer manufactured. Ceton's Infini4 is the only thing out there right now that will completely replace a cablebox. Just a heads up to anyone thinking these cards will get them the 'premium' channels that they would from their cablebox.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Hauppauge Wintv usb 1 and KUbuntu 9.04 not working - driver seems ok?? kayasaman Linux - Desktop 2 08-01-2009 04:59 AM
How To Install Hauppauge TV-Tuner WinTV-HVR-1600 on Mandriva 09 ? dolphans1 Mandriva 75 01-27-2009 04:29 AM
Wintv-usb2-stick tv tuner card support bruse Linux - Hardware 3 10-27-2007 08:20 AM
Hauppauge WinTV PVR USB Adam15906 Linux - Hardware 0 07-31-2004 04:23 PM
TV TUNER -- Hauppauge WinTV-GO-FM model 128 jared Linux - Hardware 0 10-17-2003 06:13 PM


All times are GMT -5. The time now is 12:20 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration