|
Тема
|
Параметри на модулите
|
|
Автор |
мeтълДжyмa ((не)познат) |
Публикувано | 04.06.06 12:42 |
|
Става на въпрос за тв тунера ми. При стартиране на системата dmesg ми дава това:
plamen@sempron:~$ dmesg |grep bttv
bttv: driver version 0.9.16 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 0000:00:0b.0, irq: 217, latency: 32, mmio: 0xe8155000
bttv0: using: *** UNKNOWN/GENERIC *** [card=0,autodetected]
bttv0: gpio: en=00000000, out=00000000 in=009fc0ff [init]
bttv0: using tuner=-1
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
bttv0: i2c: checking for TDA9887 @ 0x86... not found
bttv0: registered device video0
bttv0: registered device vbi0
plamen@sempron:~$
До колкото разбирам, трябва да се аутодетектне, но не го прави (не го правеше и под Win - Dscaler). Пускам си го като ънлоудна модулите bt878 и bttv и заредя отново bttv с параметри card=72 и tuner=9, остава само да го накарам да го прави при стартиране. Естествено мога да напиша скрипт и да го сложа в /etc/rc.d/rc2.d/, но не искам да правя глупости. Питах чичко Гугъл, но навсякъде пишеше все едно и също - "... и запишете тези настройки в modules.conf (modprobe.conf, rc.modules ... etc - в зависимост от дистрото, за което се говореше). При мен (Дебиан Етч) имам фаил /etc/modules.conf (който не е желателно да се редактира ръчно, защото update-modules ще го презапише) и директория /etc/modutils/ с една камара фаилчета - източниците на update-modules, т.е. корекциите трябва да се правят тук. Аз обаче правя опитите си за корекции именно в modules.conf, че ако се оакам да мога да се избърша - update-modules, а после (правилното) ще го запиша на съотвветното място в /etc/modutils/. Въпросът е, че не намирам начин (разбираите - синтаксис, място) да го запиша. Пробвах с options bttv card=72 tuner=9 в секцията (фаилчето) actions
### update-modules: start processing /etc/modutils/actions
# Special actions that are needed for some modules
# The BTTV module, up to kernel 2.4.17, does not load the tuner
# module automatically, so do that in here
if KERNEL_VER < 2.4.17
post-install bttv insmod tuner
post-remove bttv rmmod tuner
endif
options bttv card=72 tuner=9 radio=1 #dobaveno ot men
### update-modules: end processing /etc/modutils/actions
Пробвах и в aliases, на реда alias char-major-81 bttv добавих card=72 tuner=9, но не става. Питах мъдрия чичко , но в българските сайтове не открих отговор , та да питам и вас
И този модул bt878 кой и защо го зарежда, като си работи и без него (под Кнопикс не се зарежда изобщо и с rmmod bttv и modprobe ... си пускам тунера, а под Дебиан не го зареждам след като го ънлоудна. Ето ви и малко lsmod
преди презареждането на модула bttv и спряна xawtv:
plamen@sempron:~$ lsmod |grep bt878
bt878 9912 0
bttv 151888 1 bt878
plamen@sempron:~$ lsmod |grep bttv
bttv 151888 1 bt878
video_buf 19716 1 bttv
firmware_class 9984 1 bttv
i2c_algo_bit 8456 1 bttv
v4l2_common 5888 1 bttv
btcx_risc 4744 1 bttv
tveeprom 13968 1 bttv
i2c_core 19600 3 bttv,i2c_algo_bit,tveeprom
videodev 9088 1 bttv
plamen@sempron:~$
преди презареждането на модула bttv и пусната xawtv:
plamen@sempron:~$ lsmod |grep bt878
bt878 9912 0
bttv 151888 2 bt878
plamen@sempron:~$ lsmod |grep bttv
bttv 151888 2 bt878
video_buf 19716 1 bttv
firmware_class 9984 1 bttv
i2c_algo_bit 8456 1 bttv
v4l2_common 5888 1 bttv
btcx_risc 4744 1 bttv
tveeprom 13968 1 bttv
i2c_core 19600 3 bttv,i2c_algo_bit,tveeprom
videodev 9088 2 bttv
plamen@sempron:~$
след презареждането на модулите bttv и bt878 (по принцип последния не го вдигам - само сега, за доказателство) и спряна xawtv:
(
sempron:/home/plamen# rmmod bt878
sempron:/home/plamen# rmmod bttv
sempron:/home/plamen# modprobe bttv card=72 tuner=9 radio=1
sempron:/home/plamen# modprobe bt878
)
plamen@sempron:~$ lsmod |grep bt878
bt878 9912 0
bttv 151888 1 bt878
plamen@sempron:~$ lsmod |grep bttv
bttv 151888 1 bt878
video_buf 19716 1 bttv
firmware_class 9984 1 bttv
i2c_algo_bit 8456 1 bttv
v4l2_common 5888 1 bttv
btcx_risc 4744 1 bttv
tveeprom 13968 1 bttv
i2c_core 19600 5 tuner,tvaudio,bttv,i2c_algo_bit,tveeprom
videodev 9088 1 bttv
plamen@sempron:~$
след презареждането на модулите bttv и bt878 (по принцип последния не го вдигам - само сега, за доказателство) и пусната xawtv:
plamen@sempron:~$ lsmod |grep bt878
bt878 9912 0
bttv 151888 2 bt878
plamen@sempron:~$ lsmod |grep bttv
bttv 151888 2 bt878
video_buf 19716 1 bttv
firmware_class 9984 1 bttv
i2c_algo_bit 8456 1 bttv
v4l2_common 5888 1 bttv
btcx_risc 4744 1 bttv
tveeprom 13968 1 bttv
i2c_core 19600 5 tuner,tvaudio,bttv,i2c_algo_bit,tveeprom
videodev 9088 2 bttv
Разликата преди и след презареждането на bttv e появата на 2 нови модула (tuner и tvaudio) ползващи i2c_core, при спряна и пусната xawtv - броя на ползващите модулите bttv и videodev
Още малко толерантност никога не е излишна
| |
|
С ядро 2.4.x или с 2.6.x?
За 2.4 не знам как е, но при 2.6 серията се ползва файл /etc/modprobe.conf , а специално в debian има директория /etc/modprobe.d в която създавам файл bttv с параметрите които искам да сложа:
ето как работи при мен:
root@station1:# cat /etc/modprobe.d/bttv
alias char-major-81 bttv
options i2c verbose=1 scan=1 i2c_debug=0
options bttv card=72 tuner=5 pll=1 radio=1
alias char-major-212-3 b2c2-flexcop-pci
А за да не се зарежда някой модул описваш в blacklist файл според системата.Редактирано от TV!OOO на 05.06.06 12:28.
| |
|
С 2.6.15 съм, но нямам /etc/modprobe.conf, а /etc/modules.conf, /etc/modutils и /etc/modprobe.d. Ако трябва да го създам (и ще върши ли работа т.е. системата ще пита ли него, а не оригиналния - съмнява ме) ще го създам. Ето какво имам при мен (от това, което си написал:
alias char-major-81 bttv - modules.conf
options bttv card=72 tuner=5 pll=1 radio=1 - options bttv card=72 tuner=9 radio=1, добавено от мен в modules.conf, но както писах - не помага. Само с директна команда modprobe bttv card=72 tuner=9 тръгва тв-то
Защо да спирам bt878 чрез blacklist вместо да не го стартирам (стига да открия това, което го пуска)?
blacklist в /etc/modprobe.d
Защо имам /etc/modprobe.d, а нямам /etc/modprobe.conf и не са ли двете двойки (и друфите фаилове в комлектите им) взаимозаменяеми (така да се каже - като XFree86 и Xorg, примерно)?
Още малко толерантност никога не е излишна
| |
|
modules.conf както казах е за ядро 2.4.x, а щом си с 2.6.х не се обръща към този файл.
Ядро 2.6.х търси в modprobe.conf, но при дебиан специално (и някои други дистрибуции) вместо modprobe.conf се използва директория /etc/modprobe.d в която указваш модулите за зареждане - примерно като си създадеш файла bttv със съответните опции. При SuSE 10.1 пък се създава файла /etc/modprobe.d/tv - от YaST или ръчно.
Самия bt878 обикновено автоматично го зарежда bttv модула, а ако не ти трябва, тогава го спираш със включване в blacklist
Ето една извадка от преминаването към 2.6 ядра:
If you install module-init-tools (which you did because without it you
cannot load modules for 2.6), update-modules will create that file.
This has however been abandoned in recent versions of
module-init-tools. From the changelog.Debian:
,---
|* Now /etc/modprobe.d/ is processed by modprobe. This means that
| /etc/modprobe.conf and /lib/modules/modprobe.conf are not needed
| anymore and update-modules is now a no-op. Executable scripts in
| /etc/modprobe.d/ are not supported anymore.
| /etc/modprobe.conf will be removed or moved to /etc/modprobe.d/.
`---Редактирано от TV!OOO на 05.06.06 14:19.
| |
|
МНОГО БЛАГОДАРЯ за инфото, доста неща ми се изясниха!!! Създадох фаила /etc/modprobe.d/bttv с един-единствен ред options bttv card=72 tuner=9 и всичко заспа ! Чудя се обаче защо го има /etc/modules.conf след като не съм инсталирал 2.4.х, а направо 2.6.15 и никой не го гледа (след като този ред го писах и в него и след като правих алиаси на модули и modprobe алиаса_на_модула ми отговаря, че няма такъв модул, значи наистина никой не го гледа)?!?. В същото време в /etc/modprobe.d/aliases няма alias char-major-81 bttv, а само alias char-major-81-* videodev (в модулес.цонф, опсссс, ги има и двата), но въпреки това работи. Явно му нетрябва .
Остана един "проблем", който си го имаше и преди (когато пусках тунера с modprobe bttv card=72 tuner=9) - тръгва звука (защото bttv вдига tvaudio) и за да го спра трябва да пусна тв-плеъра и да го спра . Трябва да има и друг начин, но кой е той? Преди не ми пречеше защото пишех modprobe ... когато исках да гледам тв, но сега - от самото начало ... . Още веднъж, 100Х за инфото!
П.С. "Самия bt878 обикновено автоматично го зарежда bttv модула..." - обратното, bt878 зарeжда bttv - виж lsmod-овете в края на първия ми пост
Още малко толерантност никога не е излишна Редактирано от мeтълДжyмa на 05.06.06 14:51.
| |
|
ами пробвай да зададеш на алсата да mute-ва или намяля до определена стойност line-in или mic, (зависи къде ти е включен тунера) когато се зарежда.
Прекомерната употреба на LINUX води до пристрастяване!
| |
|
|
|
|