Hauppauge HVR-1600
From MythTV
Contents |
Hauppauge HVR-1600
| WinTV-HVR-1600 | |
| Vendors Website | http://www.hauppauge.com/pages/products/data_hvr1600.html |
| Support Status | Works with MythTV 0.21, but not explicitly supported |
| Driver | Linux cx18 driver, which is of BETA quality |
| Sound Driver | Not needed, the hardware encoder will multiplex the audio with the video stream. |
| Chipset | Conexant CX23418 MPEG-2 encoder, and CX24227 ATSC demodulator |
The Hauppauge WinTV-HVR-1600 is a dual tuner ATSC/NTSC capture board by Hauppauge Computer Works. The card is PCI based, and is designed for use in North America where NTSC and ATSC signals are used for television broadcast.
Description
The HVR-1600 is the latest capture card from Hauppauge (pronounced /hɔphɔg/ like the Hamlet on Long Island, New York where the company just so happens to be from) Computer Works. The design is made entirely of Conexant chips. The Conexant CX23418 is the TV broadcast decoder, MPEG2 encoder, and host bus interface chip. The CX23418 is the next generation of the CX23416 that was used on the very well supported PVR-150 and PVR-500 series cards, it combines the hardware encoding engine of the CX23416 with a CX25843 broadcast decoder/digitizer core on one chip. The only other chip worth mentioning is the new Conexent CX24227 ATSC demodulator used for digital TV reception. The retail version of the card supports and comes with an IR Blaster and Receiver, as well as a Remote. The over-the-air tuner supports all ATSC formats, up to the high definition 1080i format. Some of the HVR-1600's (product code 74021 and 74041 found on the tuner label) also support Clear QAM, which is most likely the stuff your cable company uses for your local HD channels. Again the analog tuner supports encoding NTSC into MPEG-2 at 720x480 resolution with a data rate of up to 12Mbits/sec.
IVTV
There is a beta driver for CX23418 MPEG-2 encoder at this time. For more information see: http://ivtvdriver.org/index.php/Cx18
Options for Linux Drivers
Beta drivers are released. Concurrent NTSC and ATSC capture are working. The latest stable version can be found here: http://www.linuxtv.org/hg/v4l-dvb
Output Messages
Further information that may be useful for driver writing are the following lspci command outputs.
lspci returns
02:02.0 Multimedia video controller: Conexant Unknown device 5b7a
lspci -vn
02:02.0 0400: 14f1:5b7a
Subsystem: 0070:7404
Flags: bus master, medium devsel, latency 64, IRQ 5
Memory at f8000000 (32-bit, non-prefetchable) [size=64M]
Capabilities: <access denied>
lspci -v
02:02.0 Multimedia video controller: Conexant Unknown device 5b7a
Subsystem: Hauppauge computer works Inc. Unknown device 7404
Flags: bus master, medium devsel, latency 64, IRQ 5
Memory at f8000000 (32-bit, non-prefetchable) [size=64M]
Capabilities: <access denied>
Issues and Problems
The cx18 driver has the following known, major issues as of 7 June 2008:
1. Some users experience I2C bus failures that essentially make the card unusable
2. VBI data is not implemented yet
3. Audio from the analog tuner is digitized as mono at a fairly soft level
4. The first analog capture after modprobe experiences dropped frames and/or no audio. All subsequent analog captures are fine.
Installation Guide
The following installation instructions worked for this author, please modify or append any information that you found useful.
1. Install the latest v4l-dvb drivers
1a. Download the latest
sudo apt-get install mercurial linux-headers-$KERNEL_VERSION build-essential hg clone http://linuxtv.org/hg/v4l-dvb
To find your kernel version, run uname -r and you should get something like this:
uname -r > 2.6.24-19-generic
1b. Compile and add the module to your kernel:
cd v4l-dvb make sudo make install sudo make unload sudo modprobe cx18
2. Download and install the Version 3.4D firmware from Hauppage (this step is based off instructions from Hauppauge's site)
wget http://hauppauge.lightpath.net/software/install_cd/hauppauge_cd_3.4d1.zip unzip hauppauge_cd_3.4d1.zip cd hauppauge_cd_3.4D1 sudo cp Drivers/Driver18/hcw18apu.rom /lib/firmware/$KERNEL_VERSION/v4l-cx23418-apu.fw sudo cp Drivers/Driver18/hcw18enc.rom /lib/firmware/$KERNEL_VERSION/v4l-cx23418-cpu.fw sudo cp Drivers/Driver18/hcw18mlC.rom /lib/firmware/$KERNEL_VERSION/v4l-cx23418-dig.fw
Reboot
sudo shutdown -r now
Verify that everything was installed correctly by running dmesg. You should see something like the following:
dmesg | grep cx18 > [ 42.230394] cx18-0: Initialized card #0: Hauppauge HVR-1600
Note: Steps 1 & 2 must be repeated after each kernel update. When these drivers are out of beta, this will hopefully all be handled by the package manager.
3. Configure MythTV to use both "halves" of the card
- Enter mythsetup and go to Capture cards
- Select (New capture card)
3a. Configure the analog half of the card as you would a supported MPEG-2 Encoder PVR-150 card
Treating the analog half of the card as an ivtv based card in MythTV works as the cx18 driver is heavily based on (i.e. cut and pasted from) the ivtv driver.
- Under Card type, choose 'MPEG-2 encoder card (PVR-x50, PVR-500)'.
- Choose the correct video device (usually /dev/video0 unless you have more than one card).
- Probed info should populate with 'Hauppauge HVR-1600 [cx18]'.
- To use NTSC (cable), choose 'Tuner 1' under Default input.
- Select Finish.
3b. Configure the ATSC (digital) half of the card as you would any other DVB DTV capture card
- Add another tuner card
- Under Card type choose 'DVB DTV capture card (v3.x)'.
- Choose the correct value under DVB Device Number (usually 0, this should be the same number appended to /dev/video when configuring the analog portion of the card).
- Frontend ID should populate to something like "Samsung S5H1409 QAM/Subtype: ATSC'.
- Select Recording Options.
- Change Max recordings to 1, since this card can only record one thing at a time.
- Select Finish.
- Select Finish again.
To scan for channels:
- Go back to the main menu an select Input connections, then select the correct DVB input for the card you just configured.
- Select Scan for channels.
- You should have your DVB device selected under Input.
- Scan Type should be 'Full Scan'.
- For cable, change Frequency Table to 'Cable' (you'll probably want to use 'Cable High' since most QAM channels are in the high range).
- For cable, change Modulation to 'Cable (QAM-256)'. All U.S. cable companies either use QAM-256 or QAM-64, most including Comcast use QAM-256.
- Choose an ATSC Channel Separator (most television tuners use a period).
- Select Next and then wait for the scan to complete. This may take a while.
- When it's done scanning, select Finish
MythTV has been known to have some issues scanning for all ATSC channels, see Adding Digital Cable Channels (For ATSC/QAM Tuner Cards -- USA/Canada) for more information.
Resources
Here are some resources to take a look at. The data sheets for the Hauppauge HVR-1600 and the Conexant CX23418 MPEG-2 encoder chip.
The mailing lists at http://www.ivtvdriver.org where use and development of the cx18 driver is discussed for the HVR-1600 and other CX23418 based cards.
Hauppauge product page for the HVR-1600
Conexant product page for the CX23418-chip
This is a link to a thread claiming development has started on a driver
This is a link to the linuxtv.org page that lists currently supported cards, as well as the unsupported cards.
From the Hauppauge product support page: "Linux support for the WinTV-HVR-1600 is in process. When the WinTV-HVR-1600 is added to the growing list of over 30 supported Hauppauge products with Linux open source drivers, an entry will be made in the LinuxTV.ORG Wiki."
