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").
There are several versions of this card; 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.
Linux Support
You will have to get the latest drivers from LinuxTV.org, as described below.
Linux distributions started to support the different variants of this card at different times; and as with much hardware support in Linux there is a time-lag between release of a new variant and support for it being provided in Linux.
Linux generally had issues with all the Hauppauge WinTV Nova-T 500 PCI cards with kernels older than August 2007
The TD-500 variant of this card (also known as the "Diversity" version but often sold as simply a T-500) is supported in Linux since V4L added support in the underlying drivers:
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)
The "Diversity" variant can be distinguished by having two aerial input sockets. It didn't work with Ubuntu Linux 8.04 (kernel 2.6.24), but is recognized by Ubuntu Linux 8.10 (kernel 2.6.27) onwards.
As such the only known issues with this card in recent distributions of Linux is with a particular batch of cards that only worked successfully in Windows/Intel based systems:
68109 Model; This card was released in very low volumes, probably only in the UK, and is not supported in Linux. Hauppauge has been swapping these units for Linux users; call Hauppauge customer services. There is no new stock of this card (end of life components) and it has now been replaced by the 84109 Model Nova-TD 500 which works fine in Linux.
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.
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.
Installing - building kernel modules
Examples provided are for Ubuntu but much of the information is applicable to all distributions although the methods of installation may be different.
All necessary module/firmware files are provided by the "restricted drivers" packages.
Since an install would cause many problems if the LinuxTV driver is newer that the kernel, sowe'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 (If using firmware v1.10, it needs to be copied as v1.20 - this is because the driver, which is installed later in the process expects v1.20. See here for more info.)
sudo cp dvb-usb-dib0700-1.10.fw /lib/firmware/dvb-usb-dib0700-1.20.fw
- 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.
gksudo gedit /etc/modprobe.d/options Add: options dvb-usb-dib0700 force_lna_activation=1
or if you're using Ubuntu 9.04 onwards
gksudo gedit /etc/modprobe.d/options.conf 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
New firmware is only loaded when the card is in a "cold state", i.e. after a power off and then a power on that forces the card to load fresh firmware. You should shutdown the server for a few seconds, unplug and hit the power button to clear the capacitors. Then, start it back up by powering the server back on. If you do a simple reboot, the card might use the previously loaded firmware and kernel extensions.
Once you are happy with your config and firmware, normal reboots in day to day operation will be fine.
Installing - Mythbuntu 9.04-9.10
Mythbuntu already includes a kernel that is able to use the v4l drivers and the 1.20 firmware. To use them, physically install your card as normal and you'll find it active in mythtv-setup under capture cards.
However, there are regular cases of i2c mt2060 errors in dmesg and /var/log/messages. The cause can be a number of reasons:
- Low quality signal
- Not including the Low Noise Amplification (LNA) in the modprobe config for kernel extensions
- The backend putting in multiple card entries (possible bug/user error)
- EIT scanning set on a card with a low tuning delay
You can get a cheap signal strength meter to check signal strength if you can't get your tuner card to work. In the UK this is a cheap and simple model (you will need RF adapters for one end, probably a male connector at £2.99 each) to plug into your tuning card: http://www.maplin.co.uk/Module.aspx?ModuleNo=221768
Make sure your modprobe options file has the correct elements:
sudo nano /etc/modprobe.d/options.conf Add: options dvb-usb-dib0700 force_lna_activation=1
If you're not using the remote control and want to remove the error meesages from the log files you could also add
sudo nano /etc/modprobe.d/options.conf Add: options dvb_usb disable_rc_polling=1
There has been reports on the Ubuntu forums that it would be better to add these kernel options to a different file, not putting them inside options.conf. If you want to do this, make sure you remove the same kernel options from options.conf and edit the following file:
sudo nano /etc/modprobe.d/dvb-usb-dib0700.conf Add: options dvb-usb-dib0700 force_lna_activation=1
Make sure you now perform a 'cold boot'. Power down the server and wait a few seconds before starting back up. This forces the kernel to reload the firmare, rather then using the same firmware from the previous reboot.
Running the next command will let you know that the firmware was loaded from 'a cold state' and the kernel options were loaded:
dmesg | egrep "dvb|v4l|dvb-usb|ic2|mt2060|error"
Next check using either MySqltools or PhpMyAdmin (installing via your package managment system) the card table in the mythconverg database http://www.mythtv.org/wiki/Capturecard_table. Inside the database mythconverg there is a table called capturecard, browse the table. Ensure that there is no additional entries in the table, the Nova-T 500 should provide just two.
A quick way to check is to exit myth-setup and run mythbackend. Using mythweb, go to the status page and see what numbers have been assigned to the capture cards. If they were set up correctly, they should be numbered 1 and 2 as the first and second capture cards that the system will use.
In the capturecard table, if you see more then two entries, with elements labled NULL, then you have an issue. If you feel brave, you could use MySqltools or PhpMyAdmin to edit the card table and delete the extra rows that shouldn't be there. Mythtv recommend using the mythtv-setup to delete all capture cards (on the server, not just the hostname) and sources before making changes. This prevents the database creating additional cards or spurious entries. http://www.gossamer-threads.com/lists/mythtv/users/260095#260095
When adding the capture cards, I would recommend disabling EIT on each card until the channel scan is complete. The listings data source could be set to EIT (transmitted) otheriwse a channel scan will provide no channels.
Once a channel scan is complete, go back to one of the capture cards and enable EIT and add a tuning delay of 500ms. Edit the second tuning card and add a delay of 1000ms to the tuning options. this should prevent lockups and both cards attempting to download the EIT listings data.
Quick test
- After a 'cold' reboot
dmesg | egrep "dvb|v4l|dvb-usb|ic2|mt2060|error"
to get some information on the card and any potential errors
[ 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 (unless you enabled rc_polling in the modprobe config).
input: IR-receiver inside an USB DVB receiver as /class/input/input4
Known issues
Tuners lock up... In order to reduce the occurrence of this; disable active EIT on one of the tuners. Read this thread:http://www.gossamer-threads.com/lists/mythtv/users/445907?search_string=nova-td%20500%20eit;#445907
Devin Heitmueller confirmed in October 2009 that there is a known issue with the Nova-T going through a "warm-boot". Devin extended the V4L drivers to use the 1.20 firmware.
http://www.gossamer-threads.com/lists/mythtv/users/403024#403024
the obvious solution seems to perform a cold boot (remove the PC power-cord and wait 10 seconds before reconnection) if things don't work as they should! increasing the tuning delay has been reported to minimise the number of times the tuner locks up and therefore the quantity of cold-boots required.
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*"
Another approach is to create a symlink to the correct device in the by-path directory. For instance in /etc/rc.local add a line along the lines of
ln -s /dev/input/by-path/pci-0000\:01\:05.2-event-ir /dev/input/dvb-ir
Then use /dev/input/remote as the device in lirc/hardware.conf
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
- Hauppauge UK product page
- LinuxTV wiki page on the Hauppauge WinTV NOVA-T-500
- A great resource for installing this card on Ubuntu
Note for Australian Users
If you're in Adelaide, Brisbane, 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

