YaVDR/Troubleshooting

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Wer yaVDR installiert, wird häufig darauf hoffen, mit möglichst wenig Hintergrundwissen möglichst schnell und "out of the box" einen funktionierenden VDR zu bekommen. Das mag in vielen Fällen auch klappen, sofern man die richtige Hardware und das nötige Quentchen Glück hat. Meiner Erfahrung nach geht es aber nur selten ganz glatt. Zu vielfältig sind die möglichen Fallstricke: defekte Hardware, falsche Konfiguration usw.

Nun muss man sich entweder durch Tausende Forum-Posts wühlen, oder die Entwickler mit seinen vermutlich nicht wirklich zum ersten mal gestellten Fragen nerven und von der Weiterentwicklung abhalten. Es wäre für beide Seiten einfacher, ein paar Hilfen zur Selbst-Hilfe zentral an die Hand zu bekommen/geben.

Um zielgerichtet den Problemen auf die Spur zu kommen, möchte ich hier einen kleinen TroubleShooting-Guide starten(!) - d.h. ich mache den Anfang (als yaVDR Anfänger!), hoffe dann aber auf zahlreiche weitere Beiträge zu dieser Seite. Bitte auch alles vorhandene jederzeit korrigieren / erweitern!

Die Themen hier sind nicht notwendig alle komplett yaVDR spezifisch (zT vielleicht ganz im Gegenteil) und womöglich anderweitig bereits irgendwo zu finden, aber hiermit soll ein Einsprungs-Punkt für yaVDR-Nutzer mit Problemen geschaffen werden. Wer gute Quellen kennt, soll diese bitte hier verlinken!

Es existiert bereits eine FAQ!

Inhaltsverzeichnis

DVB devices

Die zentrale Hardware für einen VDR ist der DVB-Empfänger. Kein Bild, aber Menu-Einblendungen? Erst mal prüfen, ob der Empfänger erkannt wird.

Ein DVB device taucht unter /dev/dvb auf, sofern die Treiber erfolgreich geladen wurden.

$ ls /dev/dvb/adapter0/
demux0  demux1  dvr0  dvr1  frontend0  frontend1

Ein Adapter muss mindestens ein Frontend enthalten, um vom VDR verwendet werden zu können.

Fehlt dieses Verzeichnis oder das Frontend, so kann man sich erst mal mittels lspci ansehen, ob die Karte im System gefunden wird. Hier ein Beispiel für eine Mystique Satix S2 dual V2 Karte.

$ (sudo) lspci -vvvnn
02:00.0 Multimedia video controller [0400]: Micronas Semiconductor Holding AG Device [18c3:0720] (rev 01)
       Subsystem: Micronas Semiconductor Holding AG Device [18c3:db02]
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 0, Cache Line Size: 64 bytes
       Interrupt: pin A routed to IRQ 19
       Region 0: Memory at faef0000 (32-bit, non-prefetchable) [size=64K]
       Region 1: Memory at faee0000 (64-bit, non-prefetchable) [size=64K]
       Capabilities: [40] Power Management version 2
               Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
               Address: 0000000000000000  Data: 0000
       Capabilities: [58] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                       ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
               DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                       RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+
                       MaxPayload 128 bytes, MaxReadReq 512 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [100] Device Serial Number 00-11-3c-20-07-00-00-00
       Capabilities: [400] Virtual Channel <?>
       Kernel driver in use: ngene
       Kernel modules: ngene

Die Ausgabe ist natürlich viel umfangreicher, sie enthält sämtliche per PCI Bus angebundenen Geräte, darunter meist sämtliche im Chipsatz vorhandenen Sachen. Die DVB Karte ist i.a. als "Multimedia video controller" zu finden. Der Name der Karte taucht nicht notwendig auf, da häufig nur der Hersteller des zentralen Chips ausgelesen werden kann. Daran kann man häufig auch enge Verwandtschaften zwischen unterschiedlichen Karten erkennen.

Im Falle eines USB-Empfängers lautet der entsprechende Befehl "lsusb"!

Beispiel für einen Sundtek MediaTV Pro DVB-C USB-Stick: (gerne auch andere eintragen)

$ lsusb
Bus 001 Device 004: ID eb1a:51b2 eMPIA Technology, Inc. 

Die Treiber für die Karte entstammen dem Linux-Projekt "Video4Linux" (v4l, linuxtv.org). Es handelt sich um nah am Kernel gepflegte Module. Man muss sich i.a. nicht selbst einen Treiber vom Hersteller holen und einbinden, für alle einigermassen verbreiteten und nicht ganz brandneuen Karten finden sich die Treiber im zentralen Paket von v4l, oder aber alternativ im sogenannten "s2-liplianin" Paket (siehe yaVDR Tutorial und FAQ zur Installation).

Die entsprechenden zu ladenden Module sollten im Normalfall automatisch vom System anhand der eingebauten Karte erkannt werden. Ist das nicht der Fall, so kann Recherche bei linuxtv.org helfen (genaueres?).

Welches Modul für die eigene Karte geladen wurde zeigt:

$ lsmod | grep dvb_core
dvb_core  12345  1 ngene

In diesem Fall das Modul "ngene" für zB die Satix-Karten. Beim Laden des Moduls (alternativ auch von Hand mit "rmmod <modul>" entladen - geht nur wenn der VDR nicht darauf zugreift - zum Start/Stop des VDR unter yaVDR siehe FAQ - und mit "modprobe <modul>" laden) sollten hilfreiche Ausgaben auf der Shell bzw. im Log landen. Hier wieder für das ngene Modul:

Jun  7 01:06:38 flgmedia kernel: [   11.609127] nGene PCIE bridge driver, Copyright (C) 2005-2007 Micronas
Jun  7 01:06:38 flgmedia kernel: [   11.610759] ngene 0000:02:00.0: PCI INT A -> Link[LN0A] -> GSI 19 (level, low) -> IRQ 19
Jun  7 01:06:38 flgmedia kernel: [   11.610819] ngene: Found Mystique SaTiX-S2 Dual (v2)
Jun  7 01:06:38 flgmedia kernel: [   11.613441] ngene 0000:02:00.0: setting latency timer to 64
Jun  7 01:06:38 flgmedia kernel: [   11.613641] ngene: Device version 1
Jun  7 01:06:38 flgmedia kernel: [   11.613693] ngene 0000:02:00.0: firmware: requesting ngene_15.fw
Jun  7 01:06:38 flgmedia kernel: [   11.645951] ngene: Loading firmware file ngene_15.fw.
Jun  7 01:06:38 flgmedia kernel: [   11.658034] DVB: registering new adapter (nGene)

Dabei ggf. auf Fehlermeldungen achten! Die Logs liegen unter /var/log. Ubuntu (Basis von yaVDR) verteilt die Ausgaben über verschiedene Dateien. Der obige Modul-Start findet sich zB in syslog. Ausgaben des vdr selbst finden sich in user.log. Auch der VDR meldet die gefundenen DVB devices / frontends (wer hat ein Beispiel?).

Sonstige Ansatzpunkte zur Fehlersuche?

Fernbedienungen / LIRC

Wer kanns erklären?

(lircd, start/stop des lircd bei yavdr - init oder upstart? was prüfen im Log? welche Prozesse müssen laufen?)

ATI X10 / Medion Fernbedienung

Funktioniert oft nicht; folgende Modifikation der /etc/init/vdr.conf (Achtung Abschnitt Template im FAQ) schafft Abhilfe:

pre-start script

 /etc/init.d/lirc stop
 rmmod lirc_imon
 rmmod lirc_atiusb
 rmmod lirc_dev
 modprobe lirc_atiusb
 modprobe lirc_imon
 /etc/init.d/lirc start

end script

Basis-System

Wer kanns erklären?

(start/stop, Skripte, Aufruf des vdr wo?, wo ggf. Skripte an eigene Bedürfnisse anpassen / Templates? eigene Übergabe-Parameter?)


Thema X

usw. Bitte weitermachen!