[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: No puedo quitar los módulos de OSS (2)



Bernardo Arlandis Mañó <berarma@ya.com> dixit:

> Cesar Rincon escribió:
> >Bernardo Arlandis Mañó <berarma@ya.com> writes:
> >Tu kernel podría estar cargando los módulos automáticamente, también.
> >P.ej., mis módulos de red y USB se cargan solos, sin configuración de
> >ningún tipo (casi).
> >
> ¿Como se puede controlar eso? En el /initrd.img no están.

Pues mira, hasta donde sé, el kernel carga módulos automáticamente
cuando hay un alias apropiado definido.  Por ejemplo, un "alias eth0
3c59x" carga automáticamente el driver de 3Com cuando se levanta la
interfaz eth0.  Más relacionado con el problema que nos ocupa, en mi
máquina existe /etc/modutils/alsa, definido de esta forma:

------------------------------------------------------------------------
alias char-major-116 snd
alias char-major-14 soundcore
options snd major=116 cards_limit=1 device_mode=0660 device_gid=29\
 device_uid=0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias snd-card-0 snd-via82xx
alias snd-slot-0 snd-card-0
------------------------------------------------------------------------

(recuerda que, al correr update-modules, este archivo termina
incrustado en /etc/modules.conf)

La penúltima línea es la del truco: hasta donde entiendo, toda vez que
el "sound card 0" va a ser utilizado (e.g. porque algún programa
accede a alguno de los devices de audio, /dev/dsp0, /dev/amixer0,
etc.), el kernel se asegura de cargar snd-via82xx y sus dependencias.

Las primeras dos líneas, char-major-116 y char-major-14, asocian los
módulos snd y soundcore con los números MAJOR de algunos devices en
/dev.  Ésto es, si haces un "ls -l" sobre /dev, verás líneas con esos
números MAJOR:

----------------------------------vvv--------------------------
...
crw-rw----    1 root     audio    116,   0 Jun  8  2002 aloadC0
crw-rw----    1 root     audio    116,  32 Jun  8  2002 aloadC1
...
crw-rw----    1 root     audio     14,  12 Jun  8  2002 adsp0
crw-rw----    1 root     audio     14,  28 Jun  8  2002 adsp1
...
----------------------------------^^^--------------------------

Ve mknod(1) para más detalles.

Dicho lo anterior, y revisando mi configuración, veo que mis módulos
de ALSA no se cargan solos.  El script /etc/init.d/alsa se fija en el
MAJOR de los devices de ALSA y carga los módulos explícitamente.

Se me ocurre que podrías hacer un "grep -r via82cxxx_audio /etc/*"
para ver si algún script está cargando el módulo por nombre, y un grep
similar buscando aliases de char-major-<n>, donde <n> es el MAJOR de
/dev/pcm ó el device que sea que pretende usar OSS.

> >Por cierto, snd-seq-oss, snd-pcm-oss y snd-mixer-oss no son los
> >módulos a los que te refieres, ¿verdad?  Esos tres son módulos de
> >ALSA, que proporcionan la emulación de OSS...
> No, son via82cxxx_audio, ac97_codec, uart401, sound y
> soundcore. Posteriormente, al intentar cargar los de ALSA da errores
> de que no encuentra la tarjeta o que está siendo usada (obviamente por
> los módulos OSS).

Entiendo.  soundcore es el único de esos módulos que sí es necesario.
Sigue lsmod de mi máquina (editado, por supuesto):

------------------------------------------------------------------------
snd-seq-oss            21888   0  (unused)
snd-seq-midi-event      2968   0  [snd-seq-oss]
snd-seq                33260   2  [snd-seq-oss snd-seq-midi-event]
snd-pcm-oss            35812   0  (unused)
snd-mixer-oss          11072   0  [snd-pcm-oss]
snd-via82xx             9476   0 
snd-pcm                52288   0  [snd-pcm-oss snd-via82xx]
snd-timer               9376   0  [snd-seq snd-pcm]
snd-mpu401-uart         2560   0  [snd-via82xx]
snd-rawmidi            11744   0  [snd-mpu401-uart]
snd-seq-device          3764   0  [snd-seq-oss snd-seq snd-rawmidi]
snd-ac97-codec         27248   0  [snd-via82xx]
snd                    27592   0  [snd-seq-oss snd-seq-midi-event
                                   snd-seq snd-pc m-oss snd-mixer-oss
                                   snd-via82xx snd-pcm snd-timer
                                   snd-mpu401-uart snd-rawmidi
                                   snd-seq-device snd-ac97-codec]
soundcore               3396   5  [snd]
------------------------------------------------------------------------

Espero que algo de ésto te sirva.

 -CR



Reply to: