Autor Thema: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?  (Gelesen 2140 mal)

Tihass1975

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
Moin Forum und Support,

ich bräuchte mal euer Fachwissen, ich habe hier ein Host auf dem läuft Proxmox, darauf habe ich eine VM mit Debian 12 und Docker, Docker Compose und Portainer installiert und möchte gern den TV-Stick in den TVHeadend Docker Kontainer durchreichen und den Treiber installieren.

Ich habe auf dem Host (Proxmox) die Nodes installiert.

wget http://sundtek.de/media/sundtek_netinst.sh
chmod 777 sundtek_netinst.sh
./sundtek_netinst.sh -createnodes
Busybox installation
Creating static nodes

Das hat auch funktioniert.

root@pve:~# ls /dev/dvb
adapter0  adapter1
root@pve:~#

root@pve:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 2659:1210 Sundtek MediaTV Pro III (EU)
Bus 001 Device 002: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 

Dann habe ich den Stick in die VM durchgereicht, einmal habe ich es mit der ID gemacht

usb0 host=2659:1210
Und einmal habe ich den kompletten Port durchgereicht. Und diese Version probiert.

usb0 host=1-6
Bei beiden Versuchen konnte man den USB Stick sehen, aber der /dev/dvb Pfad fehlt.

root@docker:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2659:1210 Sundtek MediaTV Pro III (EU)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
root@docker:~# ls /dev/dvb
ls: Zugriff auf '/dev/dvb' nicht möglich: Datei oder Verzeichnis nicht gefunden


Wenn ich meine TVHeadend Docker Compose YAML ausführe kommt natürlich eine Fehlermeldung das /dev/dvb nicht vorhanden ist.

---
services:
  tvheadend:
    image: lscr.io/linuxserver/tvheadend:latest
    container_name: tvheadend
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/Berlin
    # - RUN_OPTS= #optional
    volumes:
      - /mnt/tvheadend/data:/config
      - /mnt/tv-aufzeichnungen:/recordings
    ports:
      - 9981:9981
      - 9982:9982
    devices:
    # - /dev/dri:/dev/dri #optional
      - /dev/dvb:/dev/dvb #optional
      - /dev/bus/usb:/dev/bus/usb
    restart: unless-stopped
    networks:
      mvl:                       
        ipv4_address: 192.168.178.36

networks:
  mvl:
    external: true

Jetzt meine Frage, was mache ich falsche, reiche ich den Stick falsch durch ? Muss ich auf der VM auch noch die Nodes installieren ?

Ich danke Euch für Hilfe !

Gruß
Matthias





Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8628
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #1 am: Januar 21, 2025, 05:11:51 Nachmittag »
https://sundtek.de/wiki/index.php?title=Docker

Hast Du Dir unsere Notizen dort durchgelesen?

In der virtuellen Maschine muss es /dev/bus/usb geben.
Failure is a good thing! I'll fix it

Tihass1975

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #2 am: Januar 22, 2025, 08:37:53 Nachmittag »
Moin,

ich habe jetzt die Nodes vom Host gelöscht, den USB Port in die VM durchgereicht.

root@server:~# ls -l /dev/bus/usb
insgesamt 0
drwxr-xr-x 2 root root 80 22. Jan 18:12 001
drwxr-xr-x 2 root root 80 22. Jan 18:12 002
drwxr-xr-x 2 root root 60 22. Jan 18:12 003

Die Nodes auf der VM installiert.

wget http://sundtek.de/media/sundtek_netinst.sh
chmod 777 sundtek_netinst.sh
./sundtek_netinst.sh -createnodes
Busybox installation
Creating static nodes

root@server:~# ls -l /dev/dvb
insgesamt 0
drwxr-xr-x 2 root root 100 22. Jan 18:14 adapter0
drwxr-xr-x 2 root root 100 22. Jan 18:14 adapter1

TVHeadend mit diesem Compose YAML erstellt

services:
  tvheadend:
    image: lscr.io/linuxserver/tvheadend:latest
    container_name: tvheadend
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Berlin
    # - RUN_OPTS= #optional
    volumes:
      - /srv/dev-disk-by-uuid-70ab5780-c50a-4f11-8da3-253d9b43d0b2/docker/tvheadend/data:/config
    # - /mnt/tv-aufzeichnungen:/recordings
    ports:
      - 9981:9981
      - 9982:9982
    devices:
    # - /dev/dri:/dev/dri #optional
      - /dev/dvb:/dev/dvb #optional
      - /dev/bus/usb:/dev/bus/usb
    restart: unless-stopped
    networks:
      mvl:                       
        ipv4_address: 192.168.178.33

networks:
  mvl:
    external: true

Den Treiber im Docker installiert.

docker exec -it tvheadend /bin/sh

wget http://sundtek.de/media/sundtek_netinst.sh
chmod 777 sundtek_netinst.sh
./sundtek_netinst.sh -docker -use-custom-path /config

exit

docker restart tvheadend

Der Stick läuft jetzt einwandfrei mit TVHeadend !

Ich hoffe das Szenario ist jetzt so in Ordnung ? Ich dachte eigentlich das die Nodes zwingend auf dem Host eingetragen sein müssen ?

Gruß
Matthias

// Edit Sundtek, Nodes / nicht Notes
« Letzte Änderung: Januar 22, 2025, 08:54:51 Nachmittag von Sundtek »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8628
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #3 am: Januar 22, 2025, 08:56:16 Nachmittag »
Bei Docker müssen die Nodes eigentlich auf dem Host erzeugt werden bevor das Docker System gestartet wird, sonst kann der Treiber eigentlich keine Nodes mit den entsprechenden Major/Minor Nummern im Docker erstellen
Failure is a good thing! I'll fix it

Tihass1975

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #4 am: Januar 22, 2025, 09:05:41 Nachmittag »
Das habe ich so versucht, ohne Erfolg !

Kann man das jetzt so lassen, oder ist das Mist ? Vielleicht funktioniert das in diesem Fall so, weil ich den Stick per USB passthrough in die VM gereicht habe ?
« Letzte Änderung: Januar 22, 2025, 09:13:00 Nachmittag von Tihass1975 »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8628
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #5 am: Januar 22, 2025, 10:13:07 Nachmittag »
Wenn Du das System neu startest gibt's auf dem Host kein /dev/dvb und auch keine "dummy" Nodes. Die virtuelle Maschine wird sich dann wohl nicht starten lassen. Das war bis jetzt meine Erfahrung (als Anmerkung, bei LXR Containern ist das besser geregelt).

Wahrscheinlich hattest Du die Nodes auf dem Host vorher bereits erzeugt bevor du das Docker Image gestartet hast. Createnodes im Docker an sich schadet nicht aber bringt auch nichts, der Treiber erzeugt die Nodes ja selber --- wenn er es darf (also entsprechende Berechtigungen hat).

Docker überprüft die existierenden Nodes in /dev vor dem Start des Images und macht wohl eine Liste welche Devicenodes auch im Docker Image verwendet werden dürfen.
Failure is a good thing! I'll fix it

Tihass1975

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #6 am: Januar 23, 2025, 06:11:09 Vormittag »

Das ist tatsächlich so wie du es sagst, nach einem neustart von Proxmox, fliegen die Nodes aus der VM. Ich habe dann nochmal nur nie Nodes auf dem Host neu erstellt, und die VM neu gestartet, das funktioniert leider nicht, obwohl /dev/bus/usb in der VM vorhanden ist. Wenn ich die Nodes auf dem Host und der VM installiere, und den docker neu starte funktioniert alles wie es soll ! Das Problem, wenn ich jetzt den Host einmal neu starte, werden die Nodes vom Host und der VM gelöscht !

Hast du eine Idee warum das so ist ? Ist die Art wie ich die Nodes erstelle, vielleicht falsch ?
Für weiter Hilfe, wäre ich dir sehr dankbar.

Gruß
Matthias

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8628
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #7 am: Januar 23, 2025, 10:40:00 Vormittag »
https://sundtek.de/wiki/index.php?title=Docker#Device_Nodes_on_the_Host

Auf dem Host kannst Du in der Konfiguration enabledocker=on setzen.

echo "enabledocker=on" > /etc/sundtek.conf

Dadurch erstellt der Treiber die Dummy Nodes und beendet sich sofort, er wird nicht auf die Tuner Hardware zugreifen.

----

Jetzt zur VM:

Der Treiber gibt eine Fehlermeldung aus wenn er die Nodes nicht erstellen kann, schau dir mal die Logfiles an.

Per Konfiguration kann das Logging so eingeschalten werden (das sollte in der VM gemacht werden)

/etc/sundtek.conf
loglevel=max
« Letzte Änderung: Januar 23, 2025, 02:19:42 Nachmittag von Sundtek »
Failure is a good thing! I'll fix it

Tihass1975

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #8 am: Januar 23, 2025, 06:38:00 Nachmittag »

Moin,
ich habe das jetzt mal so ausprobiert.

Auf dem Host

wget http://sundtek.de/media/sundtek_netinst.sh
chmod 777 sundtek_netinst.sh
./sundtek_netinst.sh

echo "enabledocker=on" > /etc/sundtek.conf

In der VM

wget http://sundtek.de/media/sundtek_netinst.sh
chmod 777 sundtek_netinst.sh
./sundtek_netinst.sh

echo "enabledocker=on" > /etc/sundtek.conf
echo "loglevel=max" > /etc/sundtek.conf

Proxmox neu gestartet anschließend docker neu gestartet, die Nodes werden erstellt und das funktioniert soweit, aber der stream ruckelt ganz extrem und macht auch stopptanz !!
In der VM wird ein log file erstellt, unter /var/log/mediasrv.log das ist allerdings leer. Ich hoffe das ist das richtige log file ?

Wenn ich die Treiber vom Host und von der VM deinstalliere, ./sundtek_netinst.sh -u und anschließend wieder die Nodes so erstelle: ./sundtek_netinst.sh -createnodes und anschließend den docker neu starte, läuft das wie es soll, ohne Ruckler !!!!

Wird der Treiber vielleicht nicht richtig beendet ?
Für weiter Hilfe fürs Debugging, bin ich dir sehr dankbar.


Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8628
    • Profil anzeigen
Re: MediaTV PRO III von Proxmox in VM durchreichen und in Docker installieren ?
« Antwort #9 am: Januar 23, 2025, 09:00:28 Nachmittag »
Schaue dir die CPU Auslastung an.

Schaue dir die Signalstatistik an:
/config/opt/bin/mediaclient --readsignal=0 -d /dev/dvb/adapter0/frontend0

Eventuell auch überprüfen welche Programme auf den Tuner zugreifen

/config/opt/bin/mediaclient --lc

Bezüglich dem Ruckeln würde ich vorrangig das allgemeine System überprüfen (z.B.: CPU zu weit runtergetaktet mit dem ondemand scheduler?)
« Letzte Änderung: Januar 24, 2025, 06:24:53 Vormittag von Sundtek »
Failure is a good thing! I'll fix it