życie zabija powoli :)

 

23

lipca

2009

moje boje z ac97

mam w pracy bardzo specyficzny komputer. na którym jest zintegrowana karta audio. Niby nic dziwnego, ale ta karta jest, że tak powiem, "zero-jedynkowa" - albo audio jest (max. głośność) albo go nie ma. Nie da się ustawić np na 50% głośności.

Oto winowajca ;-)


# lspci
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

Z pomocą przychodzi tutaj alsa i jej wtyczki. Po dłuższym szukaniu po sieci i dłubaniu w dokumentacji zrobiłem coś takiego w /etc/asound.conf

pcm.!default {
    type            plug
    slave.pcm       "softvol"   #make use of softvol
}
pcm.softvol { type softvol slave { pcm "dmix" #redirect the output to dmix (instead of "hw:0,0") } control { name "PCM2" #override the PCM slider to set the softvol volume level globally card 0 }
}


to utworzyło nowy kanał w mikserze o nazwie "PCM2" na którym działa plugin "softvol" do programowej regulacji głośności. Potem wszystko idzie do pluginu "dmix" który pozwala na dostęp do karty dźwiękowej wielu programom jednocześnie (bolączka obecnych tanich/zintegrowanych kart dźwiękowych).


Uwaga - nie można nadpisać istniejącej kontrolki "PCM" (lub dowolnej innej) - a przynajmniej mi się nie udało. Trzeba zrobić nową.

To jednak nie wystarcza. PCM2 nadal jest niewidoczne. Okazuje się że żeby się pojawił jakiś program musi "pomacać" wszystkie kontrolki audio na danym urządzeniu.

W tym celu odpalamy programik speaker-test z narzędzi alsy :

speaker-test -l1

Teraz szybki test w alsamixer i PCM2 powinno być już dostepne i regulować głośność.

Kolejny problem - zapisanie ustawień alsy (ostatnio ustawiona głośność na poszczególnych kontrolkach) i restart komputera jakoś wymazuje kontrolkę PCM2 (ale głośność jest zapamiętana). Tak więc speaker-test należy puszczać za każdym razem na starcie systemu. Ja zrobiłem to sobie w skrypcie startowym MPD na lokalnie zainstalowanym archlinux :

(...)
case "$1" in
  start)
    stat_busy "Starting Music Player Daemon"
    speaker-test -l1 >/dev/null
    /usr/bin/mpd /etc/mpd.conf &> /dev/null
    if [ $? -gt 0 ]; then
(...)

to na chwilę opóźnia start mpd (i przez chwilę słychać szumy), ale działa. Prawdopodobnie da się skrócić czas wykonywania speaker-test odpowiednim zestawem parametrów, ale na razie nie chciało mi się szukać.

Problemy - mpd nie potrafi sam sobie regulować głośności, ale mplayer już potrafi.

 
 

Miniblog

14 września 2011, 22:19:53 | klucz ssh na gitorious |

Od niedawna przyłapałem się na tym że na gitorious.org przestał działać mój klucz ssh. Próba ponownej instalacji klucza powodowała jego odrzucanie ( " ssh key invalid " ).

Problem polega na tym ze zamiast user@host na końcu klucza trzeba wpisać swój email jaki podaliśmy przy rejestracji w gitorious.org. Być może problem nie dotyczy wszystkich, ale u mnie było to jedyne działające rozwiązanie.

04 lipca 2011, 12:48:34 | Tunelowanie esx po ssh |

Szybka notatka na przyszłość; aby wbić się na serwer ESX za pomocą vSphere poprzez tunel SSH, trzeba przeforwardować porty 443, 902, 903 oraz dodać wpis do hosts postaci

127.0.0.1 esxhost

bez tego nie pójdzie. Posiadanie wpisu określającego 127.0.0.1 jako "localhost" też z jakiegoś powodu nie wystarcza i dostaje się tajemnicze informacje o nieprawidłowym hoście, braku łączności itp.

02 sierpnia 2010, 20:12:02 | [mini] nietypowy problem CUPS |

ERRDOS - ERRbadaccess 
(Invalid open mode.) opening 
remote spool Test Page

W takiej sytuacji należy w windows w wlaściwościach drukarki odznaczyć "drukuj bezpośrednio na drukarkę". Dziwne, ale zostawię to sobie tutaj na przyszłość.