Hauppauge WinTV-NOVA-TD-Stick
A DVB-T USB device from Hauppauge.
It is supported under Linux.
Overview/Features
This device features two tuners and is supplied with two antennas. You'll have adapter0 and adapter1 in /dev/dvb, which you can use separately. Adapter0 seems to be the connector on the side of the stick?
The "Diversity" option is a hardware based feature that allows for the device's two receivers to be configured in a combined use mode to achieve better reception on a single channel. The diversity feature of the DiBcom demodulators is currently not implemented in the Linux-DVB drivers, so only the dual tuner configuration is presently supported on such devices [1].
Components Used
- 2× Microtune MT2266 tuners
- Dibcom DiB7700P DVB-T demodulator
Identification
This device's USB ID is 2040:9580.
Making it work
Diversity mode
The driver currently does not support Diversity, it only support Dual-Tuner.
First problem is that it comes in Diversity mode as default. So, is needed to change from Diversity mode to Dual-Tuner mode by using Windows/MacOS driver diversity utility (it is only needed to change once, first time).
Firmware
August 21, 2008 - New firmware file fixing the last cause for i2c errors and disconnects and providing a new, more modular i2c request formatting.
You will need the dvb-usb-dib0700-1.20.fw firmware file in /lib/firmware or the relevant place for your distribution.
You may need to change the name of the file to dvb-usb-dib0700-1.10.fw or create a link until the driver code reflects that change.
For archival purposes: dvb-usb-dib0700-1.10.fw firmware file
August 29,2008 - Issues with Firmware 1.20. Some issues have been found with the latest version of the firmware. Users may wish to continue to use 1.10 unless they have patched their v4l-dvb code with dib0700_new_i2c_api.patch.
November 15,2008 - Issues with Firmware 1.20.
- The above mentioned dib0700_new_12c_api.patch is not available discretely but is now rolled into the mercurial drivers
dvb-usb-dib0700-1.20.fw firmware fileis now stable for reception, but remote control functionality is broken; any key press is repeated until the next key is pressed. The only way to get remote control functionality presently is to roll back to 1.10 firmware and suffer the occasional disconnect.- The mercurial drivers have been changed so they now load 1.20 firmware. To revert to 1.10 firmware you need to rename your firmware file to dvb-usb-dib0700-1.20.fw or provide a link of that name.
- To avoid spurious remote control signals with 1.20 firmware, you need to edit /etc/modprobe.d/options or from Ubuntu onwards /etc/modprobe.d/options.confand add:
options dvb_usb disable-rc-polling=1
November 28,2008 - i2c errors. Changes were made to the remote control drivers on November 16,2008 to correct the repeat key problem. The card is generally stable for dual tuner reception and remote control function with Firmware 1.20.
November 10,2009 - mt2060 I2C write failed. Possible regression of a driver bug raised against Ubuntu running 2.6.27-14 and 2.6.31-2.17 causing mt2060 I2C errors in MythTV useage with firmware 1.20. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/397696 Recommend check the kernel extensions listed here for Low Noise Activation and rc_polling are loaded with correct config file name for your distribution, EIT listings information is turned off until a suitable delay (500ms-1000ms)is added to a single card (not both) and the card has correctly been added to the database as two tuners (no additional NULL entries) in the mythtv recordcard table.
Drivers
Support is present in the Linux kernel from version 2.6.24-rc1.
Just use Mercurial by following the How to install DVB device drivers instructions.
Specific Remote control support
There is no need to compile and load any lirc modules; the remote is detected along with the tuner and is registered as a USB input device. If you are using udev or devfs then this means that the device should be linked to one of the /dev/input/event* device nodes and a simple rule will create a named symlink.
If you do want to use lircd then you will need to use irrecord to generared a config file as the existing files do not match the Nova-TD remote. irrecord will fail if you obey its instructions and hold down an arbitrary key; instead, when you are told to hold an arbitrary key, press an arbitrary key repeatedly (the same one, not different ones each time) until irrecord reports that it has found the gap length.
As long as the evdev module is loaded, the remote will be treated as a usb keyboard and this means that you can avoid using lirc. Many of the keys generate keycodes which are not mapped to anything, by default, in X; you can use xev to find the keycodes and xmodmap to map them to useful symbols. Unfortunately, some keys generate keycodes that X doesn't seem to recognise at all (on my set-up, at least) and the device does not support keymaps, or this would be easy to fix.
Sample kernel output
From 2.6.20-16-generic with drivers compiled from repository 4th Jan 07:
$ dmesg | grep dvb [ 40.858884] dvb-usb: found a 'Hauppauge Nova-TD Stick/Elgato Eye-TV Diversity' in cold state, will try to load a firmware [ 40.912496] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.10.fw' [ 41.624338] dvb-usb: found a 'Hauppauge Nova-TD Stick/Elgato Eye-TV Diversity' in warm state. [ 41.624397] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 42.047026] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 42.359232] dvb-usb: schedule remote query interval to 150 msecs. [ 42.359235] dvb-usb: Hauppauge Nova-TD Stick/Elgato Eye-TV Diversity successfully initialized and connected. [ 42.359404] usbcore: registered new interface driver dvb_usb_dib0700 [ 68.220540] dvb_usb_dib0700 2-4:1.0: resuming [ 68.220812] dvb_usb_dib0700 2-4:1.0: resuming