Connect HDHomeRun with Enigma2
hanjov 20 Dec 2013
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
Facel 21 Apr 2015
Hi
I would also like to have my HD Homerun working with my Solo2 (VTI sorry)
Have you succeed in your entreprise since december 2013 ?
regards
Leatherface 7 Jan 2016
Any news about this? I have HDHomeRun HDHR3-4DC with 4 tuners i would like to use with Enigma2.
IanSav 12 Oct 2023
Hi All,
It has been a long time since this topic was updated. Is there any chance that someone can get the code working so that we can all use HDHomeRun tuners with Enigma2.
Regards,
Ian.
WanWizard 12 Oct 2023
As to the missing NIM tuner entries: perhaps check the open source code of a USB DVB stick, see how it is handled there, and use that to modify the helper?
Abu Baniaz 12 Oct 2023
hrtunerproxy plugin should allow this. IIRC, Andy Blackburn was using it.