DViCO FusionHDTV DVB-T Dual Digital 4 Installation
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
Contents
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.
# /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
# 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.
# 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