| 
	
 | 
 
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Параметри на модулите 
 | 
 
 |  
| Автор | 
м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 води до пристрастяване!
           
  
             |   |  
  |   
 
 
 |  
 |   
 |