Firmware

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Hauppauge Nexus-S Rev. 2.3)
(hotplug)
 
(52 dazwischenliegende Versionen von 22 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Einleitung==
 
==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.
+
Viele Geräte oder PCI-Karten benötigen für die korrekte Funktion eine Firmware. Diese Firmware dient der Steuerung der Karte. Sie ist meist modellspezifisch.
  
Auf den Projektseiten von Heise [http://www.heise.de/ct/ftp/projekte/vdr/firmware.shtml] findet sich eine grobe Zusammenstellung inc Download möglichkeit.
+
==Firmware==
 +
===Fullfeatured DVB-S/-T/-C Karten===
  
Neben Nova-T gibt es dort auch Firmware für die [[HauppaugePVR]] 350/250, [[MediaMVP]] sowie die [[DVB-T#DVB-T_full-featured|full-featured DVB-T]].
+
====Hauppauge Nexus-S Rev. 2.3====
 +
Mit der Firmwareversion 261f gelang die Inbetriebnahme der [[DVB-S_full-featured-Karten|Hauppauge Nexus-S Rev 2.3]].
 +
Bei der Treiberinstallation auf SuSE 9.2 war es notwendig ''check_version.c'' auf Kernel Version 2.6.8 heruntersetzen.
  
==Firmware für==
+
====auf 4MB SDRAM erweiterte Karten====
===DVB Karten===
+
Nach der Erweiterung des SDRAM der [[Full-featured-DVB-Karte]] auf 4MB muss auch gegebenenfalls eine Firmware mit der Version 261c oder neuer aufgespielt werden. Näheres zur Erweiterung des SDRAM ist auf der [[SpeicherMod|Anleitungseite]] für dieses spezielle DVB-Karten Tuning zu finden.
So muss beispielsweise für Technotrend-basierte Budget [[DVB-T_Budget-PCI-Karten|DVB-T Karten]] (Nova-T, Lorenzen DVB-T PCI, TT1300) die Firmware aus den Windows-Treibern kopiert und umbenannt werden.
+
  
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'''.
+
====Firmware installieren====
 +
Der Hauptprozessor aller Technotrend basierten Karten, der AV7110, benötigt eine Firmware.
 +
Diese Firmware wird stetig weiterentwickelt und liegt deshalb in unterschiedlichen Versionen vor.
 +
Die jeweils aktuellste Version kann [http://www.escape-edv.de/endriss/firmware/ hier] runtergeladen werden.
 +
Damit der Treiber nicht mit jedem Update der Firmware neu übersetzt werden muss, wird der gemeinsame Dateiname ''dvb-ttpci-01.fw'' für die aktuell installierte Version verwendet.
 +
Die Installation erfolgt je nach Kernelversion und Distribution in unterschiedlichen Verzeichnissen. Meistens wird das Verzeichnis ''/lib/firmware/'' verwandt. Ältere Distributionen verwenden ''/usr/lib/hotplug/firmware''.
 +
Deshalb für die Installation die Firmware aus dem Internet herunterladen und ins Zielverzeichnis kopieren.
  
Path ist in der '''/etc/hotplug/firmware.agent''' hinterlegt, kann dort geändert bzw. erweitert werden.
+
#> wget <nowiki>http://www.escape-edv.de/endriss/firmware/dvb-ttpci-01.fw</nowiki>-<version>
 +
#> cp dvb-ttpci-01.fw-<version> /lib/firmware/dvb-ttpci-01.fw
  
bash> grep -i -B1 ^FIRMWARE_DIR /etc/hotplug/firmware.agent
+
====Firmware austauschen/aktualisieren====
  # directories with the firmware files
+
Um zu sehen, welche Firmware verwendet wird und ob eine neuere Firmware installiert werden kann, gibt es folgende Vorgehensweise:
  FIRMWARE_DIRS="/lib/firmware /usr/local/lib/firmware /usr/lib/hotplug/firmware"
+
Die Ausgabe von '''dmesg''' sollte die verwendete Firmwareversion anzeigen. Der hintere Teil des Parameters app gibt die Versionsnummer an,
 +
also in diesem Beispiel die Version f22623.
 +
  #> dmesg | grep AV7110
 +
  DVB: AV7110(0) - firm f0240009, rtsl b0250018, vid 71010068, app 80'''f22623'''
 +
DVB: AV7110(0) - firmware supports CI link layer interface
  
Ansonsten, sollte beim laden der Treiber, im log näheres zu sehen sein.
+
Um die Firmware auszutauschen, muss die gerade verwendete Version entfernt werden,  
 +
es empfiehlt sich diese Datei nicht sofort zu löschen, sondern erst einmal zu sichern.
 +
Dies kann durch ein einfaches Umbennen in .bak geschehen.
  
  bash> tail -n 400 /var/log/messages
+
  #> cd /lib/firmware/
 +
#> mv dvb-ttpci-01.fw dvb-ttpci-01.fw.bak
  
Dort steht, wo er sie '''nicht''' findet und wo sie folglich hinkopiert werden muss.
+
Danach kann die neue Version in dieses Verzeichnis kopiert werden und muss in ''dvb-ttpci-01.fw'' umbenannt oder neu verlinkt werden.
  
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.
+
#> cp dvb-ttpci-01.<version> /lib/firmware/dvb-ttpci-01.fw
  
bash> find /usr/src -name get_dvb_firmware -exec chmod 777 \{} \; -exec cp -v \{} /usr/local/bin \;
+
Damit der Treiber die neue Firmware in den Hauptprozessor der Karte lädt, muss einfach der Treiber erneut geladen werden.
bash> get_dvb_firmware
+
  
Ausgabe sollte wie folgt aussehen:
+
#> rmmod dvb-ttpci
 +
#> modprobe dvb-ttpci
  
 +
Wem dies zu umständlich ist, der kann aber auch einfach den Rechner neu starten, und damit ein erneutes Laden der Firmware auslösen.
 +
 +
===DVB-T Karten===
 +
DVB-T Karten die auf dem Technotrend Design basieren, dazu gehören [[DVB-T_Budget-PCI-Karten|DVB-T Budget Karten]] wie die Nova-T, Lorenzen DVB-T PCI, TT1300,
 +
aber auch die [[DVB-T#DVB-T_full-featured|Full-featured DVB-T Karte]] benötigen für das Frontend, den DVB-T Tuner, eine weitere Firmware.
 +
Diese Firmware gibt es nur bei den Original Treibern des jeweiligen Herstellers. Deshalb muss die Firmware aus den Windows-Treibern extrahiert werden.
 +
 +
===[[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 Windows-Treibern nötig).
 +
 +
===[[HauppaugePVR]] 350/250===
 +
siehe http://ivtvdriver.org/index.php/Firmware
 +
 +
===[[MediaMVP]]===
 +
Zum Laden der Firmware eignet sich der [[Mvploader]].
 +
 +
==Tipps/Probleme==
 +
===Firmware wird nicht geladen===
 +
Ein sehr guter Lösungsansatz, wenn der Treiber bzw. die Firmware nicht geladen wird, ist das Kontrollieren der Ausgabe des Syslog.
 +
In der Regel informiert der Treiber über das Verzeichnis in der er die Firmware nicht finden konnte.
 +
 +
#> less /var/log/messages
 +
 +
===hotplug===
 +
Je nach verwendeter [[Distribution]] und damit der verwendeten Version des '''hotplug'''-Systems, wird die Firmware an verschiedenen Plätzen erwartet.
 +
Üblich sind Verzeichnisse wie '''/usr/lib/hotplug/firmware''', '''/lib/firmware''' oder '''/usr/local/lib/firmware'''.
 +
Dabei ist das Verzeichnis immer in der Skriptdatei  '''/etc/hotplug/firmware.agent''' hinterlegt, kann dort geändert bzw. erweitert werden.
 +
 +
#> 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"
 +
 +
===Extrahieren der Firmware===
 +
Mit Hilfe des Perl-Skript [http://www.kernel.org/doc/Documentation/dvb/get_dvb_firmware get_dvb_firmware] aus dem Quellcode des Kernel, ist für viele DVB-Karten das Extrahieren der notwendigen Firmware aus den Windows-Treibern möglich.
 +
#> ./get_dvb_firmware
 
  Supported components:
 
  Supported components:
         sp8870  # T Nexus-T premium rev1.2
+
         sp8870  # T Nexus-T Premium Rev1.2
 
         sp887x  # Avermedia DVB-T 761
 
         sp887x  # Avermedia DVB-T 761
         tda10045 # Hauppauge/TT Nova-T budget
+
         tda10045 # Hauppauge/TT Nova-T Budget
         tda10046 # Hauppauge/TT Nova-USB-t budget
+
         tda10046 # Hauppauge/TT Nova-USB-T Budget
 
                   # Terratec Cinergy 1200 DVB-T/KNC1 DVB-T
 
                   # Terratec Cinergy 1200 DVB-T/KNC1 DVB-T
 
         av7110  # FF => dvb-ttpci-01.fw-261x
 
         av7110  # FF => dvb-ttpci-01.fw-261x
Zeile 45: Zeile 96:
 
         nxt2002  # ?
 
         nxt2002  # ?
  
In das Verzeichnis wechseln, die passende Firmware laden/extrahieren.
+
Zum Extrahieren der Firmware für das Frontend des sp8870-Tuners einer [[DVB-T#DVB-T_full-featured|Full-featured DVB-T Karte]] dient damit folgendes Kommando.
  
  bash> cd /usr/lib/hotplug/firmware
+
  #> ./get_dvb_firmware sp8870
bash> get_dvb_firmware sp8870
+
 
  # Firmware dvb-fe-sp8870.fw extracted successfully.
 
  # Firmware dvb-fe-sp8870.fw extracted successfully.
 
  # Now copy it to either /lib/firmware or /usr/lib/hotplug/firmware/ (depending on your hotplug version).
 
  # 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.
+
Anschliessend ist der Treiber in das Firmware-Verzeichnis des '''hotplug''' Systemes zu kopieren.
 +
Beim Extrahieren wird im Allgemeinen das Paket mit den Windows-Treibern heruntergeladen. Diese Dateien können nach der Extraktion gelöscht werden.
  
bash> ls
+
===Snapshot===
Broadband4PC_4_2_11.zip  dvb-fe-nxt2002.fw  dvb-ttpci-01.fw
+
Die Entwickler-Stand der Firmware der dvb-ttpci Karten ist auch per CVS verfügbar:
  
Sollte entfernt werden ''Broadband4PC_4_2_11.zip'', ggf. woanders sichern.
+
#> cvs -z3 -d:pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel/firmware
  
Oder, via CVS:
+
==Links==
 
+
# [http://www.linuxtv.org/downloads/firmware/ Aktuelle Version] der Firmware der DVB-FF Karten
bash> cvs -z3 -d:pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel/firmware
+
# [http://www.vdr-portal.de/board/thread.php?threadid=59746 Aktuelle Devel Version] der Firmware der DVB-FF Karten
 
+
# [http://www.kernel.org/doc/Documentation/dvb/get_dvb_firmware get_dvb_firmware] Download-Skript des Kernels
====Hauppauge Nexus-S Rev. 2.3====
+
Mit der Firmware von [http://www.linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-261f dvb-ttpci-01.fw-261f] von [http://www.linuxtv.org linuxtv.org] gelang die Inbetriebnahme der [[DVB-S_full-featured-Karten|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 [[SpeicherMod| 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.
 
 
==Links==
 
{|
 
| [1]
 
| http://www.linuxtv.org/downloads/firmware
 
| Firmware binaries
 
|-
 
| [2]
 
| http://www.heise.de/ct/ftp/projekte/vdr/firmware.shtml
 
| Firmware übersicht bei Heise
 
|}
 
  
 
[[Kategorie:Software]]
 
[[Kategorie:Software]]

Aktuelle Version vom 4. August 2013, 19:06 Uhr

Inhaltsverzeichnis

[Bearbeiten] Einleitung

Viele Geräte oder PCI-Karten benötigen für die korrekte Funktion eine Firmware. Diese Firmware dient der Steuerung der Karte. Sie ist meist modellspezifisch.

[Bearbeiten] Firmware

[Bearbeiten] Fullfeatured DVB-S/-T/-C Karten

[Bearbeiten] Hauppauge Nexus-S Rev. 2.3

Mit der Firmwareversion 261f gelang die Inbetriebnahme der Hauppauge Nexus-S Rev 2.3. Bei der Treiberinstallation auf SuSE 9.2 war es notwendig check_version.c auf Kernel Version 2.6.8 heruntersetzen.

[Bearbeiten] auf 4MB SDRAM erweiterte Karten

Nach der Erweiterung des SDRAM der Full-featured-DVB-Karte auf 4MB muss auch gegebenenfalls eine Firmware mit der Version 261c oder neuer aufgespielt werden. Näheres zur Erweiterung des SDRAM ist auf der Anleitungseite für dieses spezielle DVB-Karten Tuning zu finden.

[Bearbeiten] Firmware installieren

Der Hauptprozessor aller Technotrend basierten Karten, der AV7110, benötigt eine Firmware. Diese Firmware wird stetig weiterentwickelt und liegt deshalb in unterschiedlichen Versionen vor. Die jeweils aktuellste Version kann hier runtergeladen werden. Damit der Treiber nicht mit jedem Update der Firmware neu übersetzt werden muss, wird der gemeinsame Dateiname dvb-ttpci-01.fw für die aktuell installierte Version verwendet. Die Installation erfolgt je nach Kernelversion und Distribution in unterschiedlichen Verzeichnissen. Meistens wird das Verzeichnis /lib/firmware/ verwandt. Ältere Distributionen verwenden /usr/lib/hotplug/firmware. Deshalb für die Installation die Firmware aus dem Internet herunterladen und ins Zielverzeichnis kopieren.

#> wget http://www.escape-edv.de/endriss/firmware/dvb-ttpci-01.fw-<version> 
#> cp dvb-ttpci-01.fw-<version> /lib/firmware/dvb-ttpci-01.fw

[Bearbeiten] Firmware austauschen/aktualisieren

Um zu sehen, welche Firmware verwendet wird und ob eine neuere Firmware installiert werden kann, gibt es folgende Vorgehensweise: Die Ausgabe von dmesg sollte die verwendete Firmwareversion anzeigen. Der hintere Teil des Parameters app gibt die Versionsnummer an, also in diesem Beispiel die Version f22623.

#> dmesg | grep AV7110
DVB: AV7110(0) - firm f0240009, rtsl b0250018, vid 71010068, app 80f22623
DVB: AV7110(0) - firmware supports CI link layer interface

Um die Firmware auszutauschen, muss die gerade verwendete Version entfernt werden, es empfiehlt sich diese Datei nicht sofort zu löschen, sondern erst einmal zu sichern. Dies kann durch ein einfaches Umbennen in .bak geschehen.

#> cd /lib/firmware/
#> mv dvb-ttpci-01.fw dvb-ttpci-01.fw.bak 

Danach kann die neue Version in dieses Verzeichnis kopiert werden und muss in dvb-ttpci-01.fw umbenannt oder neu verlinkt werden.

#> cp dvb-ttpci-01.<version> /lib/firmware/dvb-ttpci-01.fw

Damit der Treiber die neue Firmware in den Hauptprozessor der Karte lädt, muss einfach der Treiber erneut geladen werden.

#> rmmod dvb-ttpci
#> modprobe dvb-ttpci

Wem dies zu umständlich ist, der kann aber auch einfach den Rechner neu starten, und damit ein erneutes Laden der Firmware auslösen.

[Bearbeiten] DVB-T Karten

DVB-T Karten die auf dem Technotrend Design basieren, dazu gehören DVB-T Budget Karten wie die Nova-T, Lorenzen DVB-T PCI, TT1300, aber auch die Full-featured DVB-T Karte benötigen für das Frontend, den DVB-T Tuner, eine weitere Firmware. Diese Firmware gibt es nur bei den Original Treibern des jeweiligen Herstellers. Deshalb muss die Firmware aus den Windows-Treibern extrahiert werden.

[Bearbeiten] 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 Windows-Treibern nötig).

[Bearbeiten] HauppaugePVR 350/250

siehe http://ivtvdriver.org/index.php/Firmware

[Bearbeiten] MediaMVP

Zum Laden der Firmware eignet sich der Mvploader.

[Bearbeiten] Tipps/Probleme

[Bearbeiten] Firmware wird nicht geladen

Ein sehr guter Lösungsansatz, wenn der Treiber bzw. die Firmware nicht geladen wird, ist das Kontrollieren der Ausgabe des Syslog. In der Regel informiert der Treiber über das Verzeichnis in der er die Firmware nicht finden konnte.

#> less /var/log/messages

[Bearbeiten] hotplug

Je nach verwendeter Distribution und damit der verwendeten Version des hotplug-Systems, wird die Firmware an verschiedenen Plätzen erwartet. Üblich sind Verzeichnisse wie /usr/lib/hotplug/firmware, /lib/firmware oder /usr/local/lib/firmware. Dabei ist das Verzeichnis immer in der Skriptdatei /etc/hotplug/firmware.agent hinterlegt, kann dort geändert bzw. erweitert werden.

#> 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"

[Bearbeiten] Extrahieren der Firmware

Mit Hilfe des Perl-Skript get_dvb_firmware aus dem Quellcode des Kernel, ist für viele DVB-Karten das Extrahieren der notwendigen Firmware aus den Windows-Treibern möglich.

#> ./get_dvb_firmware
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  # ?

Zum Extrahieren der Firmware für das Frontend des sp8870-Tuners einer Full-featured DVB-T Karte dient damit folgendes Kommando.

#> ./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).

Anschliessend ist der Treiber in das Firmware-Verzeichnis des hotplug Systemes zu kopieren. Beim Extrahieren wird im Allgemeinen das Paket mit den Windows-Treibern heruntergeladen. Diese Dateien können nach der Extraktion gelöscht werden.

[Bearbeiten] Snapshot

Die Entwickler-Stand der Firmware der dvb-ttpci Karten ist auch per CVS verfügbar:

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

[Bearbeiten] Links

  1. Aktuelle Version der Firmware der DVB-FF Karten
  2. Aktuelle Devel Version der Firmware der DVB-FF Karten
  3. get_dvb_firmware Download-Skript des Kernels