Tach, zusammen,
nachdem mein VDR nun nach gut einem Jahr so langsam da angekommen ist, wo er hinsollte, kümmere ich mich mal um die grundsätzlichen Probleme, die ich nie verstanden habe.
Heute: Treiber entladen
Ich habe es noch nie hingekriegt, dass meine Treiber (z.B. bei vdr-Absturz) ordentlich entladen und neu geladen werden. Stattdessen muss ich immer, wenn vdr weggeschmiert ist, das ganze System neu starten, denn der wiedergestartete vdr findet keine Treiber mehr...
Mein Setup: Debian stable mit Tobis vdr (momentan 1.3.32) und dem Debian-Kernel 2.6.10.
Ich lade die Treiber durch eine Datei "bttv" in /etc/modprobe.d:
Zitatalias dvb bttv
install bttv modprobe dvb-core; modprobe --ignore-install bttv; modprobe bt878;
modprobe dvb-bt8xx; modprobe dst; modprobe sp887x; modprobe rtc
remove bttv modprobe -r sp887x; modprobe -r dst; modprobe -r
dvb-bt8xx; modprobe -r --ignore-remove bttv
Zumindest die install-Zeile ist okay, die läuft bei mir seit einem Jahr anstandslos.
Nur die remove-Zeile, die will nicht so, wie sie soll. Wenn ich das ganze händisch probiere (modprobe -r sp887x), kommt jeweils
ZitatFATAL: Module sp887x in use
Anschliessend spielt der Rechner verrückt ("Out Of Memory" und hastenichgesehen) und braucht zehn Minuten, um überhaupt noch runterzufahren.
Mir ist schon klar, dass die Reihenfolge wichtig ist. Nur: Einfach rückwärts einen nach dem anderen entladen tut's nicht. Wenn ich ein lsmod abgebe, steht da auszugsweise folgendes (vorm Entladen):
ZitatAlles anzeigenModule Size Used by
snd_bt87x 13444 0
dvb_bt8xx 12676 24
dst 13320 1 dvb_bt8xx
sp887x 8388 1 dvb_bt8xx
bt878 10488 2 dvb_bt8xx,dst
bttv 154128 2 dvb_bt8xx,bt878
dvb_core 84328 1 dvb_bt8xx
video_buf 21892 1 bttv
firmware_class 10304 4 dvb_bt8xx,sp887x,or51211,bttv
i2c_algo_bit 9928 1 bttv
v4l2_common 5760 1 bttv
btcx_risc 4808 1 bttv
videodev 9920 1 bttv
snd_bt87x,snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd 57188 7 snd_bt87x,snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
snd_page_alloc 9924 3 snd_bt87x,snd_intel8x0,snd_pcm
i2c_core 22736 11 dvb_bt8xx,nxt6000,mt352,dst,sp887x,cx24110,or51211,tuner,bttv,i2c_algo_bit,i2c_sis96x
Ich habe immer gedacht, dass ich noch nicht die richtige "Reihenfolge" beim Entladen gefunden habe. Nur: Wenn "dst" von "dvb_bt8xx" abhängt, und "dvb_bt8xx" hängt (anscheinend) von "dst" ab, wie soll ich denn in drei Teufels Namen einen von den beiden als ersten entladen? Der einzige Treiber, der sich entladen lässt, ohne ein "FATAL" zu spucken, ist der (automatisch geladene) snd_bt87x.
Falls dazu jemand einen Gedanken über hat, wäre ich ihm/ihr sehr dankbar.
jeremia