Firmware

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Alle DVB-Karten brauchen für den Betrieb eine Firmware, bei den meisten ist diese bereits in den DVB-Treibern enthalten, für andere Karten muss sie eingespielt werden.

Auf den Projektseiten von Heise [1] findet sich eine grobe Zusammenstellung der Downloads.

Neben Nova-T gibt es dort auch Firmware für die HauppaugePVR 350/250, MediaMVP sowie die full-featured DVB-T.

Firmware für

DVB-T Karten

So muss beispielsweise für Technotrend-basierte Budget DVB-T Karten (Nova-T, Lorenzen DVB-T PCI, TT1300) die Firmware aus den Windows-Treibern kopiert und umbenannt werden.

Fullfeatured DVB-S und DVB-C Karten

Alle dieser Technotrend basierten Karten nutzten die Firmware dvb-ttpci-01.fw

Hauppauge Nexus-S Rev. 2.3

Mit der Firmware von dvb-ttpci-01.fw-261f von linuxtv.org gelang die Inbetriebnahme der Hauppauge Nexus-S Rev 2.3 auf SuSE 9.2 (check_version.c bei Treiberinstallation auf Kernel Version 2.6.8 heruntersetzen).

bash> wget http://www.linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-261f 
bash> cp dvb-ttpci-01.fw-261f /usr/lib/hotplug/firmware/dvb-ttpci-01.fw

auf 4MB SDRAM erweiterte Karten

Nach dem SpeicherMod der Full-featured-DVB-Karte muss auch eine gepatche Firmware aufgespielt werden. Näheres dazu auf der Anleitungseite für das Tuning.

Dxr3

Auch bei Dxr3-Karten muss die Firmware aufgespielt werden - sie nennt sich dort allerdings Microcode. Mittlerweile befindet sich die benötigte Firmware im Release des dxr3-Projektes (früher war das extrahieren aus den Windowstreibern nötig).

HauppaugePVR 350/250

Standardmäßiger Speicherort ist :

bash> ls /lib/modules/*bin
/lib/modules/ivtv-fw-dec.bin
/lib/modules/ivtv-fw-enc.bin

MediaMVP

Zum laden der Firmware eignet sich der Mvploader, in C wie auch in php erhältlich.

Probleme

hotplug

Je nach verwendeter Distribution (hotplug version) wird sie an verschiedenen Plätzen erwartet, üblich sind Pfade wie /usr/lib/hotplug/firmware und /lib/firmware oder /usr/local/lib/firmware.

Path ist in der /etc/hotplug/firmware.agent hinterlegt, kann dort geändert bzw. erweitert werden.

bash> grep -i -B1 ^FIRMWARE_DIR /etc/hotplug/firmware.agent
# directories with the firmware files
FIRMWARE_DIRS="/lib/firmware /usr/local/lib/firmware /usr/lib/hotplug/firmware"

Ansonsten, sollte beim laden der Treiber, im log näheres zu sehen sein.

bash> tail -n 400 /var/log/messages

Dort steht, wo er sie nicht findet und wo sie folglich hinkopiert werden muss.

Die höheren Kernel Sourcen (2.6.**) haben ein Script zum laden/extrahieren der Firmware anbei, einfach in den PATH kopieren und ausführbar machen. Erhältlich ist das Skript auch hier.

bash> find /usr/src -name get_dvb_firmware -exec chmod 777 \{} \; -exec cp -v \{} /usr/local/bin \;
bash> get_dvb_firmware

Ausgabe sollte wie folgt aussehen:

Supported components:
        sp8870   # T Nexus-T premium rev1.2
        sp887x   # Avermedia DVB-T 761
        tda10045 # Hauppauge/TT Nova-T budget
        tda10046 # Hauppauge/TT Nova-USB-t budget
                 # Terratec Cinergy 1200 DVB-T/KNC1 DVB-T
        av7110   # FF => dvb-ttpci-01.fw-261x
        dec2000t # ?
        dec2540t # ?
        dec3000s # Hauppauge/TT DEC3000-s
        vp7041   # ?
        dibusb   # DiBcom DVB-T USB1.1 reference design (Twinhan, KWorld, Hama, Artec, Compro)
        nxt2002  # ?

In das Verzeichnis wechseln, die passende Firmware laden/extrahieren.

bash> cd /usr/lib/hotplug/firmware
bash> get_dvb_firmware sp8870
# Firmware dvb-fe-sp8870.fw extracted successfully.
# Now copy it to either /lib/firmware or /usr/lib/hotplug/firmware/ (depending on your hotplug version).

Da wir uns schon im Verzeichnis befinden /usr/lib/hotplug/firmware, können wir die Anweisung ignorieren.

bash> ls
Broadband4PC_4_2_11.zip  dvb-fe-nxt2002.fw  dvb-ttpci-01.fw

Sollte entfernt werden Broadband4PC_4_2_11.zip, ggf. woanders sichern.

Oder, via CVS:

bash> cvs -z3 -d:pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel/firmware

Fehler der DVB-Firmware der FF-Karten

Im syslog finden sich Einträge mit folgenden Inhalt

video data stream broken

auch bekannt als "VDSB Problem". Die Meldung besagt das der Datenstrom vom Treiber zum VDR unterbrochen ist. In diesem Fall vermutet der VDR das der Treiber oder die Controller der DVB-Karte nicht mehr reagiert, und versucht deshalb mit einem kontrollieren Neustart mit Entladen/Laden der Treiber wieder in einen arbeitsfähigen Zustand zukommen. Dies wirkt sich Störend auf alle Aufnahmen aus wenn mehrere parallele Aufzeichungen von unterschiedlichen Transpondern stattfinden, und auch nur eine Transpondern mit gestört ist.

Folgende Anzeichen deuten auf dieses Problem.

  • Die Wiedergabe einer VDSB-Aufnahme springt jede Minute ein kleines Stück.
  • EPG-Infos fehlen beim Umschalten zunächst.

Abhilfe (Reihenfolge ist keine Wertung)

  • Neustart des Rechners
  • Setzen der EPG scanzeit auf "0" (= abschalten), um das parallele Umschalten der Transpondern zu unterdrücken.
  • Die Antenne mal wieder reinzustecken/auszurichten oder die Kabel/Stecker auf Wackelkontakte zuuntersuchen? (Die Verschraubung der F-Stecker muss wirklich fest sitzen!)
  • in "runvdr" den Support für Native Posix Threading Library (NTPL) deaktivieren.
export LD_ASSUME_KERNEL=2.4.1
  • Wenn ein Mix aus Full-Feature- und Bugdet-Karten verwendet wird, dann die Budget-Karte gegen eine FF ersetzen.
  • Evtl. schafft der "Spannungs-Mod" f. FF 1.3 Abhilfe
  • Evtl. hilft auch das Verlängern der PCI Parameter von 0x40 auf 0x80. (<- Hier fehlt was, bitte näher erläutern!)
  • Tausch des Motherboards. (Vgl. MSI Hermes 650 vs. 651)

Links

  1. Firmware binaries
  2. Firmware übersicht bei Heise