udev, ALSA, hotplug i miksery
Jakub Piotr Cłapa
loc w toya.net.pl
Wto, 13 Gru 2005, 18:07:25 CET
lobo w chello.pl wrote:
> 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
Tego się nie robi przypadkiem jedną kropką?
> 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.
Wygląda to dokładnie tak jak ja sobie to wyobrażałem.
>>> 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.
Właśnie to miałem na myśli. Trzeba przejrzeć, czy taki event jest i
przetestować.
--
Regards,
Jakub Piotr Cłapa
Więcej informacji o liście dyskusyjnej pld-users-pl