[vtuner-ng] Aktualisierter vtuner für kernel >= 4.16

  • Habe bei mir Unicable, damit ich alle 8 Tuner verwenden kann, also Setup nicht 100% gleich.

    Beim satip Programm gibts ja Parameter:

    -f frontend on satip receiver, number between 1 to N (defaults to let receiver decide

    So geraten wuerde ich sagen, das Du 3 x satip startes, jeweils mit frontent nummer 1,2,4. Muesstest Du dann ja in der Web-GUI des exip418 sehen, das tuner 3 nicht verwendet wird.

    Aber eigentlich soltest Du mal gucken, was da kaputt ist. Kann ja eigentlich nur was am Kabel oder Multiswitchausgang sein. Solltest Du ja Durch umstecken eingrenzen koennen.

  • welchem SAT-IP Receiver verwendest Du die vtuner-software

    Bei mir läuft ein Elgato Eyetv Netstream 4sat - der wurde sogar Sat>IP zertifiziert. Den habe ich mal als Restposten für 100€ "geschossen". Gibt es auch noch gebraucht auf Kleinanzeigen oder Ebay für 50€ - 150€

    Immer wieder füllt der VDR mein Syslog mit dieser Fehlermeldung

    Das ist das satip-Plugin .. weiche von mir Satan :D

    Weiß jemand, ob vtuner beim Start die Tuner zufällig belegt?

    Kommt drauf an. Wenn der SatIP-Server die Auswahl des Frontends korrekt unterstützt dann kann man mit dem Parameter -f ein Frontend auswählen.

    Steht aber auch in der Hilfe zum satip-Programm:

    -f frontend on satip receiver, number between 1 to N (defaults to let receiver decide)

    Eine Instanz von satip ist immer einem vtuner zugeordnet (muss bei mehreren ja mit -d ausgewählt werden)

    Gibt es eine Möglichkeit, Receiver 3 dauerhaft zu deaktivieren oder in VDR zu ignorieren?

    Mit vtuner je nach SatIP-Server ja: einfach nur 3 vtuner anlegen und mit -f die Tuner 1,2,4 wählen

    Bei Fragen zum satip-plugin bitte entsprechende Threads verwenden!

  • Ich habe nun einiges ausprobiert, aber bei einem SAT>IP-Plugin scheint eine manuelle Tunerauswahl leider nicht möglich zu sein.

    Laut SATIP-Manual gibt es nur die Möglichkeit, die Anzahl der Tuner anzugeben, aber keine Option, gezielt bestimmte Tuner zu verwenden oder einem Gerät fest zuzuweisen. Die Tuner werden anscheinend einfach der Reihe nach automatisch geladen bzw. aktiviert.

    Hier ein Auszug aus dem Manual:

    Eine Möglichkeit, z. B. „nutze nur Tuner 2+3“ oder „dieser VDR-Thread nutzt Tuner X“, konnte ich nicht finden. Mit -t einzelne Tuner festlegen funktioniert entgegen einiger Webtutorials bei meinem VDR nicht :/

    Frage:
    Gibt es irgendeinen Trick oder eine undocumented Option, mit der man gezielt Tuner selektieren oder priorisieren kann? Oder geht das nur über vtuner ?

    Ich habe gerade mal nach vtuner geschaut, so wie es aussieht, scheint es korrekt installiert worden zu sein

    sudo apt update
    sudo apt install build-essential linux-headers-$(uname -r) git
    git clone https://github.com/umlaeute/v4l2loopback.git
    cd v4l2loopback
    make
    sudo make install
    sudo depmod -a
    sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="VirtualCam" exclusive_caps=1
    find /lib/modules/$(uname -r) -name v4l2loopback.ko
    lsmod | grep v4l2loopback
    ls /dev/video*

    Nach einem Reboot habe ich das vtuner Modul dann mit 4 Tunern geladen:

    sudo modprobe v4l2loopback devices=4 video_nr=10 card_label="VirtualCam" exclusive_caps=1

    sudo ls /dev/video*
    /dev/video10  /dev/video11  /dev/video12    /dev/video13

    Das sieht ja schon mal gut aus ;)

    Sehe ich das richtig, dass die virtuellen Tuner über modprobe geladen werden? Im System ist keine vtuner Datei/Befehl vorhanden. Somit würde ich dann

    sudo modprobe v4l2loopback devices=4 video_nr=10 card_label="VirtualCam" exclusive_caps=1

    als cronjob beim booten (@reboot sudo modprobe v4l2loopback devices=4 video_nr=10,11,12,13 card_label="VirtualCam" exclusive_caps=1) eintragen.

    Jetzt ist die Frage welche vtuner auf den dritten Tuner des Kathein ExIP zugreift/verbunden ist. Wenn ich dann die Gerätedatei unter unter /dev/videoX lösche, sollte der Tuner damit deaktiviert sein, oder ?

    ll /dev/video1*
    crw-rw---- 1 root video 81, 0 24. Mai 12:11 /dev/video10
    crw-rw---- 1 root video 81, 1 24. Mai 12:11 /dev/video11
    crw-rw---- 1 root video 81, 2 24. Mai 12:11 /dev/video12
    crw-rw---- 1 root video 81, 3 24. Mai 12:11 /dev/video13

    Das scheint zu funktionieren, es sind auch 4 weitere Tuner am Kathein "eingerastet". Die ersten beiden Tuner sind der ProduktivVDR (1-2) und Tuner 3-6 vtuner TestVM.

    Mir ist gerade nicht ganz klar wie vtuner im Zusammenhang mit dem VDR funktioniert:

    - Vtuner greift auf das satip-plugin des VDR zu? Ohne den VDR und das Satipplugin funktioniert Vtuner nicht?
    - Wenn 4 Tuner über modprobe (s.o.) geladen werden, muss in der /etc/vdr/conf.avail/satip.conf dann -d 4 gesetzt werden oder funktioniert vtuner unabhängig vom Satip-Plugin ?
    - Kollidieren das Satip-Plugin und vtuner im VDR? Wenn im Satip-Plugin Tuner für den VDR konfiguriert werden (in o.g. Fall 4) , was hat Priorität, vtuner oder satip/VDR
    - Oder "reserviert" vtuner die 4 Tuner des Satip-Plugins, sodass der VDR keinen Zugriff mehr drauf hat und vtunder die Tuner dann über Gerätedatein zugänglich macht und der VDR dann auf die Gerätedatei zugrift und die Satip-Plugin Werte ignoriert?

    Lt. Logs des produktiv VDR (mehr als 3 Tuner) und des Test VDR (produktiv VDR nur 2 Tuner, Tuner 3-6 dann auf Test VDR) ist es IMMER! das dritte Device des SatIP Servers (Kathein ExIP) das Fehler verursacht:

    2025-05-24T12:26:50.947684+02:00 D12-VDR-Server vdr: [749] SATIP-ERROR: Detected invalid status code 503: rtsp://192.168.1.9/ [device 3]

    Da es immer der dritte Tuner ist und alle anderen Tuner keine Fehlermeldungen aufweisen, gehe ich von einem Defekt des dritten Tuners am Kathein aus.

    5-6 Tuner nutze ich maximal, deshalb würde ich den Kathein gern behalten und nur den "deffekten" Tuner ignorieren/abschalten/blocken.

  • speefak Tut mir leid, aber von deinem Posting verstehe ich einfach gar nix ... du postest irgendwas von v4l2loopback (keine Ahnung) irgendwas von /dev/video (keine Ahnung) und absolut gar nix von vtuner-ng :/

    Hier ein Auszug aus dem Manual:
    [...]

    Schon wieder vdr-plugin-satip. =O Du hast schon gelesen das es hier um vtuner geht?

    Bei deinem Status als Profi gehe ich mal davon aus das Du Dich recht gut mit VDR auskennst.

    Also vtuner hat null, nix, nada, niente mit vdr-plugin-satip zu tun. Das kannste, wenn Du vtuner verwenden willst deinstallieren, löschen .. was auch immer.

    vtuner stellt lokal - aber unabhängig vom vdr - virtuelle DVB-Devices zur Verfügung. Diese DVB-Devices kann der vdr verwenden, wenn er auch dort läuft wo vtuner eingesetzt wird.

    Die virtuellen DVB-Devices in /dev/dvb/adapterX bekommen ihre Daten über ein weiteres Device /dev/vtunercX.
    Dieses Device /dev/vtunercX muss mit TS-Daten befüllt werden. Damit es rund wird habe ich dazu das Programm satip "beigelegt"..
    Das sollte man mit einem hoffentlich konformen Sat>IP-Server verbinden.
    Anforderungen vom /dev/dvb/adapterX werden dann über /dev/vtunercX an den Sat>IP-Server weitergeleitet.
    Und die TS-Pakete schlussendlich dann zurück zu den /dev/dvb/adapterX-Devices...

    Hier ist das Repository dazu: https://github.com/joed74/vtuner-ng

    Herunterladen und in den jeweiligen Verzeichnissen (kernel und satip) make install ausführen.

    Danach sollte man modprobe vtunerc devices=3 machen können und erhält /dev/dvb/adapter0 ... bis /dev/dvb/adapter3 und zusätzlich /dev/vtunerc0 ... /dev/vtunerc3

    In /usr/local/bin sollte das Programm satip liegen. Das kann man einfach mal ausführen und sich die Kommandozeilenparameter anschauen.

    Mittels /usr/local/bin/satip -d /dev/vtunerc0 -D DVBS2 -f 1 & wird eine Instanz vom satip-Programm mit dem Sat>IP-Server verbunden (Tuner 1).
    Das sollte man dann noch für alle Tuner wiederholen die man verwenden möchte (bei Dir wohl 1,2,4 ...?) ...

    Edited once, last by Joe_D (May 24, 2025 at 4:04 PM).

  • Tools installieren

    Code
    sudo apt update
    sudo apt install git build-essential linux-headers-$(uname -r) libcap-dev

    📥 Quellcode klonen

    Code
    cd /tmp
    git clone https://github.com/joed74/vtuner-ng.git

    🧩 Kernelmodul mit DKMS installieren


    ✅ Modul laden

    Code
    sudo modprobe vtunerc devices=4

    Jetzt sollten vtuner-Geräte erscheinen:

    Code
    ls /dev/vtuner*
    /dev/vtunerc0  /dev/vtunerc1  /dev/vtunerc2  /dev/vtunerc3

    Der Inhalt im Ordner satip/ ist ein ganz normales Userspace-Programm (wie z. B. ffmpeg, vlc, etc.). Es enthält keinen Kernelcode, sondern wird mit gcc ganz normal kompiliert und gestartet.

    Das hat auch ohne Fehler funktioniert und ich kann /usr/local/bin/satip -d /dev/vtunerc0 -s 192.168.1.9 ausführen. Auf dem Kathein SatIP Server ist aber kein weiterer Tuner eingerastet sprich aktiv ?!

  • Hi, ich verwende sei Jahren die BM2LTS Distri und bin seit 2009 User eines Reel Netceiver. Dazu gibt es im Image ein mcli Plugin, das von Fleißigen immer wieder mal am Stand der Zeit gehalten wurde.
    Auch minisaip nutzt soweit ich das als Laie weis libmcli o.ä für seine -n Option, die bei mir leider nicht mehr (2021 noch OK) funkt.

    Wäre es denk/machbar auch bei vTuner-ng eine -n Netceiver Option zu bauen, dann könnte man z.B. die Octopus devices u Netceiver mischen ?

    Für jene die das Relikt nicht kennen:
    Der NCV ist ein SATIP Server und kommt mit 3 Tuner-Slots für 3x2 DVB-S2/C Tuner und 2 CI Einschüben und unterstützt anders als andere Tuner auch MultiTransponderDekodierung.

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Post by Taipan (May 25, 2025 at 3:26 PM).

    This post was deleted by the author themselves: OT (May 26, 2025 at 2:53 PM).
  • Irgendwie läuft's bei mir noch nicht rund. Hier mal mein Vorgehen bisher:

    🛠️ Neuinstallation

    Frisches Debian 12 (Netinstall) aufgesetzt, dann die nötigen Pakete und vtuner-ng installiert:

    Code
    sudo apt update
    sudo apt install git build-essential linux-headers-$(uname -r) libcap-dev

    Dann den Quellcode geklont und vtuner via DKMS compiliert und installiert:

    Code
    git clone https://github.com/joed74/vtuner-ng.git
    cd vtuner-ng
    
    sudo mkdir -p /usr/src/vtuner-ng-0.0.1
    sudo cp -r . /usr/src/vtuner-ng-0.0.1
    
    sudo dkms add -m vtuner-ng -v 0.0.1
    sudo dkms build -m vtuner-ng -v 0.0.1
    sudo dkms install -m vtuner-ng -v 0.0.1

    Danach reboot.

    Anschließend vtuner mit 4 Geräten geladen:

    Code
    sudo modprobe vtunerc devices=4

    Frage:
    Was macht vtuner zu diesem Zeitpunkt genau? Verbindet er sich schon mit dem SAT>IP-Server? Ich vermute eher nicht, oder? Soweit ich sehe, stellt vtuner erstmal nur virtuelle DVB-Devices bereit.


    🔌 SAT>IP-Client starten

    Danach habe ich manuell die Verbindung zum SAT>IP-Server aufgebaut mit:

    Code
    /usr/local/bin/satip -s 192.168.1.9 -p 554 -d /dev/vtunerc0 -D DVBS2 -f satip_frontend 1  &
    /usr/local/bin/satip -s 192.168.1.9 -p 554 -d /dev/vtunerc1 -D DVBS2 -f satip_frontend 2  &
    /usr/local/bin/satip -s 192.168.1.9 -p 554 -d /dev/vtunerc2 -D DVBS2 -f satip_frontend 3  &
    /usr/local/bin/satip -s 192.168.1.9 -p 554 -d /dev/vtunerc3 -D DVBS2 -f satip_frontend 4  &

    Damit sollten die virtuellen Tuner mit dem SAT>IP-Server verbunden sein.

    Jetzt noch den VDR neu starten : sudo systemctl restart vdr


    🤔 Verständnisfrage

    Wenn ich das richtig sehe, ist der satip-Befehl eigentlich der Client, der:

    • sich mit dem SAT>IP-Server verbindet,
    • die Daten über ein virtuelles Interface (/dev/vtunercX) an vtuner weiterreicht,
    • woraufhin das System ein „echtes“ /dev/dvb/adapterX/...-Device sieht?

    Falls das soweit korrekt ist – woran kann’s dann liegen, dass der VDR keine Kanaldaten liefert? Liegt’s evtl. an der Geräteinitialisierung oder fehlt dem VDR noch was?

    journalctl log :

    die VNSI Verbindung von Kodi zum VDR klappt. Wenn ich einen TV Sender auswähle kommt die Nachricht: No Channel Data

    Die Verbindung von vtuner?/satip? zum Kathein SatIP Server scheint nicht aufgebaut zu werden, da auch nach dem VDR Restart und der Auswahl eine Kanals keiner der SatIP Tuner auf dem Kathein eingerastet/aktiv ist .

    Was habe ich vergessen/falsch gemacht ?

  • Wäre es denk/machbar auch bei vTuner-ng eine -n Netceiver Option zu bauen, dann könnte man z.B. die Octopus devices u Netceiver mischen ?

    Hört sich so unschuldig an "eine -n Netceiver Option" einbauen :) Hab' mich erstmal erkundigen müssen was Netceiver überhaupt ist.
    Ein Sat>IP ähnliches Kistchen das es scheinbar nicht mehr gibt und das wohl aufgrund des frühen Erscheinens mit komplett propietären Protokollen umgesetzt wurde.
    minisatip wurde da bislang irgendwie dazwischengeschoben um ein Sat>IP fähiges Gerät zu erhalten das von beliebigen Sat>IP-Clients (wie vtuner/satip Gespann) verwendet werden kann.

    Also frägst Du mich ob ich im Endeffekt minisatip nachbauen kann? Öhhh, leider gerade keine Zeit ;)

  • Ich hatte uebrigens Probleme mit satip, als ich "-D DVBS2" konfiguriert hatte - da gingen auf einmal all die privaten/SD Sender (ASTRA 19.2) nicht mehr. Entfernt, Problem weg. Wenn ich jetzt in die vtuner Logs schaue:

    May 25 01:57:38 [11349 satip_config.c:200] debug: DVBS freq: 11508 mod: qpsk pol: v sym: 22000 fec: 56
    May 25 01:57:59 [11349 satip_config.c:221] debug: DVBS2 freq: 10773 mod: 8psk pol: h sym: 22000 fec: 34 roff: 0.20 pilot: on

    Aka... verstehe ich das richtig, das einige Sender (SD ?) Protokoll DVB verwenden, und andere das protokoll DVBS2 ?

    Abhaengig von der Modulation ? qpsk noch DVB, 8psk dann DVBS2 ?

    Kompliziertes Zeugs ;) Aber falls sich mal jemand aufrafft eine echte Doku zu schreiben , vielleicht ganz gut zu verstehen, das man dann wahrscheinlich kein "-D xxx" verwenden will, damit beide Protokolle funktionieren... ?!

  • Der SatIP Server zeigt mit folgenden Befehlen den ersten Tuner als aktiv an

    Code
    sudo modprobe vtunerc devices=1
    sudo /usr/local/bin/satip -s 192.168.1.9 -p 554 -d /dev/vtunerc0 -D DVBS2 -f 1 &
    sudo service vdr restart

    Kodi zeigt mir alledings bei einer Kanalauswahl an: Allgemeiner Fehler bei der Wiedergabe. Für mehr Infos Protokoll einsehen.

    Im Syslog finde ich nichts Aussagekräftiges :/

    Ich habe mal ein kleines Script geschrieben, um die vtuner Devices sowie die Satip Verbindungen zu laden/entladen/konfigurieren.

    https://github.com/speefak/vtuner-cli

    Damit kann ich schnell und einfach die vtuner und deren satip-frontend Zuordnungen aktivieren/deaktivieren/ändern/anzeigen. Vtuner und SatIP arbeiten soweit korrekt, was die Zuordnungen und Verbindungen angeht.

    Wenn ich z.B. 4 vtuner lade und diese an die SatIP Devices 1,2,4,7 binde, sind lt. Kathein WebUI auch nur die Tuner 1,2,4 und 7 Aktiv. Das scheint zu funktionieren, allerdings bekomme ich vom VDR/VNSI/KODI bei Kanalauswahl die Meldung: "Allgemeiner Fehler bei Wiedergabe. Für mehr Informationen Protokoll einsehen"

    Liegt es am VDR, das er die Geräte unter /dev/adapterX/XXX falsch erkennt?

    EDIT : grad im syslog gefunden: 2025-05-26T09:25:02.042116+02:00 D12-VDR-Server vdr[546]: vdr: no primary device found - using first device!

  • Aka... verstehe ich das richtig, das einige Sender (SD ?) Protokoll DVB verwenden, und andere das protokoll DVBS2 ?

    Abhaengig von der Modulation ? qpsk noch DVB, 8psk dann DVBS2 ?

    Kompliziertes Zeugs

    Ähm, wenn Du nur DVBS2 zulässt dann erhälst Du auch nur Sender mit DVBS2 .. sollte doch klar sein, oder? 8)

    Ich verwende es folgendermaßen -D DVBS,DVBS2

    Und da ist nix kompliziert. Es hat einfach damit zu tun, wenn Du z.B. eine FritzBox mit DVB-C und einen Sat>IP-Receiver mit DVB-S/S2 hast.
    Dann kannst Du mit der Kommandozeile X Tuner für DVB-C Kanäle "zuweisen" und Y Tuner für DVB-S/S2. Der vdr kann dann die richtigen Tuner auswählen.
    Hab ich bei mir auch schon so "gefahren" ...

    Wenn Du in einer gemischten Konfiguration nix angibst, dann kann es sein das die Anfrage für DVB-C-Kanäle auf dem Sat-Receiver landet der damit nix anfangen kann...

    Liegt es am VDR, das er die Geräte unter /dev/adapterX/XXX falsch erkennt?

    Keine Ahnung :/

    Mit z.B. cat /proc/vtunerc0 kannst Dir den Status der Tuner anzeigen lassen:

  • Joe_D Danke!

    Kompliziert fand ich ja erst mal, das da zwischen DVBS und DVBS2 unterschieden wird. Ich haette irgndwie erwartet, das DVBS2 so'ne art Obermenge von DVB ist, man dann also nie mehr DVBS erwaehnen muss, wenn man DVBS2 angibt.

    Klar, das DVBS2 vs. DVB-C Beispiel von Dir macht viel Sinn, das sollte man mal dokumentieren ;)

  • Ich dachte mit DVB-S sind alle Sat Empfänge gemeint ... ;/ Der einzige Mischbetrieb sind SD und HD Sender über den Kathein ExIP418.

    Das hilft mir auch nicht weiter. Der VDR braucht ewig für einen Neuestart, keine Kanaldaten im VNSI und kein Aktiver Tuner im SatIP Server:

    /usr/local/bin/satip -s 192.168.1.9 -p 554 -d /dev/vtunerc0 -D DVBS,DVBS2 -f 1 &


    Das ist gerade ein wenige ärgerlich :wand Die Tunerzuordnung, bzw. überspringen beliebiger Tuner des SatIP Servers funktioniert. Die Tuner werden auch passend zum satip Befehl angesprochen, aber ich bekomme kein Bild/Stream über die Gerätedateien:

    Code
    root@D12-VDR-Server:/home/user# timeout 10 cat /dev/dvb/adapter0/dvr0 > stream.out || ll | grep stream
    -rw-r--r-- 1 root root    0 26. Mai 15:13 stream.out



    cat /dev/dvb/adapter0/dvr0 | hexdump -C | head => keine Daten

  • Hast Du ueberhaupt schon mal eine sinnvolle channels.conf ?

    Und ein passendes disecq.conf ? Z.b.:

    S19.2E 11700 V 9750 [E0 10 38 F0]
    S19.2E 99999 V 10600 [E0 10 38 F1]
    S19.2E 11700 H 9750 [E0 10 38 F2]
    S19.2E 99999 H 10600 [E0 10 38 F3]

  • Kompliziert fand ich ja erst mal, das da zwischen DVBS und DVBS2 unterschieden wird. Ich haette irgndwie erwartet, das DVBS2 so'ne art Obermenge von DVB ist, man dann also nie mehr DVBS erwaehnen muss, wenn man DVBS2 angibt.

    Da musste Dich bei den Kernel-Entwicklern beschweren, das ist nicht auf meinem Mist gewachsen (Liste gekürzt):

    Code
    enum fe_delivery_system {
    	SYS_DVBC_ANNEX_A,
    	SYS_DVBC_ANNEX_B,
    	SYS_DVBT,
    	SYS_DVBS,
    	SYS_DVBS2,
    	SYS_DVBT2,
    	SYS_DVBC_ANNEX_C,
    	SYS_DVBC2
    };

    Der VDR braucht ewig für einen Neuestart, keine Kanaldaten im VNSI und kein Aktiver Tuner im SatIP Server

    Wir wärs mal mit ausführlichem Debug-Log vom vdr?

    Was sagt cat /proc/vtunerc0?

    Satip mal so starten:
    /usr/local/bin/satip -s 192.168.1.9 -d /dev/vtunerc0 -D DVBS,DVBS2 -m 2 -l 4 -f 1 2> /tmp/satip0.log &

    Dann bekommste ein zusätzliches Log in /tmp/satip0.log ...

    Und dann gibt es auch noch einen Testmode nur für satip:
    /usr/local/bin/satip -s 192.168.1.9 -m 2 -l 4 -T > /tmp/test.ts 2> /tmp/test.log

    Da wird dann versucht über SAT>IP einen DVBS2-Kanal zu öffnen und 10 Sekunden lang Daten zu erhalten.
    Ganz ohne vdr und vtuner. Nur zum Testen der Strecke satip -> SAT>IP-Server

  • Hast Du ueberhaupt schon mal eine sinnvolle channels.conf ?

    Und ein passendes disecq.conf ? Z.b.:

    S19.2E 11700 V 9750 [E0 10 38 F0]
    S19.2E 99999 V 10600 [E0 10 38 F1]
    S19.2E 11700 H 9750 [E0 10 38 F2]
    S19.2E 99999 H 10600 [E0 10 38 F3]

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!