Hauppauge WinTV Nova-T USB2

From MythTV

Jump to: navigation, search
Capture Card Information
Vendors Website http://www.hauppauge.co.uk/pages/products/data_novatusb2.html
Support Status Good support at 0.19.1
Driver 'dibusb' from linuxtv.org. For the newest models, 'dib0700' from linuxtv.org - and you need to compile the drivers from here[1]. 2.6.20 will have these drivers included.
Sound Driver ?
Chipset ?



Contents

Description

WinTV Nova-T USB2 and Remote
Enlarge
WinTV Nova-T USB2 and Remote

There are two kind of models. Both models are external USB 2 DVB-T receivers for terrestrial digital transmissions. They are external USB 2.0 sticks that will not work with 1.0 USB ports.

The newer model has an USB input on the front, an RF connector at the back, and an infrared receiver on the side. It is bus powered and does not come with a remote control.

The old model has at the back, a USB socket and an RF aerial connector, and come with a standard USB connector. In the front, it has an infrared receiver and a led that lights when pressing the remote control keys. It is bus powered and comes with a remote control.

Installation guide

Installation differs for the two kinds of models.

Old models

Get kernel sources above 2.6.12.rc3, I used mm-sources as my usual gentoo-sources doesn't run this close to the cutting edge.

Enable the "Di Bcom USB DVB-T devices" / CONFIG_DVB_DIBUSB kernel module. Make and install your new kernel and modules.

Get a copy of the firmware (on mine "dvb-dibusb-nova-t-1.fw") from either the dvb-kernel cvs (in firmware/, will need renaming from "dvb-usb-nova-t-usb2-01.fw") or here. Place this in either /lib/firmware/, or /usr/lib/hotplug/firmware/ (if you dont know which it is on yours, try one and the step below, if u get a cant find firmware error in dmesg, try the other).

New models

You need the firmware called 'dvb-usb-dib0700-01.fw'

The newest drivers available from the snapshot of 09/12/2006 from www.linuxtv.org[2] are needed, otherwise you will get the errors described here[3].

Having the newest stable kernel (2.6.19) does not alleviate this problem, you still have to compile&install the above mentioned sources. Possibly the 2.6.20 will have these drivers integrated (see mail from linuxtv maintainer to Linus).

Fedora Core 5 with newer models of the Nova

Assuming that dvb-usb-nova-t-usb2-01.fw (as above) doesn't work for you... My symptoms were... Detection and then firmware download seemed ok. On "hot" reboot of box it all locked up, on a "cold" reboot nothing much happened (the frontend wasn't found and the DVB devices not created). If you have similar problems you may need newer firmware. You need to find dvb-usb-nova-t-usb2-02.fw (not "-01"), I got it from http://www.thadathil.net/dvb/fw/ after spotting a posting on a forum. I then put it into /lib/firmware and renamed it to dvb-usb-nova-t-usb2-01.fw (for luck you could also put a symbolic link in /usr/lib/hotplug/firmware/ if you like but I didn't need to). Everything seemed to work ok after that.

Plug in the box. If you're using hotplug and udev, a new adapter should show up in /dev/dvb.

From there, it's just like testing and configuring other DVB cards.

Note: The thadathil.net website no longer exists, but a bunch of firmware (including dvb-usb-nova-t-usb2-02.fw ) is here http://ubuntuforums.org/showpost.php?p=4570186&postcount=6 --Jak 14:01, 23 March 2008 (UTC)

Issues and Problems

The kernel driver for this card suffers from long standing misbehaviours that prevent it to work with MythTV 0.19.

I've heard that there can be problems tuning sometimes, but MythTV from version 0.20 (I think) allows you to add a delay to when tuning to the card. You do this in the offline mythtv-setup program, go to the DVB card, then Recording Options and set a delay (I think the onscreen help even mentions this card). This solution "might"? be related to the above problem?

Associated Software

  • tzap : Channel changer program
  • scan : Tuner config scanner
  • mplayer : good for testing that the tuning is working

The best method to get the tzap and scan programs is to build them from the cvs at linuxtv.org..

The Nova-t Remote Control

  • Handset: This is the newer Hauppauge grey top / black underside unit. It takes a pair of AAA batteries and has 45 buttons.
  • Receiver: The receiver for this card is a small round IR diode unit integrated in the case.

Setup

Newer kernels have support for this card as a keyboard. Button pushes received by the dongle are translated into keyboard events. Kernel 2.6.15 understands all the buttons, but only the arrows, OK, numbers and volume keys have functions assigned. One way around is to patch the drivers/media/dvb/dvb-usb/nova-t-usb2.c file to use standard keys instead of multimedia keys.

LIRC

You don't need to patch the kernel to detect which device the tuner has been assigned to.

Add the following to your lircd init script, assuming LIRCD_OPTS is the variable used to pass options to lircd. This greps the IR control activation string out of the kernel device message buffer, and passes the correct device number as an option. This trick works with pretty much any input device assigned a variable device ID at startup, as long as it logs a distinctive message.

DEVNUM=$(dmesg | grep "input: IR-receiver inside an USB DVB receiver" | egrep [0-9]{1}$ -o)
LIRCD_OPTS="-d /dev/input/event${DEVNUM}"

The file with the keycodes is not the same as with the PCI version, but is "/usr/src/linux/drivers/media/dvb/dibusb/dvb-dibusb-remote.c" (Scroll down to "/* Hauppauge NOVA-T USB2 keys */"). I tried adding these as new keybindings with MythWeb, but that did not work either.

To get it working I changed the keys in the above source file to match the (mostly) default mythtv keybindings. You can see my final version here. Not all the keys are doing anything useful at the moment, but at least it works!

Keyboard

Presumably you could leave out the LIRC support from MythTV and just map the keypresses that the remote uses to the features of Myth, but neither X.org nor Qt 3.3 knows about the extended multimedia keys.


An alternative approach

I have this working with FC5 plus SVN Myth...

I have lircd enabled in the compile of Myth. I installed lircd through yum. I'm experimenting with udev to see if I can get it to create a specific device for me for the Nova Remote (as the above rather neat and clever grepping only works for a while after reboot as dmesg is a circular buffer). Also, I had to specify the driver as dev/input for anything to work. In the meantime my /etc/sysconfig/lircd reads (I'm considering options ;) )...

# Options to lircd
#LIRCD_OPTIONS=
DEVNUM=$(dmesg | grep "input: IR-receiver inside an USB DVB receiver" | egrep [0-9]{1}$ -o)
# LIRCD_OPTS="-d /dev/input/event${DEVNUM}" 
LIRCD_OPTIONS="--device=/dev/input/event1 --driver=dev/input"
# LIRCD_OPTIONS="--device=/dev/input/event${DEVNUM} --driver=dev/input"

As the kernel understand "some" of the keys (and I don't want to compile kernels...), there can be problems when you want to use ALL of the keys as you can get a few double triggers (e.g. kernel plus keyboard emulation = two Ups I decided to use slightly less common names to avoid "double triggers" e.g. ArrowUp rather than Up. This seems to work ok, although I can't promise ALL the codes will work. If not, try making your own lircd.conf file with irrecord - but use the same "names" for the keys.

My lircd.conf file is as follows

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.1-CVS(dev/input) on Sun Oct  8 22:51:46 2006
#
# contributed by JonS
#
# brand:                       irrecord.nova-T-usb
# model no. of remote control: Hauppage Nova-T USB Snowboard Shape Silver over Black
# devices being controlled by this remote: MythTV
#
 
begin remote
 
  name  irrecord.nova-T-usb
  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

Once you have this up and running (e.g. add the file and get lircd running ok) use irw to check that all is ok. e.g.

[root@mythtv mythtv_svn]# tail -f /var/log/messages | grep lirc &
[1] 6342
[root@mythtv mythtv_svn]# irw
Oct 17 23:07:51 mythtv lircd-0.8.1-CVS[2266]: accepted new client on /dev/lircd
0000000000010067 00 ArrowUp irrecord.nova-T-usb
000000000001006c 00 ArrowDown irrecord.nova-T-usb
0000000000010069 00 ArrowLeft irrecord.nova-T-usb
000000000001006a 00 ArrowRight irrecord.nova-T-usb
 
<CTRL-C>
[root@mythtv mythtv_svn]# Oct 17 23:08:09 mythtv lircd-0.8.1-CVS[2266]: removed client
 
[root@mythtv mythtv_svn]# fg
tail -f /var/log/messages | grep lirc
 
[root@mythtv mythtv_svn]# 

If lircd falls over (watch in syslog) when you start irw then you probably have the wrong input. I have then a lircrc file like this... (please note this is adapted and all the xine/mplayer stuff I haven't really finished yet... ) This is a work in progress so there may be things that don't work, or don't work the way you want. But it's a start heh? PS I use the Yellow and Blue for commercial skipping, and the top row of buttons for "Jumping" around in MythTV (these are defined towards the end of the MythTV stuff). After that it is mostly untouched from Jarods stuff. I'll update this once I've got xine the way I want it. I probably won't bother too much with mplayer stuff now.

# /etc/lircrc
# ln ~mythtv/.mythtv/lircrc
#
# MythTV native LIRC config file for
# Hauppage Nova-T USB 2 
# Snowboard shape remote
# Silver on top
# Black underneath
# Lots of buttons...
#
# Originally 
# By Jarod Wilson, 2003/12/21
# Amalgamated from Jeff Campbell's,
# .lircrc, the mythtv.org docs, and
# a few touches of my own. :)
# then messed around with by JonS 
# Sept/Oct 2006

 
# Channel Up
begin
prog = mythtv
button = ArrowUp
config = Up
end
 
# Channel Down
begin
prog = mythtv
button = ArrowDown
config = Down
end
 
# General Left
begin
prog = mythtv
button = ArrowLeft
config = Left
end
 
# General Right
begin 
prog = mythtv
button = ArrowRight
config = Right
end
#
 
# Volume Up
begin
prog = mythtv
button = VolumeUp
config = F11
end
 
# Volume Down
begin
prog = mythtv
button = VolumeDown
config = F10
end
 
# Channel Up
begin
prog = mythtv
button = ChannelUp
config = Up
end
 
# Channel Down
begin
prog = mythtv
button = ChannelDown
config = Down
end
 
 
# OK/Select
begin
prog = mythtv
button = OK
config = Space
end
 
# Play
begin
prog = mythtv
button = Play
config = Return
end
 
# Stop
begin
prog = mythtv
button = Stop
config = Esc
end
 
# Escape/Exit/Back
begin
prog = mythtv
button = BackExit
config = Esc
end
 
# Power Off/Exit
begin
prog = mythtv
button = Power
config = Esc 
end
 
# Red means stop!
begin
prog = mythtv
button = Red
config = Esc
end
 
# Pause
begin
prog = mythtv
button = Pause
config = P
end
 
# Mute
begin
prog = mythtv
button = Mute
config = F9
end
 
# Fast forward (10 sec default)
begin
prog = mythtv
button = Fwdwind
config = Right
end
 
# Rewind (10 sec default)
begin
prog = mythtv
button = Rewind
config = Left
end
 
# Skip forward (10 min default)
begin
prog = mythtv
button = SkipFwd
config = PgDown
end
 
# Skip backward (10 min default)
begin
prog = mythtv
button = SkipBack
config = PgUp
end
 
# Record
begin
prog = mythtv
button = Record
config = R
end
 
# Delete
begin
prog = mythtv
button = BLANK
config = D
end
 
# OSD browse
begin
prog = mythtv
button = Green
config = O
end
 
# Display EPG while in live TV,
# View selected show while in EPG
begin
prog = mythtv
button = Menu
config = M
end
 
# Bring up OSD info
begin
prog = mythtv
button = Guide
config = I
end
 
# Change display aspect ratio
begin
prog = mythtv
button = Go
config = W
end
 
# Seek to previous commercial cut point
begin
prog = mythtv
button = Yellow
config = Q
end
 
# Seek to next commercial cut point
begin
prog = mythtv
button = Blue
config = Z
end
 
# Numbers 0-9
 
begin
prog = mythtv
button = 0
config = 0
end
 
begin
prog = mythtv
button = 1
config = 1
end
 
begin
prog = mythtv
button = 2
config = 2
end
 
begin
prog = mythtv
button = 3
config = 3
end
 
begin 
prog = mythtv
button = 4
config = 4
end
 
begin
prog = mythtv
button = 5
config = 5
end
 
begin
prog = mythtv
button = 6
config = 6
end
 
begin
prog = mythtv
button = 7
config = 7
end
 
begin
prog = mythtv
button = 8
config = 8
end
 
begin
prog = mythtv
button = 9
config = 9
end 
 
begin
prog = mythtv
button = TV
config = T
end
 
begin
prog = mythtv
button = Videos
config = V
end
 
begin
prog = mythtv
button = Music
config = N
end
 
begin
prog = mythtv
button = Pictures
config = Q
end
 
### MPlayer lirc setup
 
# Show OSD
begin
prog = mplayer
button = Menu
config = osd
end
 
# Pause playback
begin
prog = mplayer
button = Pause
config = pause
end
 
# Skip ahead a minute if playing
# If paused, resume playing
begin
prog = mplayer
button = Play
config = seek +1
end
 
# Stop playback and exit
begin
prog = mplayer
button = Stop
config = quit
end
 
# Mute
begin
prog = mplayer
button = Mute
config = mute
end
 
# Seek back 10 seconds
begin
prog = mplayer
button = Replay
config = seek -10
end
 
# Seek forward 30 seconds
begin
prog = mplayer
button = Skip
config = seek +30
end
 
# Quit
begin
prog = mplayer
button = BackExit
config = quit
end
 
# Seek forward 10 minutes
begin
prog = mplayer
button = SkipSkip
config = seek +600
end
 
# Seek backward 10 minutes
begin
prog = mplayer
button = ReplaySkip
config = seek -600
end
 
# Toggle full-screen
begin
prog = mplayer
button = FULL
config = vo_fullscreen
end
 
### Xine lirc setup
 
begin
prog = xine
button = PLAY
config = Play
end
 
begin
prog = xine
button = STOP
config = Stop
end
 
begin
prog = xine
button = OFF
config = Quit
end
 
begin
prog = xine
button = PAUSE
config = Pause
end
 
begin
prog = xine
button = CH+
config = EventUp
end 
 
begin
prog = xine
button = CH-
config = EventDown
end
 
begin
prog = xine
button = VOL-
config = EventLeft
end
 
begin
prog = xine
button = VOL+
config = EventRight
end
 
begin
prog = xine
button = OK
config = EventSelect
end
 
begin
prog = xine
button = BACK/EXIT
config = Menu
end
 
begin
prog = xine
button = FFW 
#config = SpeedFaster
config = SeekRelative+60
end
 
begin
prog = xine
button = REW
#config = SpeedSlower
config = SeekRelative-60
end
 
begin
prog = xine
button = FULL
config = Volume+
end
 
begin
prog = xine
button = BLANK
config = Volume-
end
 
begin
prog = xine
button = MUTE
config = Mute
end
 
begin
prog = xine
button = MENU
config = RootMenu
end 
 
begin
prog = xine
button = SKIP
config = EventNext
end
 
begin
prog = xine
button = REPLAY
config = EventPrior
end
 
begin
prog = xine
button = GO
config = OSDStreamInfos
end
 
begin
prog = xine
button = RED
config = Quit
end
 
begin
prog = xine
button = RED
config = Quit
end
 

Relevant Pages

Personal tools