Autor Thema: Terratec Cinergy S2 PCI HD Treiber mit Pachtes für FB  (Gelesen 1211 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mtron

  • Server-Admin
  • *
  • Beiträge: 1513
    • some debs
Terratec Cinergy S2 PCI HD Treiber mit Pachtes für FB
« am: 18 Februar, 2013, 14:36 »
Terratec Cinergy S2 PCI HD Fernbedienung

Das heutige Howto meiner kleinen Serie ist eigentlich nur für nutzer der Terratec Cinergy S2 PCI HD Karte unter ubuntu precise interessant. Precise kommt ja mit dem Linux Kernel 3.2, mit dem die DVB Karte eigentlich schon out of the box funktionieren sollte. Das tut sie zwar auch grundsätzlich nur der mitgelieferte Fernbedienungs Empfänger der Cinergy wurde nicht von den standard Treibern erkannt.

Also habe ich die bereits etwas älteren patches aus dem VDR Portal genommen aund auf einen aktuellen linux-media snapshot angewendet, dann die konfiguration so angepasst dass das build system nur die treiber für meine Karte und die Fernbedienung baut (damit es schneller geht) und diese treiber werden mittles dkms automatisch gegen neu installierte Kernel kompiliert.

Aber erstmal Schritt für Schritt ;)

- linux-media-dkms trieber besorgen, patchen und ein dkms build vorbereiten

checkout vom git & die remote control patches (Patches siehe Anhang am Ende dieses Posts) für die terratec cinergy S2 PCI hd auf die Sourcen einspielen. Nun die zu bauenden module auswählen über:
make xconfig
für meine terratec cinery S2 pci hd brauche ich das modul "mantis" welches folgende Abhängigkeiten hat, also müssen diese Module auch aktiviert werden.
Zitat
MEDIA_SUPPORT [=m] && DVB_CAPTURE_DRIVERS [=y] && DVB_CORE [=m] && PCI [=y] && I2C [=y] && INPUT [=y] && RC_CORE [=m]
Selects: DVB_MB86A16 [=n] && DVB_ZL10353 [=n] && DVB_STV0299 [=n] && DVB_LNBP21 [=n] && DVB_STB0899 [=n] && DVB_STB6100 [=n] && DVB_TDA665x [=n] && DVB_TDA10021 [=n] && DVB_TDA10023 [=n] && DVB_PLL [=m]

Ebenso braucht ihr für die Fernbedienung die  I2c und rc_core module und die "terratec cinery pci keymap" .

Nun speichern (es wird die Datei .config im v4l Verzeichnis angelegt) und das gui schließen. in die dir v4l wechseln und mit 'make' einen test-build starten. Falls der durchläuft und die .ko dateien erstellt werden generieren wir mit folgendem script die dkms.conf:

#!/bin/bash
# determine module names and paths from temporary build
cd /path/to/v4l
i=0
for f in `ls | grep .ko`; do
M=`basename $f .ko`
echo "BUILT_MODULE_NAME[$i]=$M" >> ../dkms.conf
echo "BUILT_MODULE_LOCATION[$i]=`dirname $f`/v4l" >> ../dkms.conf
echo "DEST_MODULE_LOCATION[$i]=/updates/dkms" >> ../dkms.conf
((i=i+1))
done

füge folgenden header anz oben in der dkms.conf Datei hinzu:
PACKAGE_NAME=linux-media-cinergy-s2-pci
PACKAGE_VERSION=1~20120810
AUTOINSTALL=y
MAKE[0]="make -j5 VER=$kernelver"
CHECK_MODULE_VERSION=n

nun erstelle den Ordner /usr/src/linux-media-cinergy-s2-pci-1~20120810 und kopiere den kompletten checkout in diesen Ordner (you edited the .config file in the v4l folder and the dkms file in the main folder, remember  ;) )

füge die Treiber Sourcen zum dkms tree hinzu, baue und installiere die Treiber:
cd /usr/src/linux-media-cinergy-s2-pci-1~20120810
sudo dkms install -m linux-media-cinergy-s2-pci -v 1~20120810

lade die lirc, mantis und dev_core drivers neu oder mache einen reboot.

TODO: provide auto-build dkms deb of the mantis drivers with remote patches for precise.


der Kernel erkennt jetzt die Karte als:
Zitat
[20675.513897] Mantis 0000:00:0b.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[20675.516596] DVB: registering new adapter (Mantis DVB adapter)
[20676.417399] stb0899_attach: Attaching STB0899
[20676.422464] stb6100_attach: Attaching STB6100
[20676.427804] LNBx2x attached on addr=8
[20676.427816] DVB: registering adapter 0 frontend 0 (STB0899 Multistandard)...
[20676.460150] Registered IR keymap rc-terratec-cinergy-s2-hd
[20676.460365] input: Mantis VP-1041 IR Receiver as /devices/pci0000:00/0000:00:0b.0/rc/rc0/input12
[20676.460473] rc0: Mantis VP-1041 IR Receiver as /devices/pci0000:00/0000:00:0b.0/rc/rc0

ebenso wird der IR Transmitter nun richtig erkannt und erstellt ein linux-input-device (check via 'cat /proc/bus/input/devices')
Zitat
I: Bus=0001 Vendor=0000 Product=0000 Version=0001
N: Name="Mantis VP-1041 IR Receiver"
P: Phys=pci-0000:00:0b.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:0b.0/rc/rc0/input12
U: Uniq=
H: Handlers=kbd event8
B: PROP=0
B: EV=100013
B: KEY=4000000 108fc330 a042041 0 0 0 4 18000 180 801 9e96c0 0 0 ffe
B: MSC=10

- Fernbedienung (inputlirc) konfigurieren
sudo apt-get install lirc lirc-x liblircclient0 inputlirc
inputlirc liest standardmäßig alle Impulse aller /dev/input/event*-Geräte aus. Weder in der hardware.conf noch in der lircd.conf brauchen spezielle Angaben gemacht zu werden (bei der Installation von LIRC einfach überall "None" angeben; das Paket lirc selbst wird allerdings gebraucht, schon um z.B. irexec oder irw verwenden zu können). Der LIRC-daemon (lircd) wird nicht benötigt; ggf. darauf achten, dass in der hardware.conf die Werte für START_LIRCD="" auf false gesetzt sind. Der inputlirc-Daemon inputlircd wird automatisch beim Systemstart ausgeführt.

sudo gedit /etc/default/inputlirc
Zitat
# Options to be passed to inputlirc.
EVENTS="/dev/input/event8"
OPTIONS="-g -m 0"

sudo mkdir -p sudo mkdir -p /var/run/lirc
sudo service inputlirc restart

- vdr remote.conf anpassen

LIRC.Up        KEY_UP
LIRC.Down      KEY_DOWN
LIRC.Menu      KEY_TV
LIRC.Menu    KEY_HOME
LIRC.Menu      KEY_MENU
LIRC.Ok        KEY_OK
LIRC.Back      KEY_ESC
LIRC.Left      KEY_LEFT
LIRC.Right     KEY_RIGHT
LIRC.Red       KEY_RED
LIRC.Green     KEY_GREEN
LIRC.Yellow    KEY_YELLOW
LIRC.Blue      KEY_BLUE
LIRC.0         KEY_0
LIRC.1         KEY_1
LIRC.2         KEY_2
LIRC.3         KEY_3
LIRC.4         KEY_4
LIRC.5         KEY_5
LIRC.6         KEY_6
LIRC.7         KEY_7
LIRC.8         KEY_8
LIRC.9         KEY_9
#LIRC.Power     Power #done via irexec
LIRC.Volume+   KEY_VOLUMEUP
LIRC.Volume-   KEY_VOLUMEDOWN
LIRC.Mute      KEY_MUTE
LIRC.Schedule  KEY_EPG
LIRC.Info    KEY_INFO
LIRC.Play    KEY_PLAY
LIRC.Pause    KEY_PAUSE
LIRC.Stop      KEY_STOP
LIRC.Next    KEY_NEXT
LIRC.Prev    KEY_PREVIOUS
LIRC.Channel+  KEY_CHANNELUP
LIRC.Channel-  KEY_CHANNELDOWN
LIRC.FastFwd   KEY_FASTFORWARD
LIRC.FastRew   KEY_REWIND
LIRC.Menu      KEY_MENU
LIRC.Subtitles KEY_SUBTITLE
LIRC.User0     KEY_TEXT
LIRC.User1     KEY_DELETE
LIRC.User2     KEY_VCR
LIRC.PrevChannel KEY_VIDEO
LIRC.User3     KEY_DVD
LIRC.Recordings KEY_MEDIA
LIRC.Audio     KEY_AUDIO
LIRC.User4     KEY_IMAGES


lirc zum vdr Startaufruf hinzufügen
vdr ... --lirc=/var/run/lirc/lircd ...
VDR neu Starten und das wars  :jo
« Letzte Änderung: 10 Februar, 2015, 21:11 von mtron »
Signatur
PC: lshw | Sats: 19.2° & 13°Ost (DiSEqC, 80cmØ Blech) | DVB-Soft: vdr 2.1.7 mit softhddevice via va-api
- Hauppauge Nova-T USB 2.0 Stick mit DiBcom DiB7700P Frontend, MT2060 tuner, Firmware
- TerraTec Cinergy S2 PCI HD mit STB0899 demodulator und Mantis VP 1041 PCI bridge
- TerraTec Cinergy S2 USB mit Montage DS3000 demodulator und IR-receiver,  Firmware
[close]