Hauppauge WinTV Nova-T 500 PCI
From MythTV
Contents |
About
What is it?
The Nova-T 500 is a dual digital tv tuner with a remote control from Hauppauge. It's a nice compact pci card at a great price.
In fact the receivers are USB devices, but there aren't any USB plugs or sockets involved -- the single PCI card itself sports on board dual USB based receivers that interface with a host USB 2.0 controller. (This unique design is also known as "Bristol").
You will find the model name and number on the box, under the bar code. Known to work cards have the following:
- WinTV-NOVA-T-500 model 289 SL-289-V2.0-UK (UK product) UPC: 785428002897
26th May 2008 -update
The following model is also sold in the UK (very small difference)
WinTV - NOVA-T-500 model 287 SL-287-V2.0-UK UPC: 785428002873
This card behaves exactly the same as the 289 model
Components Overview
- 2x Microtune MT2060 tuner
- 2x DiB3000P Dibcomm DVB-T demodulator & USB controller
- 1x VIA VT8xxx host USB 2.0 controller (USB-to-PCI)
- A single Low Noise Amplifier (LNA) is present for both channels, but needs to be manually activated (see below).
===Warning about the Model 68109 Model (which is no longer shipping and was only shipping in low volume)
This is an unsupported revision!
This card was released, in very low volumes, only in the UK and is not supported in Linux. Hauppauge has been swapping these units for Linix users. This card has now been replaced by the 84109 Model Nova-TD 500 which works fine in Linux.
This revision can be distinguished by:
On the box:
- The box has a sticker stating it is the diversity option and only suitable for intel cards. "When i put it in my athlon based XP box it blue screened as soon as i tried to load the drivers. I brought mine from Amazon.co.uk and there was no mention that this card was any different or wouldn't work with non-intel processors."
On the card:
- it is labeled with the 'Diversity' feature stickers and the actual model number on the printed circuit board is NOVA-TD-500 (WinTV-NOVA-TD-500 DVB-T 68109 LF rev C1B5)
- the card has two aerial connectors.
- it uses a DiB0710 host USB controller (USB-to-PCI controller) instead of a VIA controller
The DIBcom DiB0710 controller used by this newer revision is end-of-life. Furthermore, DIBcom currently do not plan on providing support for this controller. Conseqeuntly, given the low shipping volume and the limited support options, development of a Linux driver for this revision would likely be a waste of effort. [1][2]
Returning the Card: Hauppauge UK are aware of this problem, and will willingly swap this model for a new one if you return it to them by post, or call by their offices at London Bridge. You can contact them on (020) 7378 0202.
There may be such cards available in Denmark too, so beware.
[UPDATE 10-27-2008]: I just bought a T-500 model from a French shop. The box said "Modèle 282" and carried no "Diversity" sticker, but the card inside had a sticker saying "TD-500 DVB-T 84109", two aerial connectors, and a slightly different tuner from the picture above. It didn't work with Ubuntu Linux 8.04 (kernel 2.6.24), but was perfectly recognized by the upcoming Ubuntu Linux 8.10 (kernel 2.6.27).
As above - this card is a new batch of TD-500s, completely replacing the original T-500. (according to Hauppauge France, the name "T-500" doesn't reflect particular hardware, but rather particular functionality - A dual DVB-T tuner on a PCI card), so I suppose it finally made sense to add support for it in Linux :
V4L/DVB (8840): dib0700: add basic support for Hauppauge Nova-TD-500 (84xxx)
(Source : https://lists.ubuntu.com/archives/intrepid-changes/2008-September/006776.html)
Hardware Compatibility
Epia SP8000 and SP13000 with Dual PCI Riser cards
This card does *not* work well with other PCI devices when used in the 2-into-1 Tranquil PC Active Riser on Epia SP mini-ITX motherboards. Use the VIA EXT-PCI passive riser instead, with the Nova-T in the top slot. (If you insist on using an active riser to squeeze out the best performance, it may be possible to get both PCI devices working if you are willing to sacrifice mobo USB support, but watch out for hard lock-ups, IDE conflicts, and BIOS corruption when switching jumper settings. Not for the faint-of-heart.)
PCI Performance
When used in a dual-PCI riser configuration (see above), playback performance may suffer when used in conjunction with a PCI video card (e.g. NVIDIA FX5200 PCI). To fix this, increase the PCI latency of the video card to 0xFF, and the Nova-T to 0x40, enable MTRR write-combining for the video card memory, and use real-time threads for smooth video playback in MythTV. If using an nvidia card, in nvidia-settings switch off all XV v-blank sync options and switch on OpenGL vblank sync'ing. In MythTV, enable OpenGL vblank sync and real-time threading.
Linux Support
Anything released before August 1, 2007, distro kernels or from LinuxTV.org, will have loads of problems (tuning and USB disconnects that will hang or crash MythTV and/or the whole system) and will not support the remote.
You will have to get the latest drivers from LinuxTV.org, as described below.
In these conditions the card is fully and reliably supported. Yeah!
Ubuntu Linux Notes
The newer Nova-TD-500 card is recognized "out of the box" by the upcoming Ubuntu Linux 8.10 release (this also includes Mythbuntu 8.10). All necessary module/firmware files are provided by the "restricted drivers" packages.
NB: The regular Nova-T-500 card might already be recognized by Ubuntu Linux / Mythbuntu 8.04, but I've been unable to test this. All I can say is that this release perfectly recognizes the similar chipset present on the Asus U3000 Mini USB DVB-T tuner.
Installing
Since a kernel install would cause many problems and the LinuxTV driver is newer we'll compile the drivers against the current kernel
Note: you must have Enabled loadable module support & Automatic kernel module loading - otherwise you will get an error like "Unable to find symbol mt2060_attach()". (options CONFIG_MODULES=y & CONFIG_KMOD=y) (from http://www.mail-archive.com/linux-dvb@linuxtv.org/msg25404.html)
- Make sure you have the Universe repository's enabled
- Update packages
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
- Reboot if you have updated your kernel or you will have to recompile for the new kernel
- Download the firmware
wget http://www.wi-bw.tfh-wildau.de/~pboettch/home/linux-dvb-firmware/dvb-usb-dib0700-1.10.fw
Note: There is new firmware available but it has some issues. Feel free to try it.
Info: http://linuxtv.org/wiki/index.php/Hauppauge_WinTV-NOVA-T-500#Firmware Firmware: http://www.wi-bw.tfh-wildau.de/~pboettch/home/files/dvb-usb-dib0700-1.20.fw
- Copy Firmware
sudo cp dvb-usb-dib0700-1.10.fw /lib/firmware
- Install packages required to build kernel modules
sudo apt-get install linux-headers-$(uname -r) build-essential
- Install Mercurial (cvs like program)
sudo apt-get install mercurial
- Ubuntu users only! (Repace linux-source-2.6.20 with your Kernel; 2.6.20 is Feisty ; 2.6.22 Gutsy)
sudo apt-get install linux-source cd /usr/src/ sudo tar -xjvf linux-source-2.6.20.tar.bz2 sudo ln -s /usr/src/linux-source-2.6.20 /lib/modules/$(uname -r)/source
- Retrieve the v4l-dvb source tree
cd ~/ hg clone http://linuxtv.org/hg/v4l-dvb
- Change into the v4l-dvb directory
cd v4l-dvb
- Ubuntu Gutsy fails with aci.c module error; Fix: Disable ACI mixer in Audio devices for Multimedia
sudo apt-get install ncurses-dev sudo make menuconfig
- Build the modules
make
- Install the modules
sudo make install
- Very Important Turn on the onboard amplifier or you will get very poor signal strength. It is possible that this will cause you to receive no signal at all due to the amplification of signal noise regardless of signal quality.
sudo gedit /etc/modprobe.d/options Add: options dvb-usb-dib0700 force_lna_activation=1
- Load the modules
sudo make load
- Done
- If this doesn't work then try
sudo modprobe dvb-usb-dib0700
to get the card working
Here is a sample kernel output:
[ 30.965645] dib0700: loaded with support for 5 different device-types [ 30.965925] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in cold state, will try to load a firmware [ 31.008899] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-03-pre1.fw' [ 31.206081] dib0700: firmware started successfully. [ 31.711176] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in warm state. [ 31.711222] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 31.711325] DVB: registering new adapter (Hauppauge Nova-T 500 Dual DVB-T) [ 31.831535] DVB: registering frontend 0 (DiBcom 3000MC/P)... [ 31.854890] MT2060: successfully identified (IF1 = 1220) [ 32.388673] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 32.388853] DVB: registering new adapter (Hauppauge Nova-T 500 Dual DVB-T) [ 32.394293] DVB: registering frontend 1 (DiBcom 3000MC/P)... [ 32.398790] MT2060: successfully identified (IF1 = 1220) [ 32.959607] input: IR-receiver inside an USB DVB receiver as /class/input/input4 [ 32.959633] dvb-usb: schedule remote query interval to 150 msecs. [ 32.959637] dvb-usb: Hauppauge Nova-T 500 Dual DVB-T successfully initialized and connected. [ 32.959657] usbcore: registered new interface driver dvb_usb_dib0700
Addendum: I couldn't get this card to work no matter what I did, including several reboots. Then I powered off the machine and gave up in disgust. Next time I powered it back on it worked! Cheers, Alastair
Explanation: The card was probably already in "warm state", i.e. with a firmware already loaded. This was probably the wrong version of the firmware. A new firmware is only loaded when the card is in a "cold state", i.e. after a power off.
Another addendum: When trying to view a station that's currently off-air MythTV locks solid. Location is UK, OS is Gutsy. The expected behaviour as seen on other kit is that an informational message should be displayed. Using top on an alternative console I've found that the Myth backend was chewing up the CPU. Even when I brought it back to runlevel 2 the USB system was still out of action - it wouldn't recognize a USB stick until I rebooted. There's clearly a problem somewhere but is it driver, firmware or the backend? Ian
Quick test
- After a reboot
dmesg | grep -i dvb
to get some information on the card
[ 20.300000] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in cold state, will try to load a firmware [ 20.390000] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-01.fw' [ 21.090000] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in warm state. [ 21.090000] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 21.090000] DVB: registering new adapter (Hauppauge Nova-T 500 Dual DVB-T). [ 21.230000] DVB: registering frontend 0 (DiBcom 3000MC/P)... [ 21.850000] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 21.850000] DVB: registering new adapter (Hauppauge Nova-T 500 Dual DVB-T). [ 24.600000] DVB: registering frontend 1 (DiBcom 3000MC/P)... [ 24.787147] input: IR-receiver inside an USB DVB receiver as /class/input/input4 [ 25.240000] dvb-usb: Hauppauge Nova-T 500 Dual DVB-T successfully initialized and connected. [ 25.240000] usbcore: registered new interface driver dvb_usb_dib0700
The following line shows that the IR Receiver was also activated
input: IR-receiver inside an USB DVB receiver as /class/input/input4
IR Receiver
Grey top, black bottom, 45 buttons, snowboard shape.
It gives output into (X is variable and depends on your system)
/dev/input/eventX
LIRC will use it without needing a special kernel module. use the following driver:
dev/input
Here is a proper lircd.conf file: lircd.conf
Use the following command to find out what event it is using
cat /proc/bus/input/devices
The following file contains the udev rules for ubuntu
sudo nano /etc/udev/rules.d/10-local.rules
You should use a udev rule to fix this in place, because the event number isnt fixed
KERNEL=="input*", ATTRS{name}=="IR-receiver inside an USB DVB receiver", SYMLINK+="input/dvb-ir"
If you use this, use the commented line in hardware.conf
You will also need to reboot (or reload the right modules) to get the input device right
If this doesn't work then try replacing KERNEL=="input*" with KERNEL=="event*"
Here is an Ubuntu /etc/lirc/hardware.conf sample:
# /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="" #Don't start lircmd even if there seems to be a good config file #START_LIRCMD=false #Try to load appropriate kernel modules LOAD_MODULES=true # Run "lircd --driver=help" for a list of supported drivers. DRIVER="dev/input" # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be # automatically used instead DEVICE="/dev/input/event4" # DEVICE="/dev/input/dvb-ir" MODULES="" # Default configuration files for your hardware if any LIRCD_CONF="/etc/lirc/lircd.conf" LIRCMD_CONF=""
- Start Lirc & Test
Start the Lirc daemon running.
sudo /etc/init.d/lirc start irw
The terminal should 'appear' to hang, (not return a command prompt). Press buttons on your remote, you should see key presses then come up on the terminal. When your done, testing press <crtl> + 'c' to quit. For example:
000000000001016b 00 PrevCh NOVA-T500 000000000001006a 00 ArrowRight NOVA-T500 0000000000010192 00 ChannelUp NOVA-T500 0000000000010074 00 Power NOVA-T500 0000000000010160 00 OK NOVA-T500 0000000000010071 00 Mute NOVA-T500 0000000000010192 00 ChannelUp NOVA-T500 000000000001006a 00 ArrowRight NOVA-T500 0000000000010067 00 ArrowUp NOVA-T500 0000000000010069 00 ArrowLeft NOVA-T500 000000000001006c 00 ArrowDown NOVA-T500
Remote Control
- This is a sample /home/mythtv/.lircrc:
You will need to link it inside /home/mythtv/.mythtv
ln -s /home/mythtv/.lircrc /home/mythtv/.mythtv/lircrc
In this example the Power button is used to place the monitor (VGA/DVI/HDMI) in standby.
You will need the vbetool package:
sudo apt-get install vbetool
Then you will need to allow the mythtv user to execute the command with super user rights without password entry:
sudo visudo
then add at the end of the file:
# user mythtv can turn monitor off or standby %mythtv ALL = NOPASSWD: /usr/sbin/vbetool
lircd.conf
#
# brand: Hauppauge NOVA-T-500
# model no. of remote control: Hauppage Nova-T-500 Snowboard Shape Silver over Black
#
begin remote
name NOVA-T500
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x1
gap 199999
toggle_bit 0
begin codes
Go 0x0162
Power 0x0074
TV 0x0179
Videos 0x0189
Music 0x0188
Pictures 0x00E2
Guide 0x016D
Radio 0x0181
ArrowUp 0x0067
ArrowLeft 0x0069
OK 0x0160
ArrowRight 0x006A
ArrowDown 0x006C
BackExit 0x009E
Menu 0x008B
VolumeUp 0x0073
VolumeDown 0x0072
PrevCh 0x016B
Mute 0x0071
ChannelUp 0x0192
ChannelDown 0x0193
Record 0x00A7
Rewind 0x00A8
SkipBack 0x0195
Play 0x00CF
Pause 0x0077
Stop 0x0080
Fwdwind 0x00D0
SkipFwd 0x0197
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
7 0x0008
8 0x0009
9 0x000A
Star 0x0037
0 0x000B
# 0x0029
Red 0x018E
Green 0x018F
Yellow 0x0190
Blue 0x0191
end codes
end remote
lircrc
# /etc/lircrc # ln ~mythtv/.mythtv/lircrc # # MythTV native LIRC config file for # Hauppage Nova-T-500 PCI Dual Tuners DVB-T # Snowboard shape remote # Silver on top Black underneath # 45 buttons # # Originally # By Jarod Wilson, 2003/12/21 # Amalgamated from Jeff Campbell's .lircrc ################## MythTV Control ###################### ### http://www.mythtv.org/wiki/index.php/Keybindings ### # Remote Button ## MythTV function # Go ## Go to home page begin prog = mythtv button = Go config = ALT+H end # Power ## Turns monitor in Standby begin prog = irexec button = Power config = sudo vbetool dpms on ; sudo vbetool dpms off end # TV ## Go to Watch TV begin prog = mythtv button = TV config = ALT+T end # Videos ## Go to MythVideo begin prog = mythtv button = Videos config = ALT+V end # Music ## Go to MythMusic begin prog = mythtv button = Music config = ALT+M end # Pictures ## Go to MythGallery begin prog = mythtv button = Pictures config = ALT+P end # Guide ## display EPG begin prog = mythtv button = Guide config = s end # Radio # ArrowUp ## Up begin prog = mythtv button = ArrowUp config = Up end # ArrowLeft ## Left begin prog = mythtv button = ArrowLeft config = Left end # OK ## Select/enter/resolve begin prog = mythtv button = OK config = Space end # ArrowRight ## Right begin prog = mythtv button = ArrowRight config = Right end # ArrowDown ## Down begin prog = mythtv button = ArrowDown config = Down end # BackExit ## Exit/go back/cancel begin prog = mythtv button = BackExit config = Esc end # Menu ## Menu begin prog = mythtv button = Menu config = m end # VolumeUp ## Volume Up begin prog = mythtv button = VolumeUp config = F11 end # VolumeDown ## Volume down begin prog = mythtv button = VolumeDown config = F10 end # PrevCh ## Change tuner card input begin prog = mythtv button = PrevCh config = c end # Mute ## Mute begin prog = mythtv button = Mute config = F9 end # ChannelUp begin prog = mythtv button = ChannelUp config = Up end # ChannelDown begin prog = mythtv button = ChannelDown config = Down end # Record begin prog = mythtv button = Record config = R end # Rewind begin prog = mythtv button = Rewind config = Left end # SkipBack begin prog = mythtv button = SkipBack config = PgUp end # Play begin prog = mythtv button = Play config = Return end # Pause begin prog = mythtv button = Pause config = P end # Stop begin prog = mythtv button = Stop config = Esc end # Fwdwind begin prog = mythtv button = Fwdwind config = Right end # SkipFwd begin prog = mythtv button = SkipFwd config = PgDown end # 1 begin prog = mythtv button = 1 config = 1 end # 2 begin prog = mythtv button = 2 config = 2 end # 3 begin prog = mythtv button = 3 config = 3 end # 4 begin prog = mythtv button = 4 config = 4 end # 5 begin prog = mythtv button = 5 config = 5 end # 6 begin prog = mythtv button = 6 config = 6 end # 7 begin prog = mythtv button = 7 config = 7 end # 8 begin prog = mythtv button = 8 config = 8 end # 9 begin prog = mythtv button = 9 config = 9 end # Star ## Info begin prog = mythtv button = Star config = i end # 0 begin prog = mythtv button = 0 config = 0 end # # ## Toggle recording of current program (cycles through types) begin prog = mythtv button = # config = r end # Red ## Picture zoom begin prog = mythtv button = Red config = W end # Green # OSD navigation through channels/programs begin prog = mythtv button = Green config = O end # Yellow begin prog = mythtv button = Yellow config = Q end # Blue begin prog = mythtv button = Blue config = Z end
External links
Note for Australian Users
If you're in Adelaide, Melbourne or Hobart, you might experience intermittent poor reception with ABC and SBS. There's more detailed description of the problem in the mailing list archive. After some discussion with Patrick Boettcher, it turns out the problem can be fixed by editing the /etc/modprobe.d/options files, and adding this line:
options dib3000mc buggy_sfn_workaround=1

