Anhang: lade tv-module.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | # -> starten ueber /etc/rc.local # # Anwendungsfall: # dmesg sollte nach Anwendung des Scripts (und eigentlich regulaer) # ausgeben: # > tda1004x: found firmware revision 29 -- ok # Ueber dieses Script koennen die (vorher geblacklisteten) Kartentreiber # nachgeladen werden. # # Lademoeglichkeiten: # # 1) Manchmal klappt das direkt ueber das Nachladen # des _dvb-Moduls (muss normalerweise vorher entladen werden, # sonst tut sich nichts). # Dies kann funktionieren, wenn man die Karte im Betrieb entfernt # und wieder eingesteckt hat. # 2) Wenn das nicht klappt, vorher das tda-Modul entladen, # neu laden und dann Schritt 1) versuchen. # # Ausgangslage: # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 1) "Geblacklistete" TV-Module (alles) # Dabei in # /etc/modprobe.d/blacklist.conf # eintragen: # # blacklist tda1004x # blacklist saa7134_dvb # # 2) zunächst keine Module über dieses Script laden # # Es sind mit lsmod keine tda- oder saa-Module sichtbar! # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CMD=/sbin/modprobe ins="$CMD -v" # Alias fuer "install" rem="$CMD -vr" # Alias fuer "remove" ROOT=root if [ $USER != $ROOT ] then echo "! Das Script kann nur unter \"$ROOT\" laufen" exit 1 fi echo "* Lade TV-Module:" echo " Lade Treiber 1/2 ..." # Laden des Moduls # saa7134 (quasi das Hauptmodul) # mit Optionen, das ist OK. # Kartennummer: aus http://wiki.ubuntuusers.de/saa7134 # 94 -> LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB [5168:3306,5168:3502,5168:3307,4e42:3502] # Dieses zieht einige saa- sowie einige tda-Module # mit, jedoch nicht das wichtige Firmware-Modul tda1004x. # -> funktioniert soweit, Karte leuchtet (aktiviert). # Fuehrt zur Ausgabe von # saa7133[0]: subsystem: 5168:3502, board: LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB [card=94,insmod option] # Das Modul laedt (u.a.) folgende weitere davon abhaengige Module: # saa7134_* $ins saa7134 card=94 # (Laden dauert einige Zeit) echo " ... " sleep 2 # Noch fehlendes Modul # tda1004x # laden (laedt die Firmware) echo " Lade Firmware ..." $ins tda1004x echo " ... " sleep 2 modul=saa7134_dvb echo " Lade Treiber 2/2 ..." # OK-Meldung wird noch nicht ausgegeben, # es muss das bereits geladene _dvb-Modul neu geladen werden: # Das Laufende entfernen und dieses neu laden: echo " Entferne geladenen Treiber ... " $rem $modul # Entfernen dauert etwas; hier ist sinnvoll, # etwas zusaetzliche Wartezeit zu geben, # damit das Neuladen der Treiber erfolgreich ist. echo " ... " sleep 2 echo " Lade Treiber neu ... " $ins $modul # => Nun sollte die Karte funktionieren. # Ausgabe des Scripts: # # * Lade TV-Module: # Lade Treiber 1/2 ... # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/tveeprom.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/videobuf-core.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/videobuf-dma-sg.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/v4l2-compat-ioctl32.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/v4l1-compat.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/videodev.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/v4l2-common.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/common/ir-common.ko # install /sbin/modprobe --ignore-install saa7134 card=94 && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; } # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/saa7134/saa7134.ko card=94 # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/saa7134/saa7134-alsa.ko index=-2 # Lade Firmware ... # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/dvb/frontends/tda1004x.ko # Lade Treiber 2/2 ... # Entferne geladenen Treiber ... # rmmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/saa7134/saa7134-dvb.ko # rmmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/videobuf-dvb.ko # rmmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/dvb/dvb-core/dvb-core.ko # Lade Treiber neu ... # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/dvb/dvb-core/dvb-core.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/videobuf-dvb.ko # insmod /lib/modules/2.6.32-24-generic/kernel/drivers/media/video/saa7134/saa7134-dvb.ko |
Fertiges Script zum gesteuerten Laden der TV-Karten-Module. Sollte in "/etc/rc.local" eingetragen werden.