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 forum thread on ubuntuusers.de and complemented by own experiences on Ubuntu and Gentoo.
According to Hauppauge's | Running 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 | forum thread on ubuntuusers.de the built-in drivers in older version of the kernel may have inconsistencies. You can download new drivers from | LinuxTV (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 | extract the firmware yourself or | download 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 | v4l-cx25840.fw 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