Autor Thema: systemctl status sundtek : exited : ist das normal ?  (Gelesen 2519 mal)

norbertk

  • Newbie
  • *
  • Beiträge: 22
    • Profil anzeigen
systemctl status sundtek : exited : ist das normal ?
« am: Juni 03, 2024, 03:40:31 Nachmittag »
Hallo zuammen,
ich verstehe die innere Architektur natürlich nicht, aber wunder mich über das hier

root@tv-server:~\ systemctl status sundtek
* sundtek.service - Sundtek MediaTV
     Loaded: loaded (/lib/systemd/system/sundtek.service; enabled; preset: enabled)
     Active: active (exited) since Mon 2024-06-03 11:12:47 UTC; 2h 14min ago
    Process: 78 ExecStart=/opt/bin/mediaclient --start=4 (code=exited, status=0/SUCCESS)
   Main PID: 78 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 38323)
     Memory: 3.4M
        CPU: 38ms
     CGroup: /system.slice/sundtek.service

Soll das so sein ?

Ich habe gerade mal mit dem stremaing server rumgespielt und der sagt 'Treiber ist nicht gestartet' Meint der diesen Service ?


Sundtek SkyTV Ultimate 8 2018 (DVB-S/S2/S2X) unter proxmox/lxc, debian

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8583
    • Profil anzeigen
Re: systemctl status sundtek : exited : ist das normal ?
« Antwort #1 am: Juni 03, 2024, 03:50:30 Nachmittag »
Bei Dir läuft der Treiber doch in der virtuellen Maschine oder? Das Hauptsystem sollte nur so konfiguriert sein dass der Treiber Nodes in /dev/dvb/ erstellt und sich dann beendet.
Failure is a good thing! I'll fix it

norbertk

  • Newbie
  • *
  • Beiträge: 22
    • Profil anzeigen
Re: systemctl status sundtek : exited : ist das normal ?
« Antwort #2 am: Juni 03, 2024, 03:59:44 Nachmittag »
Ich arbeite hier die ganze Zeit im lxc-Container. Irgendwas ist da gewaltig verbogen. Ich habe gerade folgendes gesehen (auch im Container)

root@tv-server:~\ /opt/bin/mediaclient --start
root@tv-server:~\ /opt/bin/mediaclient -e
Driver is currently not running, please start it as root
mediaclient --start
root@tv-server:~\

und dann :
root@tv-server:~\ /opt/bin/mediaclient -v --start
Using device: /dev/dvb/adapter0/frontend0
device: /dev/dvb/adapter0/frontend0 doesn't support the extended media API

dazu Passt, daß auch tvheadend diese device nicht brauchen kann.


Jun 03 11:12:47 tv-server tvheadend[122]: scanfile: ISDB-T - loaded 2 regions with 1297 networks
Jun 03 11:12:49 tv-server tvheadend[122]: linuxdvb: unable to open /dev/dvb/adapter0/frontend0


Sieht aber im OS ganz OK aus, finde ich:

root@tv-server:~\ ls -aal /dev/dvb/*
total 0
drwxrwxrwx 2 root root    100 Jun  3 13:51 .
drwxrwxrwx 3 root root     60 Jun  3 13:51 ..
crwxrwxrwx 1 root root 212, 1 Jun  3 13:51 demux0
crwxrwxrwx 1 root root 212, 2 Jun  3 13:51 dvr0
crwxrwxrwx 1 root root 212, 0 Jun  3 13:51 frontend0


Die Nummern passen auch zum Host.

UPDATE:
LXC-Configuration im Host sieht so aus

lxc.cgroup2.devices.allow: c 189:* rwm
lxc.cgroup2.devices.allow: c 250:* rwm
lxc.cgroup2.devices.allow: c 212:* rwm
lxc.cgroup2.devices.allow: c 100:* rwm
lxc.mount.entry: /dev/dvb         dev/dvb none         bind,optional,create=dir
lxc.mount.entry: /dev/bus/usb/001 dev/bus/usb/001 none bind,optional,create=dir
« Letzte Änderung: Juni 03, 2024, 04:02:00 Nachmittag von norbertk »
Sundtek SkyTV Ultimate 8 2018 (DVB-S/S2/S2X) unter proxmox/lxc, debian

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8583
    • Profil anzeigen
Re: systemctl status sundtek : exited : ist das normal ?
« Antwort #3 am: Juni 03, 2024, 04:46:49 Nachmittag »
Zitat
cd /opt/bin
./mediasrv -v

Es kann sein dass Du den Treiberstart in einem speziellen Container selber verankern musst, es gibt viele verschiedene Container.
Wir haben den Treiber hauptsächlich angepasst für ein tvheadend docker, die anderen Container funktionieren aber auch.

Bei dem TVHeadend Docker haben wir das tvheadend binary umbenannt in tvheadend.bin, und tvheadend an sich startet dort dann den Treiber ./mediasrv --wait-for-devices -d und danach tvheadend.bin

wait for devices blockiert solange bis die Nodes in der VM verfügbar sind und läuft dann weiter.
« Letzte Änderung: Juni 03, 2024, 04:57:42 Nachmittag von Sundtek »
Failure is a good thing! I'll fix it

norbertk

  • Newbie
  • *
  • Beiträge: 22
    • Profil anzeigen
Re: systemctl status sundtek : exited : ist das normal ?
« Antwort #4 am: Juni 04, 2024, 07:53:49 Vormittag »
Ich stoße hier immer wieder auf das Problem, daß ich die Zusammenhänge einfach nicht verstehe:

Was genau tut denn 'sundtek.service' ?

Und welche Rolle spielt mediasrv ?

Gibt es irgendwo eine Beschreibung der Zusammenhänge ?

Her der Output von
root@tv-server:/opt/bin\ ./mediasrv -v
2024-06-04 05:54:28 [493454] UID: 0 SUID 0
2024-06-04 05:54:28 [493454] Alsa Blocking on (default)
2024-06-04 05:54:28 [493454] Starting up Multimedia Framework (Mar 17 2024 19:46:26)
2024-06-04 05:54:28 [493454] Semaphore exists, removing and reallocating it
2024-06-04 05:54:28 [493454] API Version: 5.10
2024-06-04 05:54:28 [493454] Running on Linux (6.8.4-3-pve)
2024-06-04 05:54:28 [493457] Starting service processor (PID 493457)
2024-06-04 05:54:28 [493454] Detected: GenuineIntel
2024-06-04 05:54:28 [493454] This CPU supports: MMX, SSE, SSE2
2024-06-04 05:54:28 [493454] scanning devices
2024-06-04 05:54:28 [493454]
2024-06-04 05:54:28 [493454] Scanning for drivers
2024-06-04 05:54:28 [493454] found lib: libdrv_fm_dab_dabplus.so
2024-06-04 05:54:28 [493454] found lib: libdrv_vivi.so
2024-06-04 05:54:28 [493454] found lib: libdrv_tntdvb.so
2024-06-04 05:54:28 [493454] found lib: libdrv_net.so
2024-06-04 05:54:28 [493454] found lib: libdrv_net.so
2024-06-04 05:54:28 [493454] found lib: libdrv_ngTV.so
2024-06-04 05:54:28 [493454] found lib: libdrv_eLight.so
2024-06-04 05:54:28 [493454] found lib: libdrv_hikarisoft_isdb.so
2024-06-04 05:54:28 [493454] found lib: libdrv_fm.so
2024-06-04 05:54:28 [493454] found lib: libdrv_em28xx.so
2024-06-04 05:54:28 [493454]
2024-06-04 05:54:28 [493454] Scanning for plugins
2024-06-04 05:54:28 [493454] found lib: libencoder_plugin.so
2024-06-04 05:54:28 [493454] MediaAVPlugin: MPEG Encoder
2024-06-04 05:54:28 [493454] Copyright: (C) Tpe 2011/2012
2024-06-04 05:54:28 [493454]
2024-06-04 05:54:28 [493454] Starting up device manager
2024-06-04 05:54:28 [493454] scanning devices done
2024-06-04 05:54:28 [493454] attached devices:
2024-06-04 05:54:28 [493457] Autostarting scripts in /etc/sundtek/
2024-06-04 05:54:28 [493457] executed all available items
2024-06-04 05:54:28 [493454] registering ID: 0
2024-06-04 05:54:28 [493454] Memory mapped transfers are not available
2024-06-04 05:54:28 [493454] Board config found: Sundtek SkyTV 8 (eLight)
2024-06-04 05:54:28 [493454] This board provides 1 frontends
2024-06-04 05:54:28 [493454]
2024-06-04 05:54:28 [493454] registering bandwidth report
2024-06-04 05:54:28 [493454] Initializing SYSV-IPC
2024-06-04 05:54:28 [493454] Allocation using pg for type 65678
2024-06-04 05:54:28 [493454] Allocated Shared memory buffer: 0x71b63066a000
2024-06-04 05:54:28 [493454] received notification client request
2024-06-04 05:54:29 [493454] demodulator successfully attached (DVB_S/S2)!
2024-06-04 05:54:29 [493454]
2024-06-04 05:54:29 [493454] got lnb limit: 750ma
2024-06-04 05:54:29 [493454] Vertical Polarisation is set to 13.00 Volt
2024-06-04 05:54:29 [493454] Horizontal Polarisation is set to 19.80 Volt
2024-06-04 05:54:29 [493454] Current limit is set to 400 mA
2024-06-04 05:54:29 [493454]
2024-06-04 05:54:29 [493457] trying to load uinput module
2024-06-04 05:54:29 [493457] loading uinput kernel extention failed, remote control will not work with lirc
2024-06-04 05:54:29 [493454] No remote control support available
2024-06-04 05:54:29 [493454] Initializing Remote Control Support (interrupt)
2024-06-04 05:54:29 [493454] Unable to create /dev/mediainput0 (17/File exists)
2024-06-04 05:54:29 [493454] registered virtual: /dev/mediainput0
2024-06-04 05:54:29 [493454] registering: adapter0/0
2024-06-04 05:54:29 [493454] registered virtual: /dev/dvb/adapter0/frontend0
2024-06-04 05:54:29 [493454] registered virtual: /dev/dvb/adapter0/demux0
2024-06-04 05:54:29 [493454] registered virtual: /dev/dvb/adapter0/dvr0
2024-06-04 05:54:29 [493454] Driver loaded within 1278 milliseconds
2024-06-04 05:54:29 [493454] [FE0] Setting Frequency: 0
2024-06-04 05:54:29 [493454] [FE0] Setting DVB-S2
2024-06-04 05:54:29 [493454] [FE0] Frequency: 0
2024-06-04 05:54:29 [493454] [FE0] Symbolrate: 0
2024-06-04 05:54:29 [493454] INIT_DTV: 0
2024-06-04 05:54:29 [493454] Unable to set full buffer size, this system won't let us go
2024-06-04 05:54:29 [493454] decreasing transfer buffer to 15k
2024-06-04 05:54:29 [493454] Please contact sundtek for further assistance
2024-06-04 05:54:29 [493454] ERROR Submitting request -1
2024-06-04 05:54:29 [493454] ERROR (Device or resource busy)
« Letzte Änderung: Juni 04, 2024, 07:58:09 Vormittag von norbertk »
Sundtek SkyTV Ultimate 8 2018 (DVB-S/S2/S2X) unter proxmox/lxc, debian

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8583
    • Profil anzeigen
Re: systemctl status sundtek : exited : ist das normal ?
« Antwort #5 am: Juni 04, 2024, 10:36:24 Vormittag »
mediasrv ist das Treiberframework (DVB + AnalogTV) und alles unterhalb von dvb/* sind die Treiber; Bei embedded Systemen wird alles in ein Binary kompiliert.
mediaclient ist sowas wie ein Schweizer Taschenmesser für die Tuner, damit kann man jegliche Funktionalität vom Tuner ansprechen / testen.
libmediaclient.so ist ein ultra dünnes Layer welches die Node Zugriffe für die DVB Nodes der Sundtek Treiber via Unix Domain Sockets und Shared Memory auf mediasrv umlenkt.

Der Treiber greift auf den Tuner via rohem USB Interface zu /dev/bus/usb, er erstellt die Nodes aber in /dev/sundtek neu (das kommt daher da einige Systeme das in der Vergangenheit sehr chaotisch gelöst haben, einer verwendete Symlinks, der andere Nodes, ein anderes System erstellte überhaupt keine Interfaces in der Vergangenheit). Die Informationen darüber werden aus /sys ausgelesen (die Major / Minor Nummern). Man bedenke dass der Treiber mit Linux Systemen seit 2006 funktioniert, in der Zeit hat sich viel getan.

So was es im Grunde benötigt:
* IPC zur Datensynchronisierung
* Shared Memory Unterstützung für die Daten
* Unix Domain Sockets zur Kommunikation mit dem Treiber Server

Diese Dinge müssen in der VM verfügbar sein, beim Setup von virtuellen Maschinen kann man ja alles je nach Bedarf einstellen bzw. ein oder ausschalten.

Die Fehlermeldung: Device or resource busy, der Datentransfer zum Tuner kann nicht initiiert werden; Das System blockiert den Datentransfer.

Was zeigt /opt/bin/mediaclient --lsusb auf dem Host an?
Der Treiber an sich darf auf dem Host nicht gestartet sein.
« Letzte Änderung: Juni 04, 2024, 10:38:45 Vormittag von Sundtek »
Failure is a good thing! I'll fix it

norbertk

  • Newbie
  • *
  • Beiträge: 22
    • Profil anzeigen
Re: systemctl status sundtek : exited : ist das normal ?
« Antwort #6 am: Juni 04, 2024, 03:19:27 Nachmittag »
Problem gelöst: Aus irgendwelchen Gründen lief der /opt/bin/mediasrv auf dem Host. Der Service mar disabled, habe den wohl manuell gestartet und werde den jetzt maskieren.

Hätte ich drauf kommen können, vielen Dank für den Support !




___
habe das mit mediaclient durch mediasrv ausgetauscht, mediaclient ist nur ein Tool/client für mediasrv (der Treiberserver)  ~sundtek
« Letzte Änderung: Juni 04, 2024, 04:07:25 Nachmittag von Sundtek »
Sundtek SkyTV Ultimate 8 2018 (DVB-S/S2/S2X) unter proxmox/lxc, debian