DVBSKY S850 unter Linux zum laufen bringen

  • Ich habe da mal rumgespielt:


    sudo wget http://dvbsky.net/download/lin…a_build-bst-160430.tar.gz
    sudo tar xvf media_build-bst-160430.tar.gz
    cd media_build-bst-160430


    sudo ln -sr v4l/sit2_op.o.x$(uname -m | grep -o "[0-9]\{2\}$") v4l/sit2_op.o ---> FEHLER 1


    sudo wget -qO- "https://aur.archlinux.org/cgit/aur.git/plain/4.5-compat.patch?h=media-build-dvbsky" | patch -p1 -i-
    sudo wget -qO- "https://aur.archlinux.org/cgit/aur.git/plain/4.6-compat.patch?h=media-build-dvbsky" | patch -p1 -i-
    sudo wget -qO- "https://aur.archlinux.org/cgit/aur.git/plain/add_s850.patch?h=media-build-dvbsky" | patch -p1 -i-


    sudo make ---> FEHLER 2


    FEHLER 1:
    kodi@kodibuntu:/home/media_build-bst-160430$ sudo ln -sr v4l/sit2_op.o.x$(uname -m | grep -o "[0-9]\{2\}$") v4l/sit2_op.o
    ln: failed to create symbolic link 'v4l/sit2_op.o': File exists


    FEHLER 2:
    CC [M] /home/media_build-bst-160430/v4l/cxd2820r_core.o
    /home/media_build-bst-160430/v4l/cxd2820r_core.c: In function 'cxd2820r_attach':
    /home/media_build-bst-160430/v4l/cxd2820r_core.c:730:18: error: 'struct gpio_chip' has no member named 'parent'
    priv->gpio_chip.parent = &priv->i2c->dev;
    ^
    scripts/Makefile.build:258: recipe for target '/home/media_build-bst-160430/v4l/cxd2820r_core.o' failed
    make[3]: *** [/home/media_build-bst-160430/v4l/cxd2820r_core.o] Error 1
    Makefile:1403: recipe for target '_module_/home/media_build-bst-160430/v4l' failed
    make[2]: *** [_module_/home/media_build-bst-160430/v4l] Error 2
    make[2]: Leaving directory '/usr/src/linux-headers-4.4.0-36-generic'
    Makefile:51: recipe for target 'default' failed
    make[1]: *** [default] Error 2
    make[1]: Leaving directory '/home/media_build-bst-160430/v4l'
    Makefile:26: recipe for target 'all' failed
    make: *** [all] Error 2
    kodi@kodibuntu:/home/media_build-bst-160430$

  • Probier mal folgendes:


    Code
    1. wget http://www.dvbsky.net/download/linux/media_build-bst-151028.tar.gz
    2. tar xvf media_build-bst-151028.tar.gz
    3. cd media_build-bst
    4. ln -srf v4l/sit2_op.o.x$(uname -m | grep -o "[0-9]\{2\}$") v4l/sit2_op.o
    5. wget -qO- "https://aur.archlinux.org/cgit/aur.git/plain/4.3-compat.patch?h=media-build-dvbsky&id=90ec58e04b03e7b280a9d5baf977d65bb14cf2cd" | patch -p1 -i-
    6. wget -qO- "https://aur.archlinux.org/cgit/aur.git/plain/4.4-compat.patch?h=media-build-dvbsky&id=90ec58e04b03e7b280a9d5baf977d65bb14cf2cd" | patch -p1 -i-
    7. wget -qO- "https://aur.archlinux.org/cgit/aur.git/plain/add_s850.patch?h=media-build-dvbsky" | patch -p1 -i-
    8. make
    9. sudo make KDIR26="/lib/modules/$(uname -r)/updates/kernel/drivers/media" media-install

  • Nur leider habe ich keine Ahnung wie ich das unter Ubuntu anstelle....


    Bei mir lief die S850 unter Ubuntu 16.04-LTS mit dem Media-Build von dvbsky.net (ich benutze Xenial allerdings gerade nicht).
    Hast Du den normalen Weg denn schon probiert?

    Code
    1. sh build_x64.sh #(Vorausgesetzt Du benutzt die 64Bit-Version)
    2. make
    3. sudo make install


    Wenn Du die Karte vorher schon unter Ubuntu am Laufen hattest, müsstest Du die Prozedur doch eigentlich kennen - da hat sich nichts geändert.


    Geändert hat sich, dass Du für die S850 jetzt entweder Olebowles Patch brauchst, oder Du benutzt die insmod- Option "options cx23885 card=49" (in /etc/modprobe.d/cx23885.conf). Wenn Du nur eine Karte von der Sorte hast, würde ich unter Ubuntu Letzteres bevorzugen. Erfahrungsgemäß musst du die Prozedur nach Kernelupdates wiederholen.

  • Stimmt mit der insmod option ist es noch einfacher. Allerdings kann sich die card Nummer geändert haben. Einfach mal in der Ausgabe von 'dmesg | card=' nach der S950 suchen und die entsprechende Nummer verwenden.

  • Quote

    Wenn Du die Karte vorher schon unter Ubuntu am Laufen hattest, müsstest
    Du die Prozedur doch eigentlich kennen - da hat sich nichts geändert.

    Mein Vorgehen in der Vergangenheit war folgendes:


    01. open terminal (xterm e.g.)
    02. sudo apt-get install linux-headers-$(uname -r)
    03. sudo apt-get install libproc-processtable-perl
    04. cd /home
    05. sudo wget http://www.dvbsky.net/download…uild-bst-13-140619.tar.gz (<- could be different if you use other kernel)
    06. sudo wget http://www.dvbsky.net/download/linux/dvbsky-firmware.tar.gz
    07. sudo tar -xzf media_build-bst-13-140619.tar.gz
    08. sudo tar -xzf dvbsky-firmware.tar.gz
    09. change directory to the firmware-files
    10. copy all .fw-files to /lib/firmware
    11. change back to /home
    12. change to directory media-build
    13. sudo make distclean
    14. sudo ./v4l/build_x64.sh (<- or x86 if you are on x86 system)
    15. sudo make
    16. sudo rm -rf /lib/modules/`uname -r`/kernel/drivers/media/
    17. sudo make install
    18. reboot


    Läuft seit dem Update auf Ubuntu 16.04 nicht mehr....


    Das mit der "card=49" - Geschichte habe ich schon des öfteren gelesen, wusste aber nicht, wo dies einzutragen war..... DANKE !


    Ich probiers mal.....

  • Mit CARD=49 funktioniert es.
    Die conf-Datei existierte ja nicht, muss da noch irgendwas anderes rein ?


    Nichts desto trotz würde ich Olebowles Patch gerne verstehen.
    Auch wenn ich ihn jetzt nicht mehr getestet habe, verweist du auf eine Datei, die auf der Website von DVBSky gar nicht aufgeführt ist :-(
    Für meinen Kernel müsste ich doch "media_build-bst-160430.tar.gz" nutzen. Wie kommt man dann auf "media_build-bst-151028.tar.gz" ??


    Ein Wiki für interessierte Dummies (wie mich) wäre toll ;-)


    Danke soweit
    FlOK

  • Achso, die Datei ist einfach nicht mehr verlinkt auf deren Seite. Wenn man den Link kennt, kann man die Datei aber noch herunterladen. Kann natürlich sein, dass die irgendwann gelöscht wird.


    Die option mit card=49 hat für dich jetzt den Charme, dass du das Treiberpaket nicht mehr bauen musst, selbst wenn ein neuer Kernel benutzt wird.

  • Hi,
    erstmal nicht wundern, dass mein Benutzername anders ist, aber mit dem alten Account hatte ich keinen Zugriff auf dieses Topic mehr wieso auch immer -.-
    Ich hab auch ausversehen den Kernel geupdatet, das ist mir schon öfter passiert und jedes mal nahm ich olebowles Anleitung.
    Diesmal geht leider Garnichts.
    dmesg | grep dvb liefert keine Ergebnisse, dmesg | grep -i dvb liefert:
    dmesg | grep -i dvb
    [ 4.779345] cx23885[0]: card=11 -> DViCO FusionHDTV DVB-T Dual Express
    [ 4.779356] cx23885[0]: card=16 -> DVBWorld DVB-S2 2005
    [ 4.779359] cx23885[0]: card=17 -> NetUP Dual DVB-S2 CI
    [ 4.779387] cx23885[0]: card=30 -> NetUP Dual DVB-T/C-CI RF
    [ 4.779402] cx23885[0]: card=37 -> Prof Revolution DVB-S2 8000
    [ 4.779418] cx23885[0]: card=44 -> DViCO FusionHDTV DVB-T Dual Express2
    [ 4.779420] cx23885[0]: card=45 -> DVBSky T9580
    [ 4.779422] cx23885[0]: card=46 -> DVBSky T980C
    [ 4.779424] cx23885[0]: card=47 -> DVBSky S950C
    [ 4.779428] cx23885[0]: card=49 -> DVBSky S950
    [ 4.779430] cx23885[0]: card=50 -> DVBSky S952
    [ 4.779433] cx23885[0]: card=51 -> DVBSky T982


    lspci -nn
    [...]
    03:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 02)
    Karte wird aber wohl als "einsteckend" erkannt.


    Hab auch schon versucht die Kartennummer in der Modprobe zu ändern das führt aber auch zu nichts.


    Hat noch wer eine Idee??


    MFG




  • Deine modprobe Konfiguration sollte ja folgendermaßen aussehen:

    Code
    1. cat /etc/modprobe.d/cx23885.conf
    2. options cx23885 card=49


    Folglich sollte im Log dann:

    Code
    1. CORE cx23885[0]: subsystem: 14f1:8512, board: DVBSky S950 [card=49,insmod option]


    anstelle von stehen:

    Code
    1. CORE cx23885[0]: subsystem: 14f1:8512, board: UNKNOWN/GENERIC [card=0,autodetected]


    Kannst du das mal durch hinzufügen/löschen der Datei und reboot verifizieren?


    Welche Kernel Version hast du denn jetzt? Und was genau funktioniert beim Bauen des Treibers nicht?

  • Entschuldigt meine späte Antwort, hatte aber jetzt erst Zeit.
    Ich habe gesehen, dass der alte Kernel nicht gelöscht wurde. Habe ihn gebootet und benutze den alten jetzt einfach.
    Aber danke für die Antwort, sollte dies nicht mehr funktionieren kann ich den Trick mit der Modprobe anwenden.


    Vielen Dank
    MFG

  • Hallo,
    ich bins mal wieder. Leider musste ich mein System neu aufsetzen... Sollte eigentlich soweit kein Problem sein aber...
    Mein aktueller Kernel ist 4.8.0.53, ich habe die erste Methode von Olebole versucht, also mit dem älteren Treiberpaket(media_build-bst-151028.tar.gz). Dabei bricht er während dem Befehl make ab:



    Nächster Versuch erfolgte dann mit dem aktuellsten Paket von DvbSky, hierbei traten keine Fehler auf, Firmware hab ich kopiert und auch neu gestartet, aber
    dmesg | grep -i dvb, liefert ebenso eine Ausgabe wie:
    sudo ls /dev/dvb


    ls: Zugriff auf '/dev/dvb' nicht möglich: Datei oder Verzeichnis nicht gefunden


    Ich kann mich noch erinnern dass ich mit dem dmesg Befehl irgendwie die angeschlossenen PCI Karten auslesen konnte, leider weiß ich es nicht mehr, weiß das jemand.
    Hat sonst noch wer eine Idee oder Rat?


    EDIT:
    Hab das Problem selbst gelöst, in meinen Notizen waren noch alte Links. Leider gab es keine Rückmeldung bei den Patches. Mit den Links von Olebole funktioniert alles jedoch wieder wie gehabt.