Getting the DViCO FusionHDTV Dual4 Tuner working under Intrepid Ibex

DViCO have released two variants of the FusionHDTV Dual4 tuner card. This little tutorial relates to Revision 2 of the board, which is basically just a USB PCI-card with two USB tuners on it.

Firstly we need to get Mercurial installed, along with a few other bits and bobs. Mercurial is a version control programme. Apt-get will install it, along with required dependencies. Note that they are back-ticks around uname -r, not apostrophes.

# sudo apt-get install mercurial gcc build-essential linux-headers-`uname -r`

Navigate through to your home directory:

# cd ~

Clone the v4l-dvb tree

# hg clone http://www.linuxtv.org/hg/v4l-dvb

This may take a while, depending on several things. Next we need to change to the v4l-dvb directory and compile/install the v4l drivers.

# cd v4l-dvb
# make
# sudo make install

Reboot and the card should now be fully functional, recognised as two separate tuners.

Next you need to configure LIRC to use the IR-receiver in the TV-card. Find out which event it's connected to by running

dmesg |grep IR-receiver

It should bring up two lines ending in /input/input and then two different numbers. Pick one of them - it doesn't matter which.

You now need to edit /etc/lirc/hardware.conf

REMOTE="Custom"
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="/dev/input/event7"
LOAD_MODULES="true"

Change the 7 to whatever number you decided on from the two that dmesg offered.

Put the following into /etc/lirc/lircd.conf

begin remote

name DVICO_DUAL_TUNER
bits 16
eps 30
aeps 100

one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x1
gap 199991
toggle_bit_mask 0x16000000
toggle_bit 0

begin codes
ok 0x0160
up 0x067
down 0x06C
left 0x069
right 0x06A
setup 0x008D
guide 0x016D
dtv 0x0179
mp3 0x0187
dvd 0x0185
profile 0x016C
back 0x009E
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
7 0x0008
8 0x0009
9 0x000A
0 0x000B
return 0x001C
vol_up 0x0073
vol_down 0x0072
ch_up 0x0192
ch_down 0x0193
pc_off 0x0074
tv_off 0x0164
replay 0x00A5
skip 0x00A3
mute 0x0071
open 0x0086
info 0x0166
live_tv 0x0182
rec 0x00A7
dvd_menu 0x008B
snapshot 0x00D4
alt_tab 0x000F
screen 0x0174
play 0x00A4
stop 0x0080
rew 0x00A8
ff 0x00D0
screen 0x0174
16:9_4:3 0x0173
end codes

end remote

If the remote works (check by running irw at a command prompt and press a few buttons on the remote), but only the number-keys and the arrows work, you need to stop HAL from taking control of the IR-receiver.

Navigate through to /usr/share/hal/fdi/preprobe/20thirdparty and check what files are there. It's likely that there is a lirc.fdi file there. It needs to be edited. The existing lirc.fdi is very similar to this, just the contains_ncase=“IR-receiver” is different.

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
  <device>
     <match key="info.product" contains_ncase="IR-receiver">
        <merge key="info.ignore" type="bool">true</merge>
     </match>
  </device>
</deviceinfo>

You should now have full remote-control capabilities (check again with irw).

You now need to assign keyboard keys to the buttons on the remote.

Under your profile /home/username there will be a hidden file called .lircrc

Mine looks like this - note that some buttons aren't mapped:

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = ok
  config = Return
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = up
  config = Up
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = down
  config = Down
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = left
  config = Left
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = right
  config = Right
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = setup
  config = S
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = guide
  config = G
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = dtv
  config = d
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = mp3
  config = m
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = dvd
  config = v
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = profile
  config = p
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = back
  config = backspace
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 0
  config = 0
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 1
  config = 1
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 2
  config = 2
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 3
  config = 3
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 4
  config = 4
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 5
  config = 5
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 6
  config = 6
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 7
  config = 7
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 8
  config = 8
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 9
  config = 9
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = return
  config = m
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = vol_up
  config = ]
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = vol_down
  config = [
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = ch_up
  config = PgUp
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = ch_down
  config = PgDown
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = pc_off
  config = 
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = tv_off
  config = 
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = replay
  config = <
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = skip
  config = >
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = mute
  config = |
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = open
  config = o
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = info
  config = i
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = live_tv
  config = l
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = rec
  config = 
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = dvd_menu
  config = q
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = snapshot
  config = 
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = alt_tab
  config = 
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = play
  config = p
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = stop
  config = Esc
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = rew
  config = ,
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = ff
  config = .
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = screen
  config = 
  repeat = 0
  delay = 0
end

begin
  remote = DVICO_DUAL_TUNER
  prog = mythtv
  button = 16:9_4:3
  config = Ctrl+W
  repeat = 0
  delay = 0
end
 
dvico_fusionhdtv_dual4_on_2.6.27_kernels.txt · Last modified: 2009/02/17 22:11 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki