Hauppauge WinTV-NOVA-T-500: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(Preparation for Template:Making-it-work:dvb-usb-dib0700)
(switching to Making it work dib0700 template)
Line 48: Line 48:
}}
}}


== Making it work ==
{{Making-it-work:dvb-usb-dib07000}}


{{Firmware:dvb-usb-dib0700}}

=== Drivers ===
It requires the dib0700 driver. Just use Mercurial by following the [[How to install DVB device drivers]] instructions.

{{Note|1=These patches still haven't made it into the tree, and have not received a lot of feedback after the latest official merges. Use at your own risk if you feel that you need them.
<div {{PreStyle}}>
; [http://www.linuxtv.org/pipermail/linux-dvb/2007-August/019493.html Silence unknown keycodes]
: When an unknown key code is received (from another remote, like the receiver's or the TV's), it is not eaten and the module keeps yelling about it. This patch stops the yelling.
: ''Jonas Anden, Thu Aug 2 00:28:17 CEST 2007''
: This patch is not cleanly applicable, but it is an easy one-liner to do by hand.
: This patch is regarded as not really being the proper fix; it just limits the effect of bad behaviour.
: This patch is not to be used with the following patch.
: This patch should be deprecated once the following patch has seen more testing.

; [http://www.linuxtv.org/pipermail/linux-dvb/2008-February/023844.html Key repeat for dib0700 IR receiver]
: Solves remote toggle bit stuff and implements repeated key feature (with repeat delay to avoid unwanted double hits) for rc-5 and nec protocols. It also contains some keymap for the remotes used for testing (a philipps compatible rc5 remote and a teac nec remote). They are far from being complete since I've used them just for testing.
: ''Filippo Argiolas, Tue Feb 19 16:17:55 CET 2008''
: This patch is not to be used with the previous patch.
: '''This patch is prefered over the previous patch.'''
</div>
Please report [http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb on the list].}}


'''Note:''' the current drivers are close to stable at the moment (2008-01-25). Occasional USB disconnects may still be experienced. The disconnects were caused by disabling the pull-down resistors or unintentional writes from the dib0700 bridge to the usb bus when accidentally hitting the end of a SOF packet. Why and when this happens can only be debugged by the dibcom firmware guys [http://www.linuxtv.org/pipermail/linux-dvb/2008-January/023123.html] . Other possible reasons for bad behavior could be bad reception (check your aerial, cabling, splitters and low-cost amplifiers) and EIT scanning. Search the [http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb linux-dvb mailing list] for more information and current problems being experienced.

=== Disabling the remote control sensor ===


You may want to disable the remote control sensor if you are using another one and want to avoid error messages in the logs:

sudo gedit /etc/modprobe.d/options
Add:
options dvb_usb disable_rc_polling=1


=== All relevant kernel modules options ===


sudo gedit /etc/modprobe.d/options
Add:
options [module name] [option name]=[setting]

Get the parameters list using
modinfo [name of kernel module]

The debug values are bit fields, with each bit representing a different category. Add values to turn on multiple debugging categories.
15.


==== dib3000mc ====


debug: turn on debugging (default: 0) (int)

buggy_sfn_workaround: Enable work-around for buggy SFNs (default: 0) (int)

==== mt2060 ====


debug:Turn on/off debugging (default:off). (int)

==== dvb_usb_dib0700 ====


force_lna_activation: force the activation of Low-Noise-Amplifyer(s) (LNA), if applicable for the device (default: 0=automatic/off). (int)

dvb_usb_dib0700_ir_proto: set ir protocol (0=NEC, 1=RC5 (default), 2=RC6). (int)

debug:set debugging level (1=info,2=fw,4=fwdata,8=data (or-able)). (debugging is not enabled) (int)

==== dvb_usb ====


debug: set debugging level (1=info,xfer=2,pll=4,ts=8,err=16,rc=32,fw=64,mem=128,uxfer=256 (or-able)). (int)

disable_rc_polling: disable remote control polling (default: 0). (int)

force_pid_filter_usage: force all dvb-usb-devices to use a PID filter, if any (default: 0). (int)


==== dvb_core ====


dvb_net_debug: enable debug messages (int)

frontend_debug: Turn on/off frontend core debugging (default:off). (int)

dvb_shutdown_timeout: wait <shutdown_timeout> seconds after close() before suspending hardware (int)

dvb_force_auto_inversion: 0: normal (default), 1: INVERSION_AUTO forced always (int)

dvb_override_tune_delay: 0: normal (default), >0 => delay in milliseconds to wait for lock after a tune attempt (int)

dvb_powerdown_on_sleep: 0: do not power down, 1: turn LNB voltage off on sleep (default) (int)

cam_debug: enable verbose debug messages (int)

debug: Turn on/off debugging (default:off). (int)

dvbdev_debug: Turn on/off device debugging (default:off). (int)


==== dibx000_common ====


debug: turn on debugging (default: 0) (int)


=== Remote control ===
Grey top, black bottom, 45 buttons, snowboard shape.

Find the IR receiver's device by looking in the 'dmesg' output for a line similar to:

input: IR-receiver inside an USB DVB receiver as /class/input/'''input4'''

Additionally, the IR receiver will be listed if you execute the command:

cat /proc/bus/input/devices

For example:

I: Bus=0003 Vendor=2040 Product=9950 Version=0100
N: Name="IR-receiver inside an USB DVB receiver"
P: Phys=usb-0000:07:01.2-1/ir0
S: Sysfs=/class/input/'''input4'''
U: Uniq=
H: Handlers=kbd '''event4'''
B: EV=3
B: KEY=14afc336 284284d00000000 0 480058000 219040000801 9e96c000000000 90020000000ffd

In this example, the remote control gives output into
/dev/input/event4
The event number depends on your particular system and can vary.

Eventually this event number can even vary at every reboot.

You could create a new udev rule in the following file /etc/udev/rules.d/65-persistent-hauppauge.rules

KERNEL=="input*", ATTRS{name}=="IR-receiver inside an USB DVB receiver", SYMLINK+="input/dvb-ir"

This would make the Hauppauge receiver always always ne linked to '''/dev/input/dvb-ir'''.

But Linux systems runing recent udev will automatically create non-varying names, a nicer and automatic way of providing a stable input event name:

$ ls -la /dev/input/by-path/
total 0
drwxr-xr-x 2 root root 140 2008-02-07 20:31 .
drwxr-xr-x 4 root root 280 2008-02-07 20:31 ..
lrwxrwxrwx 1 root root 9 2008-02-07 20:31 pci-0000:00:1a.1-usb-0:2:1.0-event-kbd -> ../event1
lrwxrwxrwx 1 root root 9 2008-02-07 20:31 pci-0000:00:1a.1-usb-0:2:1.1-event-mouse -> ../event2
lrwxrwxrwx 1 root root 9 2008-02-07 20:31 pci-0000:00:1a.1-usb-0:2:1.1-mouse -> ../mouse1
lrwxrwxrwx 1 root root 9 2008-02-07 20:31 '''pci-4-1--event-ir -> ../event4'''
lrwxrwxrwx 1 root root 9 2008-02-07 20:31 platform-pcspkr-event-spkr -> ../event3

LIRC will use it without needing a special kernel module. use the dev/input driver and specify the input event device in /etc/lirc/hardware.conf:

# /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/by-path/pci-4-1--event-ir'''"
MODULES=""
# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF=""

Here is a proper lircd.conf file:

#
# 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
* 0x0037
0 0x000B
# 0x0029
Red 0x018E
Green 0x018F
Yellow 0x0190
Blue 0x0191
end codes
end remote





Revision as of 11:39, 20 February 2008

WinTV-Nova-T-500

This is a dual tuner DVB-T PCI card from Hauppauge.

Native support under Linux started at kernel 2.6.19. As development and refinements never stopped since then, it is strongly suggested to compile an up-to-date v4l-dvb drivers tree and get the latest firmware.

Overview/Features

In actuality, the device's receivers are USB based, 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 (USB to PCI). This unique design is also known as "Bristol".

Components Used

  • 2x Microtune MT2060 tuner
  • 2x DiB3000P DiBcom 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).

Some further technical details may be found in DiBcom DiB0700 USB2.0 DVB-T based devices.

Identification

You will find the model name and number on the box, under the bar code. Cards known to work have the following:

  • WinTV-NOVA-T-500 model 289 SL-289-V2.0-UK (in the UK there is also a model 287 - according to Hauppauge UK support this is identical to the model 289 - it is just a PC World/Dixons specific box)
  • WinTV-NOVA-T-500 model 289 SL-289-V2.1-UK ... Note: It would appear that having V2.1 on the box could be either the Nova-T or the unsupported Nova-TD (see below). Most confusing!
  • List incomplete, please add

WinTV-NOVA-TD-500

Note: This is an unsupported revision !!
Warning! WinTV-Nova-TD-500

This card appears to have been released, in low volumes, only in the UK, but unfortunately it seems that Hauppauge is shipping the Diversity* card in regular NOVA-T-500 boxes!

[* 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]. ]

This newer revision can be distinguished by:
On the box:

  • You will find the model name and number under the bar code:
    • WinTV-NOVA-T-500
    • model 289
    • SL-289-V2.1-UK.
  • The box also has a sticker stating it is the diversity option and only suitable for intel cards.
    • To quote one user running the device under Windows: "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 was apparently never sold for mass-production and DiBcom has end-of-life'd the chip. Furthermore, DiBcom currently do not plan on providing support for this controller. Consequently, 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. [2][3]

Fortunately, for Linux users who have mistakingly received a Diversity variant, Hauppauge are apparently willing to exchange this product to a genuine T-500. Call the UK support line 0207 378 0202 and say you have read this article and bought your product from ebuyer, dabs or wherever.

Template:Making-it-work:dvb-usb-dib07000


Specific to the model

You may want/need to turn on the on-board amplifier:

sudo gedit /etc/modprobe.d/options

Add:

options dvb-usb-dib0700 force_lna_activation=1


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


External Links