Hallo Zusammen,
wie in diesem Thread bereits angesprochen, habe ich jetzt auf Ubuntu 18.04 gewechselt, was insbesondere für meine FF TT6400 aufgrund der veränderten Treiber Situation etwas Aufwand war.
Aber, gleich voraus, die Vorarbeit insbesondere von S:oren , ist so klasse, dass das kein Hexenwerk mehr ist.
Ich beschreibe hier meine Vorgehensweise ausführlich, dass andere evtl. in der Lage sind das als Anleitung zu nutzen. Wie immer, das ist die Vorgehensweise, welche bei mir funktioniert hat. Das erhebt keinen Anspruch all-umfassend und -wissend zu sein, sondern fasst nur die Klasse Arbeit anderer zusammen. Daher kann ich auch weder Gewähr, Haftung, etc. übernehmen
Wichtig: Besonderheit meines Setups ist, dass ich auf einer Ubuntu 18.04 Desktop Version aufsetze, da ich den Rechner auch als Desktop nutze! Bei anderen "Headless" oder "Nur VDR" Systemen sind andere Distributionen unter Umständen sinnvoller.
Zweite Besonderheit, ich habe meine komplette Systemplatte als ISO gespeichert, sodass ich jederzeit ein Backup meiner Konfiguration nutzen kann. Ich gehe davon aus, dass jeder ein Backup macht, bevor er/sie so einen Upgrade angeht
Dritte Besonderheit: Ich nutze die normale Grafikkarte für den Desktop und die TT6400 FF-Karte für den VDR und schalte den HDMI jeweils am Fernseher um. der WAF dieser Lösung ist sehr hoch.
So, hier meine Schritte auf Ubuntu 18.04
1. Installation Ubuntu 18.04 Desktop
Ich setze immer auf der grünen Wiese auf, da ich das als einfacher empfinde und die Konfigurationsdaten des VDRs einfach aus dem Backup raus nehmen kann.
Einen Upgrade von alten Ubuntu-Versionen auf 18.04 habe ich nicht getestet.
2. Aktualisierung auf neuesten Kernel.
das habe ich nur gemacht, um den Prozess für die Treiber nicht mehrmals machen zu müssen.
3. Make und Installation der Treiber Module für die FF TT 6400
Da die Treiber weder in den kernel gekommen sind noch in einem DKMS zur Verfügung stehen, müssen die jeweiligen Module selbst gebaut werden. Soren hat dafür einen aus meiner Sicht echt genialen Weg erdacht, der es schnell und einfach macht.
die Vorgehensweise erstellt ein Modul für die TT6400, welches dann installiert werden kann.
Hier die Schritte im Detail:
a. Stellt sicher, dass Ihr die Umgebung habt um einen kernel bauen zu können.
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
b. Wir brauchen für die Vorgehensweise die Quellen des aktuell installierten Kernels.
Für die Sourcen bin ich wie von S:oren beschrieben vorgegangen:
Zitat1. Schritt: die entsprechenden auskommentierten deb-src Zeilen in /etc/apt/sources.list aktivieren
(bei meinem Bionic wären das deb-src http://de.archive.ubuntu.com/ubuntu/ bionic main restricted und deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates main restricted)
2. Schritt: die passenden Sourcen zum aktiven Kernel holen (z.B. per sudo apt-get source linux-image-$(uname -r))
3. Schritt: Build-Umgebung aufbauen: sudo apt-get build-dep linux-image-$(uname -r)
c. Jetzt kann es los gehen. Kurz zum Verständnis um den Überblick nicht zu verlieren.
Wir nehmen einen Kopie der installierten Kernel-Quellen.
Dann wenden wir den Patch aus S:orens Repository auf diese Quellen an.
Wir bauen die Kernel-Sourcen und wählen dabei nur die SAA716 Module aus.
Die SAA716x-Module, welche wir erhalten, installieren wir.
Also, die Schritte im Detail:
Zuerst installieren wir die aktuellen Sourcen. Die Kernel version mit
uname -r
anzeigen. Bei mir war das nach den Aktualisierungen 4.15.0-48-generic:
sudo apt install linux-source-4.15.0
Danach müssten die Linux-Sourcen im Verzeichnis /usr/src liegen. Insbesondere liegt dort das File linux-source-4.15.0.tar.bz2 , welches wir später benötigen.
Ich führe das ganze in einem Verzeichnis im Home-Directory durch. Falls das noch nicht besteht, muss das noch erstellt werden:
mkdir ~/linux-saa716x
cd ~/linux-saa716x
Danach kopiere ich die kernel Sourcen in das Verzeichnis, auf die ich dann später patch anwende:
tar xjf /usr/src/linux-source-4.15.0.tar.bz2
Jetzt hole ich das Patchfile, welches ich später auf die Quellen des Kernels anwenden wollen. Das hole ich aus S:orens Repository:
wget https://github.com/s-moch/linu…v4.15...saa716x-4.15.diff
Um die Sourcen Patchen zu können wechsel ich in das Verzeichnis der Sourcen-Kopie:
cd linux-source-4.15.0/
Dann kopieren wir die aktuelle Kernel-Konfiguration, um sicherzustellen, dass das Modul später auch zur Umgebung passt.
cp /boot/config-4.15.0-48-generic .config
Vor dem Make müssen wir den Patch auf die Sourcen anwenden:
patch -p1 < ../v4.15...saa716x-4.15.diff
Dann erstellen wir eine Konfiguration für den make, welche nur die SAA716x Treiber auswählt für den Make:
make KERNELVERSION=4.15.0-48-generic localyesconfig
Wichtig: (Zitat von S:oren) # alles mit N bestaetigen, ausser SAA716X_SUPPORT y, SAA716X_CORE m, DVB_SAA716X_FF m
Achtung: Sollte beim Make eine Fehlermeldung kommen, dass SSL-Libaries fehlen, muss das Packet libssl-dev installiert werden. Das hat bei mir die Meldung behoben:
sudo apt-get install libsssl-dev
Als nächstes kommt der eigentliche Make um die Module zu erstellen:
make KERNELVERSION=4.15.0-48-generic -j6 modules
Nach diesem Befehl liegen die erstellen Module in drivers/media/common. Diese kopieren wir in das korrekte Verzeichnis:
sudo cp drivers/media/common/saa716x/saa716x_core.ko /lib/modules/4.15.0-48-generic/kernel/drivers/media/pci/
sudo cp drivers/media/common/saa716x/saa716x_ff.ko /lib/modules/4.15.0-48-generic/kernel/drivers/media/pci/
Danach binden wir die neuen Module ein
sudo depmod 4.15.0-48-generic
Ich habe dann sicherheitshalber einen Reeboot durchgeführt und unter dmesg kontrolliert, dass die TT 6400 Karte sauber erkannt wurde:
sudo dmesg | grep SAA716
(Wichtig Firmware nicht vergessen an die richtige Stelle zu kopieren Bei mir ist das /lib/firmware)
4. Danach habe ich die Installation des VDR gemacht.
Ich nutze dafür die VDR Packete des yaVDR Teams. Dabei bin ich jedes Mal begeistert, was Ihr in Eurer Freizeit leistet.
Eine Änderung zu früher: Es gibt jetzt zwei Packetquellen, die man einbinden muss.
Mir ist des erst aufgefallen, als ich beim Skindesigner Plugin eine unerfüllte Abhängigkeit zu den Skindesigner-Logos hatte.
sudo add-apt-repository ppa:yavdr/experimental-vdr
sudo add-apt-repository ppa:yavdr/experimental-main
sudo apt-get update
sudo apt-get install vdr vdr-plugin-dvbhddevice vdr-plugin-osdteletext vdr-plugin-skindesigner vdr-plugin-svdrpservice
(und was Ihr sonst noch so an Plugins braucht)
Im Prinzip sind momentan die experimental Repositories des yavdr-Teams für Bionic.
Ach, noch ein Wort zu Lirc, da das bei mir bei jedem Update ein Problem darstellt.
So auch dieses Mal
Lirc befindet sich gelinde gesagt im Umbau. Insbesondere die 10-er Versionen haben bei mir nicht funktioniert. Mit etwas Research stösst man recht schnell auf den Tipp die alte Version aus den Xenial Packete zu installieren, was bei mir sehr gut funktioniert.
Siehe hier: https://twosortoftechguys.word…irc-work-in-ubuntu-18-04/
Zusammenfassung: Lirc deinstallieren, Xenial Packete kurz hinzufügen und Lirc aus Xenial installieren, Xenial Packete wieder rauswerfen und Lirc auf Hold setzen.
Das ist sicher ein nicht gerade sauberer Workaround, aber bei mir hat es wunderbar funktioniert.
Zur Info: Komischerweise musste ich trotz gleicher Konfiguration meines serielles IR Empfängers bei meinem Harmony Hub die Befehlswiederholung am kls-1.6 Gerät um einen Punkt erhöhen, dass die Bedienung wieder flüssig lief.
Soweit mal.
Günter
PS: Das darf gerne kopiert, verbessert, etc. werden...