Reihenfolge der DVB-Treiber festlegen
Hulk (Diskussion | Beiträge) K (→Udev + Hotplug) |
Hulk (Diskussion | Beiträge) |
||
(3 dazwischenliegende Versionen von 3 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 [[ | + | 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: | |
dvb_ttpci | dvb_ttpci | ||
b2c2_flexcop_pci | b2c2_flexcop_pci | ||
Zeile 20: | Zeile 20: | ||
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). | 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.