udev - ALSA "already running"
lobo@chello.pl
lobo w chello.pl
Wto, 13 Gru 2005, 13:34:02 CET
On Mon, Dec 12, 2005 at 11:37:51PM +0100, Jakub Piotr Cłapa wrote:
> Ogólnie wygląda bardzo nieźle. Nie miałbyś ochoty dorzeźbić tego trochę
> i wrzucić do distro? (np. ładowanie emulacji powinno być kompleksowe i w
> skrypcie, żeby do /etc/sysconfig/alsa można było dodać konfigurację)
Mogę spróbować coś porzeźbić, ale muszę jeszcze trochę poczytać na temat
udeva i alsy. Poniżej propozycja jak to wstępnie widzę.
------------- /etc/udev/rules.d/alsa.rules -----------
SUBSYSTEM=="sound", KERNEL=="controlC*", RUN+="/etc/udev/scripts/alsa"
SUBSYSTEM=="sound", KERNEL=="pcm*", RUN+="/etc/udev/scripts/alsa"
SUBSYSTEM=="sound", KERNEL=="seq*", RUN+="/etc/udev/scripts/alsa"
--------------- /etc/udev/scripts/alsa ---------------
#!/bin/sh
.. /etc/rc.d/init.d/functions
.. /etc/sysconfig/alsa
add_pcm()
{
if is_yes("$OSS_EMULATION"); then
/sbin/modprobe --ignore-install snd_pcm_oss
fi
eval "$PCM_POSTINST"
}
add_seq()
{
if is_yes("$OSS_EMULATION"); then
/sbin/modprobe --ignore-install snd_seq_oss
fi
eval "$SEQ_POSTINST"
}
case "$ACTION" in
add)
case "${KERNEL}" in
pcm*)
add_pcm
;;
seq*)
add_seq
;;
controlC*)
/usr/sbin/alsactl restore
;;
esac
;;
del)
/usr/sbin/alsactl store
;;
esac
------------------------------------------------------
Skrypt ma tylko dawać pogląd jak zamierzam do tego podejść. Muszę
poczytać jakie zmienne są przekazywane do skryptów wywoływanych przez
udeva i dopiero dostosować całość pod to. Muszę przemyśleć również
kwestię dodatkowych modułów których udev sam nie ładuje (np.
snd-emu10k1-synth). Proszę o przyjżenie się temu i komentarz.
> > Jeśli chodzi o zachowywanie ustawień, to ręcznie zrobiłem 'alsactl
> > store' po ustawieniu alsamixerem.
>
> To dałoby się chyba zrobić na siłe dla wszystkich kart przy shutdown lub
> jeśli udev obsługuje REMOVE to na evencie? Może jeszcze jakoś inaczej
> dałoby się zapisywać także ustawienie dla kart, które zostały wypięte
> przed shutdownem.
Event bedzie pewnie tylko przy dzwięku usb w momencie wyjęcia wtyczki,
przynajmniej tak mi się wydaje. Można by zrobić obsługę eventu i
dodatkowo wstawić skrypt do /etc/rc.d który zapisze konfigurację przy
shutdown.
--
Pozdrawiam
Przemysław Białek
Więcej informacji o liście dyskusyjnej pld-users-pl