Nachdem ich viel Zeit damit verbracht habe, Kodi richtig zu installieren, habe ich endlich meine TV-Fernbedienung (Keymapping) und meine DVB-Karte installiert. Alles funktioniert. Aber nach der Kernel-Installation führte das Update von 3.16.0-41 auf 3.16.0-43 dazu, dass ich meine Treiber und alles andere verlor. Es macht mich wahnsinnig. dmesg | grep -i dvb
Es bringt keine Ergebnisse.
Ich habe versucht, die Treiber erneut zu erstellen, indem ich das Build-Skript ausgeführt und make
und ausgeführt habe sudo make install
. Es scheint mir, dass das Make den Build auf den alten Kernel 41 bezieht ...
Wie kann ich es richtig machen und verhindern, dass es mein System nach zukünftigen Kernel-Updates ruiniert?
wer kann einen Hinweis geben? Das Skript build_x64.sh kopiert Dateien mit Linux-Treibern.
Mit freundlichen Grüße,
#!/bin/bash
cp ./v4l/sit2_op.o.x64 ./v4l/sit2_op.o
cp ./v4l/sit2_mod.dvb ./linux/drivers/media/dvb-frontends/sit2_mod.c
Antwort1
Viele Anwendungen und Treiber haben eine ./configure
Phase, die das Projekt einrichtet und ermittelt, womit es verknüpft wird. Einige haben dies in ihr make
Skript integriert. Das Ärgerliche daran (TBS macht dies mit seinen V4L-Treibern) ist, dass es nicht erneut ausgeführt wird, bis Sie ein ausführen make clean
. Dies zerstört die gesamte Konfiguration und sollte den Treiber auf einen Anfangszustand zurücksetzen.
Für meine TBS-Karte bin ich noch einen Schritt weiter gegangen. Ich habe ein Skript geschrieben, das den neuesten Treiber von TBS herunterlädt, die neue Version entpackt und dann daraus kompiliert. Hier ist ein Anfang für Sie:
LATEST=$(wget -qO- http://www.tbsdtv.com/download/ | grep -oPm1 'download.+tbs-linux-drivers[^"]+')
echo "Getting $LATEST"
wget -q "http://www.tbsdtv.com/$LATEST"
7z -y x tbs-linux-drivers*
Es gibt auch einen Umbenennungsschritt, in dem eine Reihe von Modulen für die 64-Bit-Nutzung umbenannt werden. Sie können das Skript einfach von Ihrem Skript aus aufrufen ... oder Sie können es durch ein ersetzen rename
. So gehe ich vor:
rename 's/\.x86_64$//' v4l/*
Es sieht allerdings so aus, als müssten Sie x86_64
durch ersetzen x64
.
Bei so einem Unsinn wünschte ich, ich hätte Hardware mit Mainline-Treibern gekauft.