DViCO FusionHDTV DVB-T Dual Digital 4 Installation

From MythTV Official Wiki
Jump to: navigation, search

Clean.png Cleanup: This page should be cleared off in preparation for deletion. Tuner specific information should be migrated to the LinuxTV Wiki, and any additional information moved to more generic pages. Discuss the issue on the talk page

  • TV Card - DVico FusionHDTV DualDigital 4 Low profile - $149

Check your DVB TV Card

After you have a stable setup check the messages to make sure your card was detected:

#dmesg | grep -i dvb
dvb-usb: found a 'DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2))
DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1e.0/0000:01:02.2/usb2/2-1/input/input5
dvb-usb: schedule remote query interval to 100 msecs.
dvb-usb: DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2) successfully initialized and connected.
dvb-usb: found a 'DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2))
DVB: registering adapter 1 frontend 0 (DiBcom 7000PC)...
input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1e.0/0000:01:02.2/usb2/2-2/input/input6
dvb-usb: schedule remote query interval to 100 msecs.
dvb-usb: DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2) successfully initialized and connected.

You should also see the directory's /dev/dvb/adapter0 /dev/dvb/adapter1


Remote Control (Lircd)

You can create a Symlink to correct input device using the following UDEV rule: create update: /etc/udev/rules.d/10-local.rules

# DViCO FusionHDTV DVB-T Dual Digital 4
KERNEL=="event*", \
   ATTRS{manufacturer}=="Dvico", \
   ATTRS{idVendor}=="0fe9", \
   ATTRS{idProduct}=="db98", \
   SYMLINK="input/irremote"

The above creates a Symlink device call irremote which you can code in the LIRC config.

OR

This I found to be the most painful as I was using the wrong driver for a long time. But after i switched it became a breeze. Now on my system i have 2 /dev/input/events that work when you press a button. When i do a cat /dev/input/event3 and press the 0 key on the remote this happens:

cat /dev/input/event1
0000             
[Control-C to quit]

So it seems that this should be the one to use.... Unfortunately Not! Something else is parsing the input from your remote and is producing that like a keyboard entry. What you really want is something that produces binary gibberish when you press a button:

cat /dev/input/event5
����E�
�����E�
[Control-C to quit]

If your screen is mangled from catting out that then you can type "reset" to reset your terminal. So now that we have determined what device we should use it is time to see if we can record our key presses. We will be using the driver dev/input and not the driver dvico like I did for way to many days. Another thing that may stop the following from working is if lircd is running. You can stop it by "/etc/init.d/lirc stop".

Recording your remote control

This is here for reference or if you have a slightly different remote than mine. You can skip to mapping your remote if you just wish to use my generated files. Otherwise, to record the buttons on your remote do this:

irrecord --disable-namespace --driver=dev/input --device=/dev/input/event5 out.txt
*snip*
Press RETURN to continue.
Hold down an arbitrary button.
................................................................................
Found gap length: 251753
Now enter the names for the buttons.

You must get dots when holding down a key and nothing else. If you don't get dots or other symbols are showing up then you either have a driver problem or are using the wrong input. Otherwise out.txt will hold all your keys.

If you have come this far then your remote is working like a charm. Time to map the keys and make lircd run automatically. This is done with 3 files:

Mapping your Remote

gedit /etc/lirc/hardware.conf

Make sure you modify your DRIVER and DEVICE to be the same as you used for irrecord. I also changed START_LIRCMD=false for some reason.

Script.png /etc/lirc/hardware.conf

# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="DViCO FusionREMOTE"
REMOTE_MODULES=""
REMOTE_DRIVER="dev/input"
REMOTE_DEVICE="/dev/input/event5"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"

#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"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
gedit /etc/lirc/lircd.conf

Script.png /etc/lirc/lircd.conf

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.6(devinput) on Mon Nov 23 02:00:14 2009
#
# contributed by Soth
#
# brand: DViCO FusionHDTV DVB-T Dual Digital 4
# model no. of remote control: FusionREMOTE
# devices being controlled by this remote: MythTV
#
# irrecord --disable-namespace --driver=dev/input --device=/dev/input/event5 out.txt

begin remote

  name  DViCO_Dual_Digital
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   16
  pre_data       0x8001
  gap          99999
  toggle_bit_mask 0x0

      begin codes
#Top White Buttons
          tv                       0x0164
          pc                       0x0074
          dtv                      0x0179
          mp3                      0x0187
          dvd                      0x0185
          profile                  0x016C
#Keypad
          1                        0x0002
          2                        0x0003
          3                        0x0004
          4                        0x0005
          5                        0x0006
          6                        0x0007
          7                        0x0008
          8                        0x0009
          9                        0x000A
          setup                    0x008D
          0                        0x000B
          guide                    0x016D
#Directional Pad
          replay                   0x00A5
          skip                     0x00A3
          up                       0x0067
          right                    0x006A
          down                     0x006C
          left                     0x0069
          ok                       0x0160
          start                    0x001C
#Volume and Channel
          volup                    0x0073
          voldn                    0x0072
          chup                     0x0192
          chdn                     0x0193
#Bottom Buttons
          mute                     0x0071
          open                     0x0086
          play                     0x00A4
          stop                     0x0080
          input                    0x0166
          livetv                   0x0182
          rew                      0x00A8
          ff                       0x00D0
          back                     0x009E
          aspect                   0x0173
          screen                   0x0174
          alttab                   0x000F
          snapshot                 0x00D4
          dvdmenu                  0x008B
          rec                      0x00A7
      end codes

end remote

Ok since we have set up these two files lets check our work.

/etc/init.d/lirc restart
ps aux | grep lircd
root 12671  0.0  0.0 2740 572 ?     Ss  16:27  0:00 /usr/sbin/lircd --driver=dev/input --device=/dev/input/event5
root 12675  0.0  0.0 2796 748 pts/1 R+  16:27  0:00 grep lircd

lircd is running with the correct driver and device. Ok let run irw and press some keys (Up, Ok and Start) on our remote

irw
0000000000010067 00 up DViCO_Dual_Digital
0000000000010160 00 ok DViCO_Dual_Digital
000000000001001c 00 start DViCO_Dual_Digital

Great Now we have to map these keys so that mythtv can use them. which brings us to our final file lircrc. You should save this file in your user directory as it is for personal mappings of the remote.

Script.png ~/.mythtv/lircrc

# lircrc.example.DVICO-nativelirc
# 2004-07-04, Chris Pascoe
# mailto:linuxdvb@itee.uq.edu.au
# Save this file in ~/.mythtv/lircrc
#
# Note the "repeat =" strings in the volume and channel.
# This means that if you hold down the key, every nth instance will be
# passed.  This depends on your system, so you may want to increase or
# decrease this and see what happens.  repeat = 1 is probably too
# fast.
 
### Top white buttons ###
 
  begin
     prog = mythtv
     button = tv
     config = Esc
  end    

  begin
     prog = mythtv
     button = pc
     config = Esc
  end    

# DTV - Change focus for PiP (to change channel in the other window)
   begin
     prog = mythtv
     button = dtv
     config = B
  end    
 
  begin
     prog = mythtv
     button = mp3
     config = Ctrl+M
  end
 
  begin
     prog = mythtv
     button = dvd
     config = Ctrl+D
  end
 
# Toggle PiP on/off
  begin
     prog = mythtv
     button = profile
     config = V
  end
 
### Keypad ### 
 
  begin
      prog = mythtv
      button = 1
      config = 1
      config = return
  end
  
  begin
      prog = mythtv
      button = 2
      config = 2
      config = return
  end
  
  begin
      prog = mythtv
      button = 3
      config = 3
      config = return
  end
  
  begin
      prog = mythtv
      button = 4
      config = 4
      config = return
  end
  
  begin
      prog = mythtv
      button = 5
      config = 5
      config = return
  end
  
  begin
      prog = mythtv
      button = 6
      config = 6
      config = return
  end
  
  begin
      prog = mythtv
      button = 7
      config = 7
      config = return
  end
  
  begin
      prog = mythtv
      button = 8
      config = 8
      config = return
  end
  
  begin
      prog = mythtv
      button = 9
      config = 9
      config = return
  end
 
  begin
     prog = mythtv
     button = setup
     config = M
  end    
 
  begin
      prog = mythtv
      button = 0
      config = 0
      config = return
  end
 
  begin
     prog = mythtv
     button = guide
     config = S
  end    

### Directional Pad ###

#commercial skip backwards
  begin
      prog = mythtv
      button = replay
      config = Q
  end

#commercial skip forwards
  begin
      prog = mythtv
      button = skip
      config = Z
  end
 
  begin
      prog = mythtv
      button = up
      config = Up
  end
  
  begin
      prog = mythtv
      button = down
      config = Down
  end
  
  begin
      prog = mythtv
      button = left
      config = Left
  end
  
  begin
      prog = mythtv
      button = right
      config = Right
  end
  
  begin
      prog = mythtv
      button = ok
      config = Return
  end

  begin
      prog = mythtv
      button = start
      config = Esc
  end

### Volume and Channel ###
  
  begin
    prog = mythtv
    button = voldn
    repeat = 1
    config = F10
  end
  
  begin
    prog = mythtv
    button = volup
    repeat = 1
    config = F11
  end
  
  begin
      prog = mythtv
      button = chup
      config = Up
  end
  
  begin
      prog = mythtv
      button = chdn
      config = Down
  end

### Bottom Buttons ###
 
  begin
      prog = mythtv
      button = mute
      config = |
  end

  begin
      prog = mythtv
      button = open
      config = 
  end
  
  begin
      prog = mythtv
      button = play
      config = ctrl+p
  end

  begin
      prog = mythtv
      button = stop
      config = P
  end  
    
  begin
      prog = mythtv
      button = input
      config = I
  end
  
  begin
      prog = mythtv
      button = livetv
      config = 
  end

  begin
      prog = mythtv
      button = rew
      config = Left
#    config = seek -180
  end

  begin
      prog = mythtv
      button = ff
      config = Right
#     config = seek +180
  end

  begin
      prog = mythtv
      button = back
      config = Esc
  end

  begin
      prog = mythtv
      button = aspect
      config = W
  end
  
  begin
      prog = mythtv
      button = screen
      config = 
  end

#swap the pip windows
  begin 
     prog = mythtv
     button = alttab
     config = N
  end

  begin
      prog = mythtv
      button = snapshot
      config = P
  end

  begin
      prog = mythtv
      button = dvdmenu
      config = 
  end

  begin
      prog = mythtv
      button = rec
      config = R
  end