Danke!
Ob sich um die noch nicht unterstützten herum zumindest ein DKMS oder ähnliche Kompilierautomatik nach Kernelupgrades stricken lässt?
Vgl. zum gegenwärtig recht aufwendigen Vorgehen http://www.vdr-portal.de/board…t2-c-and-dvb-s2-dual-pcie
Danke!
Ob sich um die noch nicht unterstützten herum zumindest ein DKMS oder ähnliche Kompilierautomatik nach Kernelupgrades stricken lässt?
Vgl. zum gegenwärtig recht aufwendigen Vorgehen http://www.vdr-portal.de/board…t2-c-and-dvb-s2-dual-pcie
Hallo TEN,
ich habe die DVBSky S952 unter Ubuntu 14.04 mit Kernel 3.13 und media_build-bst-13-140619 im Einsatz. Ich bin gerade dabei zu versuchen, die Treiber in DKMS zu integrieren. Mangels Kernel Update seither ist es aber noch nicht getestet, also auf eigene Gefahr (manche würden vorher einen Image Backup vom System machen) !
Anleitung:
Voraussetzungen: Kernel ab 3.13., dkms aus yavdr main repository
1. Makefile in media_build-bst-13 mit Makefile1.diff patchen (./v4l/build_x64.sh ggf. ändern, je nach dem für welches System gebaut werden soll)
2. Makefile in media_build-bst-13/v4l mit Makefile2.diff patchen
3. make_dkms.sh ins Verzeichnis media_build-bst-13 kopieren und mit sudo ausführen
Dann booten und über das Ergebnis berichten.
Edit 17.11.2014: Codeblöcke gegen Dateianhänge ausgetauscht
Edit 21.12.2014: DKMS Hinweis hinzugefügt
Übergangslösung [...] bis die S952 direkt vom Kernel unterstützt wird. Besser den media_build Tree von DVBSky in DKMS bringen, als bei jedem Kernupdate die Treiber wieder von Hand bauen.
Letzteres hatte ich im seit wenigen Wochen ausgelieferten Kernel versucht, musste dazu aber media_build-bst-13 neu aus dem Tarball erstellen, sonst wurde auch nach Boot in den aktuellen Kernel -39 von sudo make KDIR26="/lib/modules/$(uname -r)/updates/kernel/drivers/media" media-install
weiter nur nach /lib/modules/3.13.0-36-generic installiert.
Leider wird nach dem Reboot nicht die Version aus updates verwendet, sondern die mit dem Kernel gelieferte vorgezogen, so daß dann /dev/dvb leer bleibt:
286852 Okt 28 15:26 3.13.0-39-generic/kernel/drivers/media/pci/cx23885/cx23885.ko
294040 Nov 8 10:34 3.13.0-39-generic/updates/kernel/drivers/media/pci/cx23885/cx23885.ko
Lässt sich sicher wieder manuell verbiegen, zunächst bin ich aber beim vorigen Kernel -36 geblieben, da ich meist nur per ssh aus der Ferne auf diesen VDR komme.
Immerhin konnte ich die Fernbedienung der T982 in diese /etc/lirc/lircd.conf samplen, aus gleichem Grund aber noch nicht testen:
begin remote
name DVBSky.lircd.conf
bits 13
flags RC5
eps 30
aeps 100
one 879 788
zero 879 788
plead 892
gap 116421
toggle_bit_mask 0x800
begin codes
Mute 0x100A
POWER 0x1025
1 0x1001
2 0x1002
3 0x1003
4 0x1004
5 0x1005
6 0x1006
7 0x1007
8 0x1008
9 0x1009
0 0x1000
FAV 0x1012
ZOOM 0x102D
Up 0x1020
Down 0x1021
Left 0x1011
Right 0x1010
OK 0x100D
Back 0x1026
Forward 0x1027
PLAY 0x1017
Stop 0x100B
EPG 0x102C
PAUSE 0x1016
PIP 0x100F
MENU 0x102B
RECORD 0x101F
INFO 0x1013
SNAP 0x100E
RECALL 0x1029
EXIT 0x100C
end codes
end remote
Alles anzeigen
Hat jemand eine mit den DVBSky-Karten unter Ubuntu lauffähige /etc/lirc/hardware.conf dazu (und evtl. Mapping auf die Kernel-Tasten wie KEY_UP etc.) ?
Bedeutet die 3-polige Klinkensteckerausführung evtl. sogar, daß es sich um einen sendefähigen LIRC-Transceiver und nicht nur Empfänger handelt?
Wie gewünscht, aber die Beiträge die Ihr selbst nicht haben wollt, löscht Ihr auch bitte selbst. Aber immer dran denken, es ist dann auch schwieriger nachzuvollziehen was wie passiert ist.
Regards
fnu
Letzteres hatte ich im seit wenigen Wochen ausgelieferten Kernel versucht, musste dazu aber media_build-bst-13 neu aus dem Tarball erstellen, sonst wurde auch nach Boot in den aktuellen Kernel -39 von sudo make KDIR26="/lib/modules/$(uname -r)/updates/kernel/drivers/media" media-install
weiter nur nach /lib/modules/3.13.0-36-generic installiert.
Ohne den make Output zu kennen, kann ich nur raten: Ich vermute, du hattest den ersten make unter 3.13.0.36 gemacht. Das merkt sich der mediabuild tree unter v4l/.version und ignoriert deinen Parameter. Um das los zu werden, brauchst du einen make distclean.
Aber wir entfernen uns wieder von der eigentlichen Frage: Mein DKMS Vorschlag hat bei mir beim letzten Kernelupdate funktioniert. Die Treiber wurden für die neue Version automatisch beim apt-get dist-upgrade gebaut und richtig nach /lib/modules/3.13.0-39-generic/updates/dkms installiert. Nach dem reboot lief die S952 ohne manuellem Eingriff.
ersten make unter 3.13.0.36 gemacht. Das merkt sich der mediabuild tree unter v4l/.version und ignoriert deinen Parameter. Um das los zu werden, brauchst du einen make distclean.
Danke, die hatte ich tatsächlich nicht gesehen.
Packt make nach Deinen Patches die ganzen Firmwares wieder aus und schiebt auch die cx23885.ko des jeweils originalen Kernels wieder beiseite?
ZitatMein DKMS Vorschlag hat bei mir beim letzten Kernelupdate funktioniert. Die Treiber wurden für die neue Version automatisch beim apt-get dist-upgrade gebaut und richtig nach /lib/modules/3.13.0-39-generic/updates/dkms installiert. Nach dem reboot lief die S952 ohne manuellem Eingriff.
Brauchen die Patches einen besonderen Parameter?
~/media_build-bst-13$ patch <Makefile.patch
patching file Makefile
patch: **** malformed patch at line 4: endif
(bzw. bei "else" in v4l)
Hallo TEN,
die Firmware ist nicht mit dabei, die muss man einmalig nach der DVBSky Anleitung installieren. Die ändert sich ja auch durch den Kernelupdate nicht. Es sowieso einfacher ggf. Fehler zu finden, wenn man zuerst mal nach Hersteller Anleitung installiert und dann testet, ob damit alles geht. Dann ist die Firmware auch gleich mit drauf.
Die cx23885.ko vom Original Kernel stört nicht, da zuerst im ../updates/... Verzeichnis nach den Modulen gesucht (und gefunden) wird.
Die Patches aus den Code Blöcken gehen wirklich nicht, da sind Leerzeilen verschwunden. Ich habe sie durch angehängte Dateien ersetzt, die müssten jetzt funktionieren.
Hallo TEN,
die Firmware ist nicht mit dabei, die muss man einmalig nach der DVBSky Anleitung installieren. Die ändert sich ja auch durch den Kernelupdate nicht. Es sowieso einfacher ggf. Fehler zu finden, wenn man zuerst mal nach Hersteller Anleitung installiert und dann testet, ob damit alles geht. Dann ist die Firmware auch gleich mit drauf.
Klar hatte ich die erst einmal so installiert, dann nur die vielen rm -f auf Firmware-Dateien unterhalb media_build-bst-13 des make distclean bemerkt.
ZitatDie cx23885.ko vom Original Kernel stört nicht, da zuerst im ../updates/... Verzeichnis nach den Modulen gesucht (und gefunden) wird.
Das hatte bei -36 so geklappt, bei -39 dann nicht - werde ich aber nach Durchlauf Deiner DKMS-Lösung auch auf -39 nochmals testen.
ZitatDie Patches aus den Code Blöcken gehen wirklich nicht, da sind Leerzeilen verschwunden. Ich habe sie durch angehängte Dateien ersetzt, die müssten jetzt funktionieren.
Vielen Dank! Läuft nun durch bis
make[1]: Leaving directory `/home/user/media_build-bst-13/v4l'
./DKMS.sh: line 26: warning: here-document at line 6 delimited by end-of-file (wanted `EOF')
dirname: missing operand
Die dkms.conf scheint aber erstellt worden zu sein, endend auf:
dkms install -m dvbsky_v4l -v 14.6.19
Hallo TEN,
das passt nicht, die dkms Befehle sollten ausgeführt werden und nicht in die dkms.conf. Muss wohl auch ein Problem mit den Codeblöcken sein. Ich habe die Datei oben eingefügt, versuche es mal mit der.
Danke, jetzt ist er durchgelaufen. Hat nun natürlich noch Relikte vom ursprünglichen make install auf dem Kernel -36 (mal sehen wie's mit -39 und Nachfolgern wird), aber scheint alles zu passen:
Running module version sanity check.
- Original module
- Multiple same named modules!
- 2 named gspca_stk014.ko in /lib/modules/3.13.0-36-generic/
- Installation
- Installing to /lib/modules/3.13.0-36-generic/updates/dkms/
depmod.....
DKMS: install completed.
Hat schon jemand die LIRC-Einbindung und etwaiges irsend ausgetüftelt?
Falls du den -39er Kernel schon installiert hast, musst du nach dem booten sudo dkms install "dvbsky_v4l/14.6.19" ausführen und nochmals booten. Automatisch geht es dann erst mit dem nächsten Update. LIRC habe ich nicht im Einsatz, ist bei mir ein reiner Server ohne Frontend.
Falls du den -39er Kernel schon installiert hast, musst du nach dem booten sudo dkms install "dvbsky_v4l/14.6.19" ausführen und nochmals booten.
Das habe ich nach den anstehenden Aufnahmen gemacht, allerdings wie schon beim manuellen Durchlauf ist /dev/dvb danach anders als im Kernel -36 leer und es endet DKMS mit:
ZitatAlles anzeigengspca_stk014.ko:
Running module version sanity check.
- Original module
- Multiple same named modules!
- 2 named gspca_stk014.ko in /lib/modules/3.13.0-39-generic/
- Installation
- Installing to /lib/modules/3.13.0-39-generic/updates/dkms/
depmod.....
DKMS: install completed.
Interessanterweise enthält dmesg nun:
ZitatAlles anzeigen[ 17.478564] dvb_core: disagrees about version of symbol eth_header
[ 17.478572] dvb_core: Unknown symbol eth_header (err -22)
[ 17.478581] dvb_core: disagrees about version of symbol eth_rebuild_header
[ 17.478583] dvb_core: Unknown symbol eth_rebuild_header (err -22)
[ 17.478589] dvb_core: disagrees about version of symbol skb_put
[ 17.478590] dvb_core: Unknown symbol skb_put (err -22)
[ 17.478593] dvb_core: disagrees about version of symbol consume_skb
[ 17.478595] dvb_core: Unknown symbol consume_skb (err -22)
[ 17.478604] dvb_core: disagrees about version of symbol unregister_netdev
[ 17.478606] dvb_core: Unknown symbol unregister_netdev (err -22)
[ 17.478627] dvb_core: disagrees about version of symbol eth_validate_addr
[ 17.478629] dvb_core: Unknown symbol eth_validate_addr (err -22)
[ 17.478646] dvb_core: disagrees about version of symbol ether_setup
[ 17.478647] dvb_core: Unknown symbol ether_setup (err -22)
[ 17.478655] dvb_core: disagrees about version of symbol alloc_netdev_mqs
[ 17.478657] dvb_core: Unknown symbol alloc_netdev_mqs (err -22)
[ 17.478664] dvb_core: disagrees about version of symbol eth_header_parse
[ 17.478666] dvb_core: Unknown symbol eth_header_parse (err -22)
[ 17.478682] dvb_core: disagrees about version of symbol skb_pull
[ 17.478683] dvb_core: Unknown symbol skb_pull (err -22)
[ 17.478692] dvb_core: disagrees about version of symbol skb_push
[ 17.478693] dvb_core: Unknown symbol skb_push (err -22)
[ 17.478699] dvb_core: disagrees about version of symbol register_netdev
[ 17.478700] dvb_core: Unknown symbol register_netdev (err -22)
[ 17.478704] dvb_core: disagrees about version of symbol free_netdev
[ 17.478705] dvb_core: Unknown symbol free_netdev (err -22)
[ 17.478722] dvb_core: disagrees about version of symbol netif_rx
[ 17.478723] dvb_core: Unknown symbol netif_rx (err -22)
[ 17.478726] dvb_core: disagrees about version of symbol __netdev_alloc_skb
[ 17.478727] dvb_core: Unknown symbol __netdev_alloc_skb (err -22)
[ 17.478741] dvb_core: disagrees about version of symbol eth_change_mtu
[ 17.478742] dvb_core: Unknown symbol eth_change_mtu (err -22)
Erneuter Aufruf bringt "Module dvbsky_v4l/14.6.19 already installed on kernel 3.13.0-39-generic/x86_64".
Ein uninstall läuft ewig, ich probiere es danach nochmal mit Umleitung in eine Logdatei, denn evtl. hatten ja die vorangegangenen Versuche mit den erst zuletzt als Attachment funktionierenden Skripten irgendetwas zerlegt, das sich darin zeigen könnte.
Mache sicherheitshalber noch einen sudo dkms remove "dvbsky_v4l/14.6.19" --all, dann ist wirklich alles wieder weg. Welchen mediabuild tree nimmst du ?
Mache sicherheitshalber noch einen sudo dkms remove "dvbsky_v4l/14.6.19" --all, dann ist wirklich alles wieder weg.
Evtl. verirrt er sich aber (wie die "2 named"-Meldungen anzudeuten scheinen) noch zu den erhaltengebliebenen /lib/modules/3.13.0-39-generic/updates (ohne ./dkms) aus dem ursprünglichen sudo make KDIR26="/lib/modules/$(uname -r)/updates/kernel/drivers/media" media-install ?
Kann man letzteren (KDIR26-)Pfad gefahrlos abräumen (ggf. gefolgt von evtl. notwendigem sudo depmod -a) ?
ZitatWelchen mediabuild tree nimmst du ?
Auch den media_build-bst-13, sonst hätten Deine Patches ja nicht gepasst.
Ich gehe mal davon aus, du hast den aktuellen von der DVBSky Seite (140619). Das kann gut sein, dass sich da noch was mit ursprünglichen sudo make KDIR26=... nicht verträgt. Ist unter /lib/modules/$(uname -r)/updates/kernel/drivers/media überhaupt was drin ? Eigentlich müsste man das gefahrlos löschen können. Ich würde aber bei solchen Aktionen vorher immer ein Backup der Systemplatte mit Clonzilla machen. Man weiß nie, was schief alles schief gehen kann ...
Ich gehe mal davon aus, du hast den aktuellen von der DVBSky Seite (140619). Das kann gut sein, dass sich da noch was mit ursprünglichen sudo make KDIR26=... nicht verträgt. Ist unter /lib/modules/$(uname -r)/updates/kernel/drivers/media überhaupt was drin ?
Da liegt alles, was dann auch als weiteres Exemplar im dkms-Unterverzeichnis landen sollte.
Vor sudo dkms remove "dvbsky_v4l/14.6.19" --all müht sich erst einmal das ursprünglich gestartete dkms uninstall weiterhin äußerst zäh für
*.ko:
- Uninstallation
- Deleting from: /lib/modules/3.13.0-39-generic/
rmdir: failed to remove ‘’: No such file or directory
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
Nach dkms remove steht einem erneuten Entpacken des media_build-bst-13-140619.tar.gz sowie Anwendung Deiner Patches darauf und auf den Kernel -39 wohl nichts entgegen, oder sollte man noch irgendwo Symlinks abräumen müssen?
oder sollte man noch irgendwo Symlinks abräumen müssen?
Nein, braucht du nicht, das Script legt ja eh wieder den gleiche Link an. /lib/modules/$(uname -r)/updates/ müsste jetzt leer sein (eventuell außer einem leeren dkms Verzeichnis).
Irgendwas passte da jedenfalls nicht zusammen - DKMS hatte wohl irgendeinem Relikt trotz vorangegangenem make distclean die vorige statt der gestarteten Kernelversion entnommen (dkms uninstall allerdings griff nach -39, erst dkms remove versucht sich an -36!):
# uname -r
3.13.0-39-generic
# sudo dkms remove "dvbsky_v4l/14.6.19" --all
[sudo] password for user:
-------- Uninstall Beginning --------
Module: dvbsky_v4l
Version: 14.6.19
Kernel: 3.13.0-36-generic (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
nein, das sieht gut aus, "--all" löscht alles, was von dkms installiert wurde von allen vorhanden Kernel Versionen. Jetzt hast du wieder den Stand von vor dem Test.
Vielleicht wäre es jetzt ganz gut, nochmals nach Herstelleranleitung zu installieren (rm vom Kernel media Verzeichnis nicht vergessen, wegen der doppelten Modules ins verschiedenen Pfaden) und es erst danach nochmals mit dkms zu versuchen. Nur um sicherzustellen, dass bei dir nicht noch was Altes irgendwo rum liegt.
nein, das sieht gut aus, "--all" löscht alles, was von dkms installiert wurde von allen vorhanden Kernel Versionen. Jetzt hast du wieder den Stand von vor dem Test.
Vielleicht wäre es jetzt ganz gut, nochmals nach Herstelleranleitung zu installieren (rm vom Kernel media Verzeichnis nicht vergessen, wegen der doppelten Modules ins verschiedenen Pfaden) und es erst danach nochmals mit dkms zu versuchen. Nur um sicherzustellen, dass bei dir nicht noch was Altes irgendwo rum liegt.
tar xzvf media_build-bst-13-140619.tar.gz
cd media_build-bst-13
patch <Makefile1.diff
cd v4l
patch <Makefile2.diff
cd ..
sudo make_dkms.sh
Nach einer halben Stunde Kompilierzeit war leider keine cx23885.ko (aus media_build-bst-13/v4l) in /lib/modules/3.13.0-39-generic/updates/dkms - muß darunter noch ein Verzeichnisbaum (manuell) erstellt werden?
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!