Linux and WinTV-HVR-3000

Linux and WinTV-HVR-3000

Small tips of how to watch DVB-T channels with WinTV-HVR-3000 PCI card on Fedora. After few hours of configuring, I was finally able to watch and record DVB-T channels. CPU usage of Me TV is minimal and picture quality is fine.

  1. Initialization / drivers
  2. Install dvb-apps package
  3. Create channels.conf with scandvb
  4. Install Me TV
  5. Install extra codecs for the Xine multimedia library
  6. Run me-tv and point to the DVB-T device

1. Initialization / drivers
WinTV-HVR-3000 card was automatically recognized in Fedora Core 14 and drivers were initialized without any problem. Here is part of output from /var/log/messages file:

bash> grep cx88 /var/log/messages

cx88/0: cx2388x v4l2 driver version 0.0.8 loaded
cx8800 0000:04:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
cx88[0]: subsystem: 0070:1402, board: Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T [card=53,autodetected], frontend(s): 2
cx88[0]: TV tuner type 63, Radio tuner type -1
cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.8 loaded
cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner
tuner 4-0043: chip found @ 0x86 (cx88[0])
tuner 4-0061: chip found @ 0xc2 (cx88[0])
cx88[0]: hauppauge eeprom: model=14109
input: cx88 IR (Hauppauge WinTV-HVR300 as /devices/pci0000:00/0000:00:1e.0/0000:04:00.0/rc/rc0/input5

2. Install dvb-apps package

yum install dvb-apps

scandvb utility and initial scan files are contained in dvb-apps package. An initial scan file provides a list of frequencies, and some other specific data that scandvb should use, to proceed with a scan. For example content of initial scan file for Croatia/Zagreb (region D4) might look like:

# initial scan file for Croatia/Zagreb (DVB-T region D4)
# HR MUX A (ch 25) D4
T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
# HR MUX B (ch 48) D4
T 690000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
# HR MUX D (ch 42) D4
T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
# HR MUX D (ch 57) D44
T 762000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE
# SLO MUX A (ch 45) 
T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE

3. Create channels.conf with scandvb

scandvb -f 1 -d 1 /usr/share/dvb-apps/dvb-t/hr-All > /tmp/channels.conf
# or with custom scan file
scandvb -f 1 -d 1 /tmp/my_scanfile.txt > /tmp/channels.conf

I used hr-All initial scan file because my location is in Croatia. In a moment of writing this post, MUX A was missing from hr-All so I prepared custom initial scan file that looks like in step 2. In your case, please choose/modify initial scan file most appropriate for your location. You can find a lot of initial scan files in /usr/share/dvb-apps/dvb-t/ directory. "-f" and "-d" switch forces WinTV-HVR-3000 card to use frontend1 and demux1. frontend0 is reserved for DVB-S tuner. Without any switch scandvb will use frontend0 and you will get a "dumping lists (0 services)" message. Created channels.conf file will be needed for Me TV channel configuration.

4. Install Me TV

yum install me-tv

Me TV is a GNOME desktop application for watching digital television services that use the DVB standard.

5. Install extra codecs for the Xine multimedia library

yum install xine-lib-extras-freeworld

Me TV uses xine engine for displaying. Without xine-lib-extras-freeworld package it's likely that you will see EPG and be able to record channels but without option to watch channels (in my case screen was black/grey and no audio). After installation of xine-lib-extras-freeworld, Me TV becomes fully functional and problem with black screen disappears.

6. Run me-tv and point to the DVB-T device

me-tv --devices=/dev/dvb/adapter0/frontend1

WinTV-HVR-3000 has analog TV, DVB-T and DVB-C interface. If Me TV is started without any switch, it will try to connect to the frontend0 (DVB-S) and you will get a "Failed to get available frontend" notice and black screen. On the first start of Me TV, the wizard requesting channel configuration will pop up. Click on "Import a channels.conf" and browse to the previously prepared /tmp/channels.conf file. After clicking on "Next", Me TV should show EPG information and display imported channels. You can change channels by pressing numbers 1, 2, 3, ... on keyboard.

Hope you will successfully complete Linux TV configuration using this tutorial. I had a lot of joy when my Linux start showing TV channels. As I got a TV card without a remote controller, my next step will be to find and configure remote controller for Linux and WinTV-HVR-3000.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>