Hauppauge WinTV-HVR-1800
An ATSC PCIe card from Hauppauge.
Support for the card's digital TV reception capabilities (8-VSB & 64/256-QAM) is currently provided within the latest drivers from the LinuxTV Hg repository, and should make its way into the 2.6.24 kernel. Analog support for the WinTV-HVR-1800 (which is currently contingent upon the addition of such to the CX23385/7 driver) will be added in the near future, but it will likely be too late for inclusion into 2.6.24.
Full-height Version (a.k.a Medford)
This dual tuner card is also known as model 1129 and has a Subdevice ID of 0x7800.
It features 3 RF inputs (one for analog, one for digital and one for radio). The card also sports an A/V header, which allows for additional inputs when when used with PC cases that have built in front or rear panel A/V connectors (S-Video, Composite and L/R Audio).
Components Used
This card features:
- NXP/Philips TDA18271 (tuner for analog)
- Microtune MT2131 (tuner for digital)
- NXP/Philips TDA8295 (analog IF demodulator)
- Samsung S5H1409/Conexant CX24227 (digital demodulator)
- Conexant CX23417 (MPEG-2 encoder)
- Elpida (RAM)
- Conexant CX23887 (A/V Decoder & PCIe bridge)
Half-Height/Low Profile Version (a.k.a Brentwood)
When information about a "HVR-1800" model first became known, photos accompanying this news were of this low profile card. However, as it turned out, it was the full-height HVR-1800 rendition discussed above that was widely released. Whether or not this low profile HVR-1800, or a revision like it, is ever released for mass production is still unknown. In any regard, the very small quantity that were produced are indeed supported by LinuxTV drivers. This card has a Subdevice ID of 0x7600.
Components Used
This card features the same components as the later full height version (see above) with the exception that a NXP/Philips TDA8275A tuner was used for analog, as opposed to the later card's switch to the NXP/Philips TDA18271.
Making it Work
To get Analog to work, follow the steps as shown in How to build from Mercurial up to "Build the Modules" and build the driver.
After "make install" is finished and if the system has loaded the default kernel's module, unload it with:
modprobe -r cx23885
Firmware
Download the firmware and all the files for cx23885 from HVR-1800 Firmware (it is also a good idea to keep checking for new firmware updates from this page). Run the .sh script and it will make two files v4l-cx23885-avcore-01.fw and v4l-cx23885-enc.fw. Copy these two files into /lib/firmware/ (not /lib/firmware/2.6.26-1-amd64 as stated by the script).
Drivers
Once that's finished, load the modules with:
modprobe cx23885 modprobe tuner
Sample Kernel Output
Run dmesg and it should look something like this:
#dmesg cx23885 driver version 0.0.1 loaded ACPI: PCI Interrupt 0000:04:00.0[A] -> Link [AXV7] -> GSI 16 (level, low) -> IRQ 16 CORE cx23885[0]: subsystem: 0070:7801, board: Hauppauge WinTV-HVR1800 [card=2,autodetected] cx25840' 4-0044: cx25 0-21 found @ 0x88 (cx23885[0]) tveeprom 2-0050: Hauppauge model 78521, rev C2E9, serial# 2872525 tveeprom 2-0050: MAC address is XX-XX-XX-XX-XX-XX tveeprom 2-0050: tuner model is Philips 18271_8295 (idx 149, type 54) tveeprom 2-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88) tveeprom 2-0050: audio processor is CX23887 (idx 42) tveeprom 2-0050: decoder processor is CX23887 (idx 37) tveeprom 2-0050: has radio cx23885[0]: hauppauge eeprom: model=78521 cx23885[0]/0: registered device video0 [v4l2] firmware: requesting v4l-cx23885-avcore-01.fw cx25840' 4-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) cx23885[0]: registered device video1 [mpeg] cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card MT2131: successfully identified at address 0x61 DVB: registering new adapter (cx23885[0]) DVB: registering adapter 0 frontend 6752 (Samsung S5H1409 QAM/8VSB Frontend)... cx23885_dev_checkrevision() Hardware revision = 0xb1 cx23885[0]/0: found at 0000:04:00.0, rev: 15, irq: 16, latency: 0, mmio: 0xdfc00000 PCI: Setting latency timer of device 0000:04:00.0 to 64 tuner' 2-0061: chip found @ 0xc2 (cx23885[0]) tuner' 3-0042: chip found @ 0x84 (cx23885[0]) tda829x 3-0042: could not clearly identify tuner address, defaulting to 60 tda18271 3-0060: creating new instance TDA18271HD/C1 detected @ 3-0060 tda829x 3-0042: type set to tda8295+18271
Tvtime and Mplayer
Tvtime will be used for switching channels while mplayer will be used for watching with audio. Tvtime uses /dev/video0 which is raw video signal so it can change the station. Mplayer uses /dev/video1 which is encoded mpg2 with audio. Install tvtime and mplayer with:
apt-get install tvtime mplayer
Run tvtime as normal user (tvtime -v), configure with proper settings for your region and scan for analog channels. Run mplayer with:
mplayer /dev/video1 -vo x11 -nobps -autosync 30 -forceidx -hardframedrop -vc ffmpeg12 -idle -menu -cache 16384 -cache-seek-min 50 -mc 0 -ni
If there are artifacts, unload and reload cx23385 with modprobe and restart mplayer/tvtime.
Mythtv
Havent have time to mess with this yet but there has been reports that it work.
Conclusion
HAVE FUN!