Reihenfolge der DVB-Treiber festlegen

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
 
(6 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
Möchte man nun immer seine Full-Featured DVB-Karte als erstes Modul und damit als Device '''/dev/dvb/adapter0''' laden gibt es mehrere Möglichkeiten. Das [[mplayer-plugin]] hat es nämlich nicht gerne, wenn die Full-Featured Karte erst als zweites Device geladen wird.
 
Möchte man nun immer seine Full-Featured DVB-Karte als erstes Modul und damit als Device '''/dev/dvb/adapter0''' laden gibt es mehrere Möglichkeiten. Das [[mplayer-plugin]] hat es nämlich nicht gerne, wenn die Full-Featured Karte erst als zweites Device geladen wird.
  
Die Anleitung beschreibt die Vorgehensweise unter [[Debian]], ist aber evtl. auch auf andere [[Distributionen]] übertragbar.
+
Die Anleitung beschreibt die Vorgehensweise unter [[Debian]], ist aber evtl. auch auf andere [[Distribution]]en übertragbar.
  
 
==Hotplug==
 
==Hotplug==
 
Bis vor kurzem waren Hotplug und Udev noch zwei verschiedene Pakete. Um die Ladereihenfolge von Modulen zu ändern reichte es, sie in der richtigen Reihenfolge in die Datei '''[[Dir etc#/etc/modules.conf|/etc/modules]]''' einzutragen.
 
Bis vor kurzem waren Hotplug und Udev noch zwei verschiedene Pakete. Um die Ladereihenfolge von Modulen zu ändern reichte es, sie in der richtigen Reihenfolge in die Datei '''[[Dir etc#/etc/modules.conf|/etc/modules]]''' einzutragen.
  
Z.B:
+
z.B:
  dvb-ttpci
+
  dvb_ttpci
  b2c2-flexcop-pci
+
  b2c2_flexcop_pci
  
 
==Udev + Hotplug==
 
==Udev + Hotplug==
Neuere Versionen von Udev und Hotplug wurden zu einem Paket zusammengefaßt. Damit ist Hotplug wesentlich schneller geworden, wird nun aber beim Bootvorgang VOR dem Laden der Module in '''[[Dir etc#/etc/modules.conf|/etc/modules]]''' ausgeführt. Damit reicht es nicht mehr, nur die Module in dieser Datei in der richtigen Reihenfolge einzutragen. Zusätzlich ist es erforderlich, die Module für Hotplug zu blacklisten. Das geschieht nicht mehr in einer Datei im Verzeichnis '''/etc/hotplug/blacklist.d/irgendeinedatei''' (wie bei älteren Versionen von Hotplug), sondern in der Datei '''/etc/modprobe.d/blacklist''' und sieht dann folgendermaßen aus
+
Neuere Versionen von Udev und Hotplug wurden zu einem Paket zusammengefaßt. Damit ist Hotplug wesentlich schneller geworden, wird nun aber beim Bootvorgang VOR dem Laden der Module in '''[[Dir etc#/etc/modules.conf|/etc/modules]]''' ausgeführt. Damit reicht es nicht mehr, nur die Module in dieser Datei in der richtigen Reihenfolge einzutragen. Zusätzlich ist es erforderlich, die Module für Hotplug zu blacklisten. Das geschieht nicht mehr in einer Datei im Verzeichnis '''/etc/hotplug/blacklist.d/irgendeinedatei''' (wie bei älteren Versionen von Hotplug), sondern in der Datei '''/etc/modprobe.d/blacklist''' und abhängig von den verwendeten Treibern sieht ein zusätzlicher Abschnitt dann folgendermaßen aus
  
~schnipp
 
 
  #don't load the dvb drivers automatically
 
  #don't load the dvb drivers automatically
 
  blacklist dvb_ttpci
 
  blacklist dvb_ttpci
 
  blacklist b2c2_flexcop_pci
 
  blacklist b2c2_flexcop_pci
~schnapp
 
  
Wichtig ist hierfür noch, daß die '''module-init-tools''' erst ab einer bestimmten Version das Schlüsselwort blacklist verstehen. Es funktionieren auf jeden Fall Versionen ab 3.2.2 (in [[Debian]] Testing enthalten).
+
Wichtig ist hierfür noch, daß die '''module-init-tools''' erst ab einer bestimmten Version das Schlüsselwort blacklist verstehen. Es funktionieren auf jeden Fall Versionen ab 3.2.2 (in [[Debian]] Etch enthalten).
 +
==Udev-Rules==
 +
Wer nicht zwei verschiedene Dateien editieren möchte, kann auch eine Udev-Rule erstellen. Dieses Regeln befinden sich im Verzeichnis '''/etc/udev/rules.d''' und legen fest, wo unter '''/dev/''' ein Device zu finden ist. Um eine Full-Featured-Karte als '''/dev/dvb/adpater0/...''' und eine Budget-Karte als '''/dev/dvb/adapter1/...''' einzubinden, muss so eine Udev-Rule erstellt werden:
 +
 
 +
# video devices
 +
KERNEL=="dvb*", DRIVERS=="dvb", NAME="dvb/adapter0/%k"
 +
KERNEL=="dvb*", DRIVERS=="budget_ci dvb", NAME="dvb/adapter1/%k"
 +
 
 +
Diese Rule wird unter '''etc/udev/rules.d/62-dvb.rules''' abgelegt. Beim nächsten Systemstart wird dann die Full-Featured-Karte als '''/dev/dvb/adapter0/''' eingebunden.
 +
 
 +
Falls die Udev-Rule die Namen der Devices bei einer neueren Kernel-Version falsch vergibt (z.B. dvb0.frontend0 anstatt frontend0) müssen die Devices umbenannt werden. Dies erledigt folgende Änderung an o.g. Udev-Rule:
 +
 
 +
# video devices
 +
KERNEL=="dvb*", DRIVERS=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter0/%%s $${K#*.}", NAME="%c"
 +
KERNEL=="dvb*", DRIVERS=="budget_ci dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter1/%%s $${K#*.}", NAME="%c"
 +
 
 +
==Aktuelle Methode==
 +
 
 +
Bei aktuellen VDR Versionen (ab 1.7.xx + ) ist es normalerweise nicht nötig die Ladereihenfolge der DVB-Karten Treiber zu fixieren. VDR kann diese beim Start automatisch erkennen und richtig verwenden.
 +
Wenn dies jedoch erwünscht oder nötig ist z.b. wegen  unterschiedliche Diseqc-Kommandos pro Karte, oder wenn man andere geräteabhängige Konfigurationen hat, dann ist es möglich den Modulen die Adapternummer vorzugeben:
 +
 
 +
z.b. für SD-FF und Budget im Verzeichnis /etc/modprobe.d legt man eine Datei dvb_ttpci.conf an mit dem Inhalt:
 +
 +
options dvb_ttcpi adapter_nr=1
 +
 
 +
und eine budget.conf mit
 +
 +
options budget adapter_nr=0
 +
 
 +
an.
 +
 
  
 
==Links==
 
==Links==
 
* [http://www.vdr-portal.de/board/thread.php?postid=479909#post479909 Thread "Probleme mit FB beim restart/Reihenfolge der DVB Karten festlegen - Zusammenfassung"]
 
* [http://www.vdr-portal.de/board/thread.php?postid=479909#post479909 Thread "Probleme mit FB beim restart/Reihenfolge der DVB Karten festlegen - Zusammenfassung"]
 +
* [http://reactivated.net/writing_udev_rules.html "Writing udev rules"]
  
 
[[Kategorie:Installationsanleitungen]]
 
[[Kategorie:Installationsanleitungen]]

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

Hier geht es darum, daß die DVB-Treiber bei einem neuen Kernel mit Hotplug bzw. Udev zwar automatisch geladen werden, jedoch die Reihenfolge durchaus variieren kann.

Möchte man nun immer seine Full-Featured DVB-Karte als erstes Modul und damit als Device /dev/dvb/adapter0 laden gibt es mehrere Möglichkeiten. Das mplayer-plugin hat es nämlich nicht gerne, wenn die Full-Featured Karte erst als zweites Device geladen wird.

Die Anleitung beschreibt die Vorgehensweise unter Debian, ist aber evtl. auch auf andere Distributionen übertragbar.

Inhaltsverzeichnis

[Bearbeiten] Hotplug

Bis vor kurzem waren Hotplug und Udev noch zwei verschiedene Pakete. Um die Ladereihenfolge von Modulen zu ändern reichte es, sie in der richtigen Reihenfolge in die Datei /etc/modules einzutragen.

z.B:

dvb_ttpci
b2c2_flexcop_pci

[Bearbeiten] Udev + Hotplug

Neuere Versionen von Udev und Hotplug wurden zu einem Paket zusammengefaßt. Damit ist Hotplug wesentlich schneller geworden, wird nun aber beim Bootvorgang VOR dem Laden der Module in /etc/modules ausgeführt. Damit reicht es nicht mehr, nur die Module in dieser Datei in der richtigen Reihenfolge einzutragen. Zusätzlich ist es erforderlich, die Module für Hotplug zu blacklisten. Das geschieht nicht mehr in einer Datei im Verzeichnis /etc/hotplug/blacklist.d/irgendeinedatei (wie bei älteren Versionen von Hotplug), sondern in der Datei /etc/modprobe.d/blacklist und abhängig von den verwendeten Treibern sieht ein zusätzlicher Abschnitt dann folgendermaßen aus

#don't load the dvb drivers automatically
blacklist dvb_ttpci
blacklist b2c2_flexcop_pci

Wichtig ist hierfür noch, daß die module-init-tools erst ab einer bestimmten Version das Schlüsselwort blacklist verstehen. Es funktionieren auf jeden Fall Versionen ab 3.2.2 (in Debian Etch enthalten).

[Bearbeiten] Udev-Rules

Wer nicht zwei verschiedene Dateien editieren möchte, kann auch eine Udev-Rule erstellen. Dieses Regeln befinden sich im Verzeichnis /etc/udev/rules.d und legen fest, wo unter /dev/ ein Device zu finden ist. Um eine Full-Featured-Karte als /dev/dvb/adpater0/... und eine Budget-Karte als /dev/dvb/adapter1/... einzubinden, muss so eine Udev-Rule erstellt werden:

# video devices
KERNEL=="dvb*", DRIVERS=="dvb", NAME="dvb/adapter0/%k"
KERNEL=="dvb*", DRIVERS=="budget_ci dvb", NAME="dvb/adapter1/%k"

Diese Rule wird unter etc/udev/rules.d/62-dvb.rules abgelegt. Beim nächsten Systemstart wird dann die Full-Featured-Karte als /dev/dvb/adapter0/ eingebunden.

Falls die Udev-Rule die Namen der Devices bei einer neueren Kernel-Version falsch vergibt (z.B. dvb0.frontend0 anstatt frontend0) müssen die Devices umbenannt werden. Dies erledigt folgende Änderung an o.g. Udev-Rule:

# video devices
KERNEL=="dvb*", DRIVERS=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter0/%%s $${K#*.}", NAME="%c"
KERNEL=="dvb*", DRIVERS=="budget_ci dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter1/%%s $${K#*.}", NAME="%c"

[Bearbeiten] Aktuelle Methode

Bei aktuellen VDR Versionen (ab 1.7.xx + ) ist es normalerweise nicht nötig die Ladereihenfolge der DVB-Karten Treiber zu fixieren. VDR kann diese beim Start automatisch erkennen und richtig verwenden. Wenn dies jedoch erwünscht oder nötig ist z.b. wegen unterschiedliche Diseqc-Kommandos pro Karte, oder wenn man andere geräteabhängige Konfigurationen hat, dann ist es möglich den Modulen die Adapternummer vorzugeben:

z.b. für SD-FF und Budget im Verzeichnis /etc/modprobe.d legt man eine Datei dvb_ttpci.conf an mit dem Inhalt:

options dvb_ttcpi adapter_nr=1

und eine budget.conf mit

options budget adapter_nr=0

an.


[Bearbeiten] Links