![]() |
|
SageTV Github Development Discussion related to SageTV Open Source Development. Use this forum for development topics about the Open Source versions of SageTV, hosted on Github. |
![]() |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Linux server with HD HOMERUN DUAL DVB-C
Hi,
I try to switch from the SageTV 7 to the new open source while in the same time switching from my old Windows XP to an Ubuntu 14.04 server. I have a HD HomeRun Dual DVB-C which works just fine with SageTV 7 and Windows XP. With the open source version and on Ubuntu 14.04 I get a strange behaviour, SageTV detects both tuners but it sets them as boradcast_standard=DVB-T and it obviously finds no channels during scan. I tried to just stop the server and change it to DVB-C in the Sage.properties but that doesn't work, Sage sets it back to DVB-T as soon as I start a scan. Are there some limitations on the HD HomeRun on Linux for DVB-T? I did not spot something in the code. I have to say that I use the EU version in Switzerland. Any hints? Logfile entries which might be usefule: ---------- uiHistory=[sage.PseudoMenu@4b213c23[Setup Wizard - Capture Device Select], sage.PseudoMenu@26c9dbd0[Setup Wizard - Capture Device InputSelect]] redo=false performingActivation=null So 8/16 0:24:43.751 [ReProcessHook@13063264] Start looking for max channel digits So 8/16 0:24:43.753 [ReProcessHook@13063264] Done looking for max channel digits; elapsed time: 2 So 8/16 0:24:45.189 [AsyncWatch@13063264] VideoFrame.watch(FA[BAD AIRING]) So 8/16 0:24:45.190 [AsyncWatch@13063264] watchThisFile=MediaFile[id=19 FA[BAD AIRING] mask=V host=webtv encodedBy=HDHomeRun 1220a344 Tuner 1 Digitaler TV Tuner format=MPEG2-PS 0:00:00 0 kbps [] /var/media/tv/HDHomeRun1220a344Tuner1DigitalerTVTuner-0.mpgbuf, Seg0[So 8/16 0:10:34.279-So 8/16 0:14:04.625]] So 8/16 0:24:45.190 [AsyncWatch@13063264] Called Seeker.requestWatch(FA[BAD AIRING]) hostname=UIManager:localhost@@a45e60d40601-1ae30236 So 8/16 0:24:45.190 [AsyncWatch@13063264] findBestEncoderForNow(FA[BAD AIRING] record=false host=UIManager:localhost@@a45e60d40601-1ae30236) So 8/16 0:24:45.191 [AsyncWatch@13063264] PooledThread ended w/ an exception: java.lang.NullPointerException So 8/16 0:24:45.191 [AsyncWatch@13063264] java.lang.NullPointerException So 8/16 0:24:45.191 [AsyncWatch@13063264] at sage.Seeker$EncoderState.access$2000(Seeker.java:6667) So 8/16 0:24:45.191 [AsyncWatch@13063264] at sage.Seeker.requestWatch(Seeker.java:5171) So 8/16 0:24:45.191 [AsyncWatch@13063264] at sage.VideoFrame.watch(VideoFrame.java:702) So 8/16 0:24:45.191 [AsyncWatch@13063264] at sage.VideoFrame.lockTuner(VideoFrame.java:547) So 8/16 0:24:45.191 [AsyncWatch@13063264] at sage.api.MediaPlayerAPI$25$1.run(MediaPlayerAPI.java:480) So 8/16 0:24:45.192 [AsyncWatch@13063264] at sage.Pooler$PooledThread.run(Pooler.java:252) So 8/16 0:24:45.742 [EventRouter-a45e60d40601@4812679d] Capture Device InputSelect - Checking for Digital TV Tuner before choosing next menu... CaptureDeviceInput = [HDHomeRun 1220a344 Tuner 1 Digitaler TV Tuner] So 8/16 0:24:45.743 [EventRouter-a45e60d40601@4812679d] Capture Device InputSelect - BroadcastStd = [DVB-C] So 8/16 0:24:45.751 [EventRouter-a45e60d40601@4812679d] setUI(sage.PseudoMenu@2731fb16[Setup Wizard - DVB-C Provider Selection]) histIdx=2 uiHistory=[sage.PseudoMenu@4b213c23[Setup Wizard - Capture Device Select], sage.PseudoMenu@26c9dbd0[Setup Wizard - Capture Device InputSelect], sage.PseudoMenu@2731fb16[Setup Wizard - DVB-C Provider Selection]] redo=false performingActivation=false So 8/16 0:24:45.813 [EventRouter-a45e60d40601@4812679d] setUI(sage.PseudoMenu@22cdcbb4[Setup Wizard - EPG Data Usage]) histIdx=2 uiHistory=[sage.PseudoMenu@4b213c23[Setup Wizard - Capture Device Select], sage.PseudoMenu@26c9dbd0[Setup Wizard - Capture Device InputSelect], sage.PseudoMenu@22cdcbb4[Setup Wizard - EPG Data Usage]] redo=false performingActivation=true So 8/16 0:24:49.335 [Scheduler@604a6887] Scheduler awoken So 8/16 0:24:49.335 [Scheduler@604a6887] Loading HDHomeRun capture device (HDHomeRun 1220a344 Tuner 1) So 8/16 0:24:49.336 [Scheduler@604a6887] HDHomeRun: Detecting devices... So 8/16 0:24:49.343 [EventRouter-a45e60d40601@4812679d] setUI(sage.PseudoMenu@4d9dd864[Setup Wizard - Channel Download Wait]) histIdx=3 uiHistory=[sage.PseudoMenu@4b213c23[Setup Wizard - Capture Device Select], sage.PseudoMenu@26c9dbd0[Setup Wizard - Capture Device InputSelect], sage.PseudoMenu@22cdcbb4[Setup Wizard - EPG Data Usage], sage.PseudoMenu@4d9dd864[Setup Wizard - Channel Download Wait]] redo=false performingActivation=false So 8/16 0:24:49.842 [Scheduler@604a6887] HDHomeRun: Done detecting. So 8/16 0:24:49.842 [Scheduler@604a6887] HDHR_createEncoder0(HDHomeRun 1220a344 Tuner 1, 0) So 8/16 0:24:49.858 [Scheduler@604a6887] Scheduler.updateSchedule() called manual=[] schedules={HDHomeRun 1220a344 Tuner 1=[Sched=[] MustSee=[]]} scheduleRandSize=0 So 8/16 0:24:49.860 [Scheduler@604a6887] # Airs=0 So 8/16 0:24:49.861 [Scheduler@604a6887] MUST SEE FINAL-HDHomeRun 1220a344 Tuner 1-[] So 8/16 0:24:49.861 [Scheduler@604a6887] Evaluating Potentials So 8/16 0:24:49.861 [Scheduler@604a6887] COMPLETE SCHEDULE-----**&^%&*-------COMPLETE SCHEDULE So 8/16 0:24:49.861 [Scheduler@604a6887] HDHomeRun 1220a344 Tuner 1 So 8/16 0:24:49.861 [Scheduler@604a6887] [] So 8/16 0:24:49.861 [Scheduler@604a6887] Total Schedule eval time=3 msec So 8/16 0:24:49.861 [Scheduler@604a6887] Scheduler awoken So 8/16 0:24:49.861 [Seeker@4f36fc7e] Seeker awoken So 8/16 0:24:49.861 [Seeker@4f36fc7e] MemStats: Used=49MB Total=85MB Max=716MB So 8/16 0:24:49.861 [Scheduler@604a6887] Scheduler.updateSchedule() called manual=[] schedules={HDHomeRun 1220a344 Tuner 1=[Sched=[] MustSee=[]]} scheduleRandSize=0 So 8/16 0:24:49.861 [Seeker@4f36fc7e] Seeker adding new Encoder: HDHomeRun 1220a344 Tuner 1 So 8/16 0:24:49.861 [Scheduler@604a6887] # Airs=0 So 8/16 0:24:49.862 [Scheduler@604a6887] MUST SEE FINAL-HDHomeRun 1220a344 Tuner 1-[] So 8/16 0:24:49.862 [Scheduler@604a6887] Evaluating Potentials So 8/16 0:24:49.862 [Scheduler@604a6887] COMPLETE SCHEDULE-----**&^%&*-------COMPLETE SCHEDULE So 8/16 0:24:49.862 [Seeker@4f36fc7e] MARK 1 currRecord=null enc=HDHomeRun 1220a344 Tuner 1 clients=[] ir=true So 8/16 0:24:49.862 [Scheduler@604a6887] HDHomeRun 1220a344 Tuner 1 So 8/16 0:24:49.862 [Seeker@4f36fc7e] Seeker in AUTOMATIC mode nextRecord=null nextTTA=9223372036854775807 So 8/16 0:24:49.862 [Scheduler@604a6887] [] So 8/16 0:24:49.862 [Seeker@4f36fc7e] newRecord=null So 8/16 0:24:49.862 [Seeker@4f36fc7e] NOTHING TO RECORD FOR NOW... ----------- Cheers, Martin
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets Last edited by mwnswiss; 08-15-2015 at 04:33 PM. Reason: add logfile |
#2
|
|||
|
|||
OK, seems that this is the case with the built-in hdhomerun library in SageTV. I have tried now with the dvbhdhomerun (https://github.com/h0tw1r3/dvbhdhomerun) and it is most likely the same as in the other thread "Linux: Core Dump Scanning HDHR QAM". Will need to get the debug build and use gdb ...
Having discovered that, which HD HomeRun products work with the build-in hdhomerun libraries? For sure not my HD HomeRun DUAL EU version. Cheers, Martin
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets |
#3
|
|||
|
|||
I tried replacing the libhdhomerun library with the latest version from Silicon Dust but it wouldn't compile
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3 Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD |
#4
|
|||
|
|||
I successfully replaced the libhdhomerun library with the latest version from Silicon Dust. Apparently SD deprecated hdhomerun_device_firmware_version_check. There is an hdhomerun_device_get_version function so I replaced the deprecated function and got it the libHDHomeRunCapture.so to build. However, it still crashes when it hits the first channel that has something being broadcast.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3 Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD |
#5
|
|||
|
|||
After the fix it works now, with the dvbhdhomerun driver from github . It finds channels but just when the scan finishes, it crashes with a core dump.
Code:
Stack: [0x00007f1fba47c000,0x00007f1fba57d000], sp=0x00007f1fba57b680, free space=1021k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libDVBCapture.so+0x6703] Java_sage_DVBCaptureDevice_closeEncoding0+0xb2 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sage.DVBCaptureDevice.closeEncoding0(J)Z+0 j sage.DVBCaptureDevice.run()V+270 j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub The frq file for the adapter is available. Just for info, I used the following dvbhdhomerun setup: Code:
git clone https://github.com/h0tw1r3/dvbhdhomerun cd dvbhdhomerun dpkg-buildpackage -b cd .. dpkg -i <builtpackages>.deb (dkms and utils)
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets |
#6
|
|||
|
|||
I don't know if it's helpful, but I was able to do a channel scan without crashing, using the older two-tuner HDHR device. However I couldn't get live TV to play. This was with the unmodified Linux server.
|
#7
|
|||
|
|||
Under 64-bit scans now work ok but video capture from an HDHR does not work. Both work fine under 32-bit.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3 Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD |
#8
|
|||
|
|||
Quote:
I certainly can say that the built-in hdhomerun finds my tuners and I can start scan, but I see that it never connects to the HD HomeRun device and the list is of course always empty after scan. I saw as well that it thinks I use my HD HomeRun as DVB-T, but I use DVB-C and could find a way to change that (did not go into the code yet).
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets |
#9
|
|||
|
|||
Quote:
Did not spot something obvious on 64bit, needs debugging which is next what I want get done :-)
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets |
#10
|
|||
|
|||
Quote:
I get signal strength, but no actual signal. |
#11
|
|||
|
|||
Quote:
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3 Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD |
#12
|
|||
|
|||
Quote:
1) cd native/so/DVBCapture2.0 2) Use this pull request to fix the Makefile: https://github.com/google/sagetv/pull/25 3) Edit line 100 to enable logging to the file "Native.log" 4) make dvbtest 5) Run it something like this: LD_LIBRARY_PATH=. ./dvbtest DEVICE CHANNEL OUTFILE It's looking for the device under /dev/dvb/DEVICE/frontend0. I don't have that. Also, I'm not sure what the channel should be. I suppose the OUTFILE format would be MPEG2 or whatever the device natively outputs. |
#13
|
|||
|
|||
I made now some changes which deals with my HDHR DUAL EU (DVB-T and DVB-C). I made changes to the HDHomeRun2.0 library and now it uses correctly DVB-C if I'm on cable and DVB-T if I'm OTA.
As well I fixed the hardcoded tuner setting (alway 2 tuners), now it discovers correctly 2 or 4 tuners or whatever. I made changes to compile this library (and only this library) on OS/X, as my DevEnv is OS/X ![]() Only the 64bit video stream is a show stopper right now.
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets |
#14
|
|||
|
|||
Quote:
I don't have the DVB hardware for testing, so if someone is willing to test a fix please let me know and I will post the code changes.
__________________
Server: HP DL380 G6, VMware ESXi 5.0 with HW passthrough for USB and Firewire, 4 x HD-PVR, ZFS storage SageTV: Production: 7.1.9+Java 1.6.0_32 on XP, Test: 9.0.4.291+Java 1.8.0_72 on Linux 64-bit Clients: 2 x Sage HD200 Extender, 1 x Sage HD100 Extender Sources: 4 x Motorola DCH-3200 (firewire channel changing), HD Homerun Prime, OpenDCT 0.5.7 |
#15
|
|||
|
|||
Yes please! I don't know if it's the same issue I was seeing, but I'd be happy to test. It's been a while since I updated my setup, so please give me the before and after code so I can test it properly.
|
#16
|
|||
|
|||
Great! I'll put something together soon for you to test.
__________________
Server: HP DL380 G6, VMware ESXi 5.0 with HW passthrough for USB and Firewire, 4 x HD-PVR, ZFS storage SageTV: Production: 7.1.9+Java 1.6.0_32 on XP, Test: 9.0.4.291+Java 1.8.0_72 on Linux 64-bit Clients: 2 x Sage HD200 Extender, 1 x Sage HD100 Extender Sources: 4 x Motorola DCH-3200 (firewire channel changing), HD Homerun Prime, OpenDCT 0.5.7 |
#17
|
|||
|
|||
The bug you refer was closed with the 64bit corrections in the native c libraries from Qian (see https://github.com/qianzhang5/sagetv...0f89a2a74bef69)
I don't have this crash anymore and it runs stable. My link referred to the HD HomeRun which is different to the HD-PVR! Could be that you still had a 32bit issue in your IVTV library but in HDHomeRun2.0 it is save now. I recommend to make an own thread as it is most likely not related to this thread.
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets |
#18
|
|||
|
|||
Just to confirm, are you saying you no longer experience the crashes in sage.DVBCaptureDevice.closeEncoding0 when using 64-bit?
I am asking because the code I fixed for HD-PVR in native/IVTVCapture is nearly identical in native/DVBCapture2.0, so I'm assuming a crash will occur there for the same reason as it did with HD-PVR. Maybe the important question is which tuner devices actually use native/DVBCapture2.0? It sounds like your devices are using the code in native/HDHomeRun2.0 so maybe that explains why it's working for you with the commit that you referenced.
__________________
Server: HP DL380 G6, VMware ESXi 5.0 with HW passthrough for USB and Firewire, 4 x HD-PVR, ZFS storage SageTV: Production: 7.1.9+Java 1.6.0_32 on XP, Test: 9.0.4.291+Java 1.8.0_72 on Linux 64-bit Clients: 2 x Sage HD200 Extender, 1 x Sage HD100 Extender Sources: 4 x Motorola DCH-3200 (firewire channel changing), HD Homerun Prime, OpenDCT 0.5.7 |
#19
|
|||
|
|||
Yes you are right, I messed it up. The HD Home Run devices I use and test with rely on HDHomeRun2.0 and not on DVBCapture2.0. And yes I don't have recording issues on my linux 64bit using HD HomeRun devices. I would guess now that DVBCapture2.0 probably is related to hardware DVB devices which get exposed to by a dvb kernel module.
__________________
Standard Intel PC with 4GB RAM Ubuntu 16.04 64bit JVM version=1.8.0_121-b13 / SageTV V9 latest HDHR DUAL EU with 2 DVB-C and HDHR EXPAND 4DC with 4 DVB-C XMLTV using WebGrabPlus in Switzerland Clients: HD200, Placeshift on OSX (limited) and Windows, Sage Android Client on ShieldTV and Tablets |
#20
|
|||
|
|||
Quote:
Last edited by echoes; 03-29-2016 at 10:41 AM. |
![]() |
Tags |
homerun, linux |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
HD Homerun Dual tuner issues | animapper | Hardware Support | 6 | 04-08-2013 01:01 PM |
HD Homerun waking server form S3 standby | simonen | Hardware Support | 2 | 11-24-2008 08:32 AM |
Sage TV for Windows Home Server Software, HPMediaSmart Server, and HD homerun tuners | c309 | SageTV Software | 15 | 08-17-2008 06:03 AM |
HD Homerun and DUAL CORE processors | srothwell | Hardware Support | 12 | 04-28-2007 09:44 AM |
Dual server and dual client Setup | sticky | Hardware Support | 7 | 08-24-2006 08:51 AM |