Hauppauge WinTV-HVR-1900
A Hybrid DVB-T USB device from Hauppauge.
Overview/Features
Interface: USB 2.0 Inputs: Composite, S-Video
Making it Work
Checking the driver
This information is taken from this thread on ubuntuusers.de and complemented by own experiences on Ubuntu and Gentoo.
According to Hauppauge's WinTV under Linux support page, there is Linux support for this card since the kernel 2.6.26 release.
This is the output of dmesg when plugged in on a Gentoo system running kernel 2.6.31:
usb 7-2: new high speed USB device using ehci_hcd and address 4 usb 7-2: New USB device found, idVendor=2040, idProduct=7300 usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 7-2: Product: WinTV usb 7-2: Manufacturer: Hauppauge usb 7-2: SerialNumber: 7300-00-F06BBD71 usb 7-2: configuration #1 chosen from 1 choice usbcore: registered new interface driver pvrusb2 pvrusb2: V4L in-tree version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner pvrusb2: Debug mask is 31 (0x1f) usb 7-2: firmware: requesting v4l-pvrusb2-73xxx-01.fw pvrusb2: ***WARNING*** Device fx2 controller firmware seems to be missing. pvrusb2: Did you install the pvrusb2 firmware files in their proper location? pvrusb2: request_firmware unable to locate fx2 controller file v4l-pvrusb2-73xxx-01.fw pvrusb2: Failure uploading firmware1 pvrusb2: Device initialization was not successful. pvrusb2: Giving up since device microcontroller firmware appears to be missing.
If dmesg output does not look like this your kernel may be to old. According to the thread on ubuntuusers.de the built-in drivers in older version of the kernel may have inconsistencies. You can download new drivers from (v4l). To compile and install untar the driver to a directory of your choice, change into the drivers directory and issue as root:
make make install
Make sure you have the built-essentials (gcc and co.) installed.
Getting the firmware
Next you need the firmware file v4l-pvrusb2-73xxx-01.fw.
You may the firmware yourself or the extracted firmware. Put the firmware into one of these directories (trie out which one of those works for you):
/lib/firmware/ /lib/firmware/2.6/
On Gentoo its /lib/firmware/.
This is the dmesg output after plugging in the device:
usb 7-2: new high speed USB device using ehci_hcd and address 6 usb 7-2: New USB device found, idVendor=2040, idProduct=7300 usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 7-2: Product: WinTV usb 7-2: Manufacturer: Hauppauge usb 7-2: SerialNumber: 7300-00-F06BBD71 usb 7-2: configuration #1 chosen from 1 choice cx25840 4-0044: cx25843-24 found @ 0x88 (pvrusb2_a) pvrusb2: Attached sub-driver cx25840 tuner 4-0042: chip found @ 0x84 (pvrusb2_a) pvrusb2: Attached sub-driver tuner cx25840 4-0044: firmware: requesting v4l-cx25840.fw cx25840 4-0044: unable to open firmware v4l-cx25840.fw tveeprom 4-00a2: Hauppauge model 73219, rev D1F5, serial# 7060849 tveeprom 4-00a2: MAC address is 00-0D-FE-6B-BD-71 tveeprom 4-00a2: tuner model is NXP 18271C2 (idx 155, type 54) tveeprom 4-00a2: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) tveeprom 4-00a2: audio processor is CX25843 (idx 37) tveeprom 4-00a2: decoder processor is CX25843 (idx 30) tveeprom 4-00a2: has radio, has IR receiver, has IR transmitter pvrusb2: Supported video standard(s) reported available in hardware: PAL-B/B1/D/D1/G/H/I/K;SECAM-B/D/G/H/K/K pvrusb2: Mapping standards mask=0x3ff00ff (PAL-B/B1/D/D1/G/H/I/K;SECAM-B/D/G/H/K/K1/L/LC;ATSC-8VSB/16VSB) pvrusb2: Setting up 20 unique standard(s) pvrusb2: Set up standard idx=0 name=PAL-B/G pvrusb2: Set up standard idx=1 name=PAL-D/K pvrusb2: Set up standard idx=2 name=SECAM-B/G pvrusb2: Set up standard idx=3 name=SECAM-D/K pvrusb2: Set up standard idx=4 name=PAL-B pvrusb2: Set up standard idx=5 name=PAL-B1 pvrusb2: Set up standard idx=6 name=PAL-G pvrusb2: Set up standard idx=7 name=PAL-H pvrusb2: Set up standard idx=8 name=PAL-I pvrusb2: Set up standard idx=9 name=PAL-D pvrusb2: Set up standard idx=10 name=PAL-D1 pvrusb2: Set up standard idx=11 name=PAL-K pvrusb2: Set up standard idx=12 name=SECAM-B pvrusb2: Set up standard idx=13 name=SECAM-D pvrusb2: Set up standard idx=14 name=SECAM-G pvrusb2: Set up standard idx=15 name=SECAM-H pvrusb2: Set up standard idx=16 name=SECAM-K pvrusb2: Set up standard idx=17 name=SECAM-K1 pvrusb2: Set up standard idx=18 name=SECAM-L pvrusb2: Set up standard idx=19 name=SECAM-LC pvrusb2: Initial video standard auto-selected to PAL-B/G pvrusb2: Device initialization completed successfully. pvrusb2: registered device video1 [mpeg] DVB: registering new adapter (pvrusb2-dvb) cx25840 4-0044: firmware: requesting v4l-cx25840.fw cx25840 4-0044: unable to open firmware v4l-cx25840.fw tda829x 4-0042: setting tuner address to 60 tda18271 4-0060: creating new instance TDA18271HD/C2 detected @ 4-0060 tda18271: performing RF tracking filter calibration
Still the [1] firmware file is missing. Get it and copy it to the appropriate firmware directory. On Gentoo you may unmask media-tv/linuxtv-dvb-firmware:
cat ~media-tv/linuxtv-dvb-firmware-2009.09.19 >> /etc/portage/package.keywords/linuxtv-dvb-firmware
if /etc/portage/package.keywords is an directory or
cat ~media-tv/linuxtv-dvb-firmware-2009.09.19 >> /etc/portage/package.keywords
if it is a file.
Add a new device section to /etc/make.conf:
cat DVB_CARDS="pvrusb2" >> /etc/make.conf
emerge -av media-tv/linuxtv-dvb-firmware
Now dmesg output should look like this:
usb 7-2: new high speed USB device using ehci_hcd and address 7 usb 7-2: New USB device found, idVendor=2040, idProduct=7300 usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 7-2: Product: WinTV usb 7-2: Manufacturer: Hauppauge usb 7-2: SerialNumber: 7300-00-F06BBD71 usb 7-2: configuration #1 chosen from 1 choice cx25840 4-0044: cx25843-24 found @ 0x88 (pvrusb2_a) pvrusb2: Attached sub-driver cx25840 tuner 4-0042: chip found @ 0x84 (pvrusb2_a) pvrusb2: Attached sub-driver tuner cx25840 4-0044: firmware: requesting v4l-cx25840.fw cx25840 4-0044: loaded v4l-cx25840.fw firmware (16382 bytes) tveeprom 4-00a2: Hauppauge model 73219, rev D1F5, serial# 7060849 tveeprom 4-00a2: MAC address is 00-0D-FE-6B-BD-71 tveeprom 4-00a2: tuner model is NXP 18271C2 (idx 155, type 54) tveeprom 4-00a2: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) tveeprom 4-00a2: audio processor is CX25843 (idx 37) tveeprom 4-00a2: decoder processor is CX25843 (idx 30) tveeprom 4-00a2: has radio, has IR receiver, has IR transmitter pvrusb2: Supported video standard(s) reported available in hardware: PAL-B/B1/D/D1/G/H/I/K;SECAM-B/D/G/H/K/K pvrusb2: Mapping standards mask=0x3ff00ff (PAL-B/B1/D/D1/G/H/I/K;SECAM-B/D/G/H/K/K1/L/LC;ATSC-8VSB/16VSB) pvrusb2: Setting up 20 unique standard(s) pvrusb2: Set up standard idx=0 name=PAL-B/G pvrusb2: Set up standard idx=1 name=PAL-D/K pvrusb2: Set up standard idx=2 name=SECAM-B/G pvrusb2: Set up standard idx=3 name=SECAM-D/K pvrusb2: Set up standard idx=4 name=PAL-B pvrusb2: Set up standard idx=5 name=PAL-B1 pvrusb2: Set up standard idx=6 name=PAL-G pvrusb2: Set up standard idx=7 name=PAL-H pvrusb2: Set up standard idx=8 name=PAL-I pvrusb2: Set up standard idx=9 name=PAL-D pvrusb2: Set up standard idx=10 name=PAL-D1 pvrusb2: Set up standard idx=11 name=PAL-K pvrusb2: Set up standard idx=12 name=SECAM-B pvrusb2: Set up standard idx=13 name=SECAM-D pvrusb2: Set up standard idx=14 name=SECAM-G pvrusb2: Set up standard idx=15 name=SECAM-H pvrusb2: Set up standard idx=16 name=SECAM-K pvrusb2: Set up standard idx=17 name=SECAM-K1 pvrusb2: Set up standard idx=18 name=SECAM-L pvrusb2: Set up standard idx=19 name=SECAM-LC pvrusb2: Initial video standard auto-selected to PAL-B/G pvrusb2: Device initialization completed successfully. pvrusb2: registered device video1 [mpeg] DVB: registering new adapter (pvrusb2-dvb) cx25840 4-0044: firmware: requesting v4l-cx25840.fw cx25840 4-0044: loaded v4l-cx25840.fw firmware (16382 bytes) tda829x 4-0042: setting tuner address to 60 tda18271 4-0060: creating new instance TDA18271HD/C2 detected @ 4-0060 tda18271: performing RF tracking filter calibration