ubuntuusers.de

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 

Anhang herunterladen

Fertiges Script zum gesteuerten Laden der TV-Karten-Module. Sollte in "/etc/rc.local" eingetragen werden.

Diese Revision wurde am 11. März 2018 19:57 von ubuntuusers erstellt.