Hi Folks,
I have a VuDuo2 and a HDHomeRun (this is a network DVB-C / DVB-T tuner). The two tuners built-in are not enough, so I was thinking to connect my HDHomeRun network tuner to my VuDuo2.
With some effort, I was able to cross-compile the Library from the Vendor as well as the open-source kernel module.
Once loaded the kernel module is creating the necessary devices in /dev/dvb/ (adapter1 and adapter2 below):
# ll /dev/dvb/* /dev/dvb/adapter0: crw-rw---- 1 root video 212, 29 Dec 1 12:19 audio0 crw-rw---- 1 root video 212, 32 Dec 1 12:19 ca0 crw-rw---- 1 root video 212, 33 Dec 1 12:19 ca1 crw-rw---- 1 root video 212, 34 Dec 1 12:19 ca2 crw-rw---- 1 root video 212, 35 Dec 1 12:19 ca3 crw-rw---- 1 root video 212, 36 Dec 1 12:19 ca4 crw-rw---- 1 root video 212, 37 Dec 1 12:19 ca5 crw-rw---- 1 root video 212, 38 Dec 1 12:19 ca6 crw-rw---- 1 root video 212, 39 Dec 1 12:19 ca7 crw-rw---- 1 root video 212, 40 Dec 1 12:19 ca8 crw-rw---- 1 root video 212, 0 Dec 1 12:19 demux0 crw-rw---- 1 root video 212, 3 Dec 1 12:19 demux1 crw-rw---- 1 root video 212, 6 Dec 1 12:19 demux2 crw-rw---- 1 root video 212, 9 Dec 1 12:19 demux3 crw-rw---- 1 root video 212, 12 Dec 1 12:19 demux4 crw-rw---- 1 root video 212, 15 Dec 1 12:19 demux5 crw-rw---- 1 root video 212, 18 Dec 1 12:19 demux6 crw-rw---- 1 root video 212, 21 Dec 1 12:19 demux7 crw-rw---- 1 root video 212, 24 Dec 1 12:19 demux8 crw-rw---- 1 root video 212, 1 Dec 1 12:19 dvr0 crw-rw---- 1 root video 212, 4 Dec 1 12:19 dvr1 crw-rw---- 1 root video 212, 7 Dec 1 12:19 dvr2 crw-rw---- 1 root video 212, 10 Dec 1 12:19 dvr3 crw-rw---- 1 root video 212, 13 Dec 1 12:19 dvr4 crw-rw---- 1 root video 212, 16 Dec 1 12:19 dvr5 crw-rw---- 1 root video 212, 19 Dec 1 12:19 dvr6 crw-rw---- 1 root video 212, 22 Dec 1 12:19 dvr7 crw-rw---- 1 root video 212, 25 Dec 1 12:19 dvr8 crw-rw---- 1 root video 212, 30 Dec 1 12:19 frontend0 crw-rw---- 1 root video 212, 31 Dec 1 12:19 frontend1 crw-rw---- 1 root video 212, 2 Dec 1 12:19 net0 crw-rw---- 1 root video 212, 5 Dec 1 12:19 net1 crw-rw---- 1 root video 212, 8 Dec 1 12:19 net2 crw-rw---- 1 root video 212, 11 Dec 1 12:19 net3 crw-rw---- 1 root video 212, 14 Dec 1 12:19 net4 crw-rw---- 1 root video 212, 17 Dec 1 12:19 net5 crw-rw---- 1 root video 212, 20 Dec 1 12:19 net6 crw-rw---- 1 root video 212, 23 Dec 1 12:19 net7 crw-rw---- 1 root video 212, 26 Dec 1 12:19 net8 crw-rw---- 1 root video 212, 27 Dec 1 12:19 video0 crw-rw---- 1 root video 212, 28 Dec 1 12:19 video1 /dev/dvb/adapter1: crw-rw---- 1 root video 212, 41 Dec 6 18:45 demux0 crw-rw---- 1 root video 212, 42 Dec 6 18:45 dvr0 crw-rw---- 1 root video 212, 43 Dec 6 18:45 frontend0 /dev/dvb/adapter2: crw-rw---- 1 root video 212, 44 Dec 6 18:45 demux0 crw-rw---- 1 root video 212, 45 Dec 6 18:45 dvr0 crw-rw---- 1 root video 212, 46 Dec 6 18:45 frontend0
Also the helper application that is part of the kernel module is working without any issues:
# ./userhdhomerun Fri Dec 6 18:45:42 2013 Num of devices = 1 Fri Dec 6 18:45:42 2013 Fri Dec 6 18:45:42 2013 Device 12202921 is type 1 and has 2 tuners Fri Dec 6 18:45:42 2013 Fri Dec 6 18:45:42 2013 Name of device: 12202921-0 Fri Dec 6 18:45:42 2013 Tuner type set to "DVB-C" based on conf file Fri Dec 6 18:45:42 2013 Tuner: 0 Fri Dec 6 18:45:42 2013 Set initial pass-all filter for tuner: 1 Fri Dec 6 18:45:42 2013 Fri Dec 6 18:45:42 2013 Name of device: 12202921-1 Fri Dec 6 18:45:42 2013 Tuner type set to "DVB-C" based on conf file Fri Dec 6 18:45:42 2013 Tuner: 1 Fri Dec 6 18:45:42 2013 Set initial pass-all filter for tuner: 1 Fri Dec 6 18:45:42 2013 Fri Dec 6 18:45:42 2013 Registered tuner, id from kernel: 0 name: 12202921-0 Fri Dec 6 18:45:42 2013 Registered tuner, id from kernel: 1 name: 12202921-1 Fri Dec 6 18:46:31 2013 START FEED: Pid = 285 Fri Dec 6 18:46:31 2013 PidFilter: 0x285 Fri Dec 6 18:46:31 2013 hdhomerun_device_stream_start: 1 Fri Dec 6 18:46:31 2013 Open data device: /dev/hdhomerun_data0 Fri Dec 6 18:46:43 2013 STOP FEED: Pid = 285 Fri Dec 6 18:46:43 2013 Stop writing to dvr0 Fri Dec 6 18:46:43 2013 hdhomerun_device_stream_stop Fri Dec 6 18:46:43 2013 hdhomerun_device_stream_stop, stopped Fri Dec 6 18:46:43 2013 Network error count : 0 Fri Dec 6 18:46:43 2013 Overflow error count : 0 Fri Dec 6 18:46:43 2013 Transport error count : 0 Fri Dec 6 18:46:43 2013 Sequence error count : 0
Using dvbsnoop you can see that the tuner is working fine, however Enigma did not recognize the tuner (or rather the two new tuners). After a little research I found out that Enigma is not looking at /dev/dvb/, but rather reads /proc/bus/nim_sockets to list the tuners. Unfortunatenly my tuner is not in this list:
# cat /proc/bus/nim_sockets NIM Socket 0: Type: DVB-C Name: Vuplus DVB-C NIM(CXD1978) Mode 0: DVB-C Mode 1: DVB-T Frontend_Device: 0 I2C_Device: 2 NIM Socket 1: Type: DVB-C Name: Vuplus DVB-C NIM(CXD1978) Mode 0: DVB-C Mode 1: DVB-T Frontend_Device: 1 I2C_Device: 3
I was trying to trick Enigma by pointing to a different file where I manually added my tuner, but that did not really work. Although I was able to see the tuner in the config dialogue (and I could see that it was working by checking the network traffic) Enigma did not show the video.
From what I read on the Internet this might be related to the vtuners in /dev/misc/ and maybe also the entries in /sys/class/dvb/, but I don't quite understand how these things are related.
Could anybody give me a hint how I can connect my dvb-device to Enigma?
Thanks a lot
Greetings
Hanjo