Autor Thema: Sundtek + Docker Image Alpine Linux auf Synology  (Gelesen 7405 mal)

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8005
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #15 am: Dezember 06, 2018, 02:46:29 Nachmittag »
Hier noch ein Beispiel Startskript:

#!/bin/sh                     
USBDEV=$(lsusb | grep 2659: -c)
if [ "$USBDEV" != "0" ]; then     
        if [ ! -e /sundtek ]; then
                mkdir /sundtek
                cd /sundtek                                   
                wget http://sundtek.de/media/sundtek_netinst.sh
                sh sundtek_netinst.sh -service -easyvdr
        fi;
                                         
        if [ -e /opt/bin/mediasrv ]; then
                cd /opt/bin                                             
                # this will continue once all the devices are initialized
                ./mediasrv -d --wait-for-devices
        fi;                                         
                                                   
        export LD_PRELOAD=/opt/lib/libmediaclient.so
fi                             
/usr/bin/tvheadend -c /config -C
Failure is a good thing! I'll fix it

BoBeRzE

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #16 am: Januar 14, 2019, 11:13:55 Nachmittag »
Hallo,

könnt ihr eine Anleitung posten wie man "from Scratch" das Docker Image baut? Aktuell nutze ich ein Image bei dem die Tuner nur innerhalb des Containers genutzt werden können wenn der Container mit Root-Rechten läuft. Zusätzlich ist auf dem Host der Treiber installiert.

So wie ich das verstehe ist der Treiber im Docker-Image notwendig aber nicht auf dem Host. Das wichtigste wäre mir, dass der Container keine Root-Rechte mehr benötigt um TVHeadend laufen zu lassen. Ein weiterer Vorteil wäre das äußerst schlanke System wenn man Alpine als Basis nutzt.

Vielen Dank für eure Hilfe

PS: Ich nutze derzeit nur einen Tuner, habe aber bereits drei weitere hier liegen. Da ich mit den 4 Tunern alle Sat-Blöcke (HL,HH,VL und VH) abdecke sollte ich doch möglich sein mit mehreren Teilnehmern TV schauen zu können ohne dass es Einschränkungen gibt?   Oder gibt es bei den Tunern hardwaretechnische Limitierungen? Ein Multischalter mit 4 Eingängen erlaub es ja auch z.B. 16 Teilnehmer zu versorgen.

EDIT:

Ich habe nun versucht die Treiber im den Alpine Container zu installieren. Es kommt die Meldung dass das System nicht unterstützt wird. Wie muss vorgegangen werden damit der Treiber installiert werden kann?
« Letzte Änderung: Januar 15, 2019, 10:15:44 Nachmittag von BoBeRzE »

felix

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #17 am: Februar 09, 2019, 02:05:37 Vormittag »
Hallo,
ich kann das reproduzieren: Wenn ich einen Container mit dem Befehl aus Antwort #14 erzuge und darin sundtek_netinst.sh ausführe lautet die Meldung, das System würde nicht unterstützt.  :(
So wie ich #14 verstanden habe, sollte das doch inzwischen funktionieren? Woran kanns liegen?
Danke

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8005
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #18 am: Februar 09, 2019, 02:38:30 Vormittag »
Hi,

der Treiber ist noch nicht aktualisiert. Wir arbeiten noch am nächsten Update (das Treiberpaket enthält verschiedene Treiber für verschiedene Geräte).
Ich denke gegen Anfang der nächsten Woche sollte es dann soweit sein.
Failure is a good thing! I'll fix it

felix

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #19 am: Februar 16, 2019, 09:46:41 Nachmittag »
Hallo,

wollte mich nach dem Stand der Dinge erkundigen. Gibt es den neuen Treiber schon per netinstall? Oder wie kriege ich mit, wenn es soweit ist?

Danke und Grüße

felix

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #20 am: Februar 22, 2019, 10:47:05 Nachmittag »
Hallo,

ich habe es nun mit einem Docker-Container auf debian-Basis versucht, wo sich der Treiber installieren lässt. Nur mein tvheadend findet das Gerät nicht. Ich poste mal ein paar Kommandozeilenaufrufe, die nach meiner Google-Recherche hilfreich sein könnten:

root@e96d7df13b60:/# /opt/bin/mediaclient -e
**** List of Media Hardware Devices ****
device 0: [MediaTV Digital Home III (EU)]  DVB-C, DVB-T, DVB-T2, REMOTE-CONTROL
  [INFO]:
     STATUS: STANDBY
  [BUS]:
     ID: 2-1
  [SERIAL]:
     ID: U140630145006
  [DVB-C,DVB-T,DVB-T2]:
     FRONTEND: /dev/dvb/adapter0/frontend0
     DVR: /dev/dvb/adapter0/dvr0
     DMX: /dev/dvb/adapter0/demux0
  [REMOTECONTROL]:
     INPUT0: /dev/mediainput0

root@e96d7df13b60:/# /opt/bin/mediaclient --lc
**** List of Media Clients ****
/dev/dvb/adapter0/frontend0:
  No client connected
/dev/dvb/adapter0/dvr0:
  No client connected
/dev/dvb/adapter0/demux0:
  No client connected
/dev/mediainput0:
  No client connected

root@e96d7df13b60:/# cat /etc/ld.so.preload
/opt/lib/libmediaclient.so
root@e96d7df13b60:/# ldconfig -p | grep media
libmediaclient.so (libc6,x86-64) => /opt/lib/libmediaclient.so
root@e96d7df13b60:/# file /usr/bin/tvheadend
/usr/bin/tvheadend: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=068eb6cb386ff91c9a9136c6d7db02e5f92fe679, stripped
root@e96d7df13b60:/# file /opt/lib/libmediaclient.so
/opt/lib/libmediaclient.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
root@e96d7df13b60:/#

Was kann ich tun, damit tvheadend das Gerät findet?

Danke und Grüße

Timbo2k

  • Jr. Member
  • **
  • Beiträge: 57
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #21 am: Februar 24, 2019, 07:33:21 Nachmittag »
I would be interested to!
Any beta version?

crush89

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #22 am: März 06, 2019, 09:30:46 Vormittag »
Hallo,

gibt es irgendwelche Updates zu dem Thema?

Danke

felix

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #23 am: März 06, 2019, 09:56:19 Nachmittag »
Ich habe versucht ein älteres tvheadend (v3.4) selbst zu kompilieren (im Debian Container). Wenn man so will gibt es damit einen kleinen Fortschritt: tvheadend zeigt beim Starten die Meldung:
dvb: /dev/dvb/adapter0/frontend0: unable to open (err=Die Operation ist nicht erlaubt)tvheadend als root laufen lassen löst das Problem nicht, an den Rechten sollte es also nicht liegen. Was kommt noch in Frage?

Danke und Grüße

Timbo2k

  • Jr. Member
  • **
  • Beiträge: 57
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #24 am: März 07, 2019, 09:37:06 Nachmittag »
nur zur Sicherheit:
Hast du /dev/dvb/adapter0/frontend0 als device im container eingehängt und zum test auf das device schreib und leserechte vergeben
chmod +rw /dev/dvb/adapter0/frontend0

Hatte das Problem mal bei der Soundkarte

felix

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #25 am: März 09, 2019, 08:02:36 Nachmittag »
Hi Timbo2k,

danke für deinen Hinweis.
Lese und Schreibrechte auf frontend0 sind im Container gesetzt, daran sollte es nicht gelegen haben. Aber vielleicht an den im Container verfügbaren Devices:
Erzeuge ich den Container wie in Antwort #14 mit
                     --device=/dev/dvb
                     --device=/dev/dri
                     --device=/dev/bus/usb
beschwert sich docker beim Starten des Containers mit
Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/dev/dvb": not a device nodeWas meines Erachtens logisch ist, weil es auf dem Host keine DVB-Devices gibt, das Verzeichnis ist leer. Das DVB-Device wird im Container vom Sundtek Treiber erzeugt. Oder liegt hier mein Fehler?

felix

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #26 am: März 20, 2019, 10:38:44 Nachmittag »
Hi liebe Forumsteilnehmer,

läuft bei euch der Treiber im Container, samt Zugriff auf das dort eingerichtete DVB-Device?

Danke für Rückmeldungen

Timbo2k

  • Jr. Member
  • **
  • Beiträge: 57
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #27 am: März 22, 2019, 02:05:59 Nachmittag »
Nein, hab es leider nicht geschafft.

Timbo2k

  • Jr. Member
  • **
  • Beiträge: 57
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #28 am: April 13, 2019, 05:00:28 Nachmittag »
Habs gerade wieder mal versucht.
Ich bin so weit das ich über mediaclient -e folgendes bekomme
**** List of Media Hardware Devices ****
device 0: [    SkyTV Ultimate 5]  DVB-S/S2, ANALOG-TV, REMOTE-CONTROL, OSS-AUDIO
  [INFO]:
     STATUS: STANDBY
  [BUS]:
     ID: 1-3
  [SERIAL]:
     ID: U151204182717
  [DVB-S/S2]:
     FESTATUS: STANDBY
     LNBVOLTAGE: DISABLED
     LNBSUPPLY: ACADAPTER
     LNBSTATUS: OK
     FRONTEND: /dev/dvb/adapter0/frontend0
     DVR: /dev/dvb/adapter0/dvr0
     DMX: /dev/dvb/adapter0/demux0
  [ANALOG-TV]:
     VIDEO0: /dev/video0
     VBI0: /dev/vbi0
  [REMOTECONTROL]:
     INPUT0: /dev/mediainput0
  [OSS]:
     OSS0: /dev/dsp0

Aber immer wenn ich tvheadend starte, sogar als root bekomme ich folgenden Fehler
"tvheadend -u root -g root -c /config"
....
2019-04-13 16:59:11.848 [  ERROR] linuxdvb: unable to open /dev/dvb/adapter0/frontend0
.....

Die Rechte sehen dafür wie folgt aus
crwxrwxrwx 1 root root 212, 0 Apr 13 16:58 /dev/dvb/adapter0/frontend0

Hat wer eine Idee?

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8005
    • Profil anzeigen
Re: Sundtek + Docker Image Alpine Linux auf Synology
« Antwort #29 am: April 14, 2019, 05:43:04 Vormittag »
Docker Support ist im neuen Installer integriert

Auf dem Host:
cd /tmp
wget http://sundtek.de/media/sundtek_netinst_testing.sh
sh ./sundtek_netinst_testing.sh -createnodes

Im Docker System:
cd /tmp
wget http://sundtek.de/media/sundtek_netinst_testing.sh
sh ./sundtek_netinst_testing.sh -docker -use-custom-path /config


Das Docker Setup:
/config muss mit noexec gemounted werden (der Befehl mount im Docker darf kein noexec neben /config anzeigen)
Das Docker Image muss mit der Option -device /dev/bus/usb und -device /dev/dvb gestartet werden (zuvor muss aber -createnodes auf dem Host ausgeführt werden).
createnodes erstellt nur nodes in /dev/dvb auf dem Host (und macht dort sonst nichts).
Docker unterstützt kein Hotplugging, und die DVB Nodes müssen halt vorher vorhanden sein damit Docker DVB im Container zugelassen werden.

Das -docker Flag wird tvheadend in tvheadend.bin umbenennen und ein "tvheadend" Wrapper Skript erstellen indem der Treiber gestartet wird bevor tvheadend gestartet wird.

Docker Systeme sind halt allesamt keine Standard Linux Systeme und man muss wissen was man dort macht bzw. will.


Wir werden den regulären Installer nach einiger Zeit mit dem testing Skript ersetzen, es wurden einfach zu viele Dinge im Script geändert um es übersichtlicher zu gestalten.
« Letzte Änderung: April 14, 2019, 09:25:04 Vormittag von Sundtek »
Failure is a good thing! I'll fix it