Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.



 Użytkownik
	Witam.
Mam podłączoną do RPi kartę na USB i bezwzględnie musi być to główna karta w systemie. Niestety - sposoby z Wheezy'ego nie działają. Informacje na wiki.debian.org niestety nie mają nic wspólnego z tym co mam w systemie, w necie wszystkie sposoby ograniczają się do dopisania 'index=-1' do snd-usb-audio, na co ów moduł nie ma zamiaru reagować.
Dodatkowo: próby wyłączenia wbudowanej karty nie dają rezultatu - jeśli nie załaduję snd-bcm2835 to w ogóle nie mam dźwięku (tak jakby żadnej karty nie było), załadowanie modułu powoduje magiczne pojawienie się obu kart w kolejności określonej przez system a nie przeze mnie (tzn. bcm jako default)...
Jakiś działający sposób? 
Niestety, jak zaznaczyłem jest to bezwzględna konieczność, a powrót do Wheezy'ego trochę mi się nie uśmiecha.
Offline







 Palacz
	







Daj wynik skryptu.
https://forum.dug.net.pl/viewtopic.php?pid=164151#p164151
Offline

 Użytkownik
	

@ethanak
http://alsa.opensrc.org/MultipleCards
http://alsa.opensrc.org/Udev
Może trafisz na coś przydatnego.
Offline



 Użytkownik
	http://www.alsa-project.org/db/?f=e22ad08f5ac2f0923 … 8883928ba8885
W sumie częściowo mam sprawcę - linijka ustalająca index=-2 dla snd_usb_audio siedzi sobie w /lib/modprobe.d/aliases.conf (kurde, zawsze myślałem że ustawienia to siedzą w /etc, widocznie ostatnio jakaś nowa moda weszła) - nie znaczy to jednak że cokolwiek działa :)
Offline



 Użytkownik
	@jacekz: niestety, już wcześniej tam zaglądałem, nic takiego tam nie ma.
Offline







 Palacz
	







Wiec znalazłeś sprawcę
Dajesz dla usb index=0  dla drugiej 1 i po sprawie.
Offline



 Użytkownik
	Nie ma tak dobrze :)
Jak zaznaczyłem wcześniej - to że jednego sprawcę znalazłem nie znaczy, że problem jest rozwiązany. Od razu spróbowałem i niestety, nic z tego nie wyszło, bcm był dalej jako domyślna karta.
Na razie po zastrzeleniu sprawcy (czyli usunięciu linijki) i zblacklistowaniu bcm mam jeszcze ciekawszy problem:
karta (jako że została sama) zgłasza się jako domyślna... tyle że nie działa:
$ aplay test.wav Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono aplay: set_params:1239: Channels count non available
Przy czym sama karta działa pięknie po wydaniu polecenia:
aplay -D plughw:0 test.wav
Tyle że dalej to nie to o co chodziło.
=== edit ===
kur2 match... skąd mi się wziął plik .asoundrc w katalogu domowym? Ja go tam nie wsadziłem na 100%.
po usunięciu działa karta jako domyślna bez problemu, a brakiem dźwięku w telewizorze będę się zajmował w najbliższej przyszłości (tzn. pewnie nigdy, bo nie przewiduję odtwarzania dźwięku w telewizorze przez alsę).
Tym niemniej nie daję solved, bo problem braku możliwości zamiany kart pozostaje otwarty.
Ostatnio edytowany przez ethanak (2016-03-15 17:41:21)
Offline







 Palacz
	







Najpewniejszym sposobem zmiany domyślnej karty jest utworzenie sobie jakiegoś pliczku w /etc/modprobe.d/jakiś_plik.conf
options snd slots=snd_usb_audio,snd_bcm2835
Oczywiście gdzie indziej nie moze być wpisów przeczących.
Offline




 Użytkownik
	




kernel - w takiej sytuacji to ja bym skompilował ręcznie tylko pod te karte.
Offline



 Użytkownik
	Przecież taki efekt w tej chwili mam - karta na usb chodzi mi jako default, działa jednocześnie mpd i milena i w ogóle jest słodko.
Gdybym skompilował tylko pod tę kartę, to nie miałbym dźwięku w telewizorze, a jednak zakładam że czasem mógłby się przydać.
Ponieważ i tak nie mam - więc nie widzę potrzeby kompilowania kernela tylko po to, aby uzyskać zupełnie inny efekt niz potrzebuję.
Jest jeszcze jedna sprawa: karta na usb to taka najtańsza za 20 PLN, i w razie awarii nie będę szukał identycznego typu tylko pójdę do sklepu, chwycę jakolwiek i ma działać.
@ilin: nie wspominałem przypadkiem że to nie działa?
Ostatnio edytowany przez ethanak (2016-03-15 19:24:24)
Offline




 Użytkownik
	




w takim razie, tak z ciekawosci zapytam jesli to karta za 20zl to myslisz ze bedzie ona o wiele lepsza od tej na pokladzie RPI???
Offline







 Palacz
	







ethanak Musi działać.
Cos jeszcze musiało bruździć.
Offline



 Użytkownik
	@ilin: wiem że musi tylko mój raspbian jeszcze tego nie wie :)
@pink: a dlaczego miałaby być lepsza? Po prostu służy do czego innego niż wbudowana, i stąd takie a nie inne wymagania.
A tak przy okazji - widziałeś kiedy wejście mikrofonowe w rpi?
Offline





 Szczawiożerca
	





Możesz wrzucić aktualny wynik skryptu?
Offline



 Użytkownik
	http://www.alsa-project.org/db/?f=93b9cd1f3bbc07b20 … 1dc1f32653abf
(wyłączona karta na pokładzie)
Offline







 Palacz
	







snd_pcsp: index=-2 snd_atiixp_modem: index=-2 snd_intel8x0m: index=-2 snd_via82xx_modem: index=-2
Czemu się dziwisz że nie ustawiły się prawidłowo.
Przecież nie masz żadnego wpisu na ten temat.
Offline




 Użytkownik
	




@ethank w sumie racja, a co do rpi jako zrodlo audio to poruszyliśmy temat tutaj https://forum.dug.net.pl/viewtopic.php?id=28338 z mati75-im czekam na jakis progres ale nic nie slychac.
Offline



 Użytkownik
	@ilin: dokładnie takie same wpisy są we wheezym, a tam to działa od strzału. Nie bardzo rozumiem, co mają wpisy zabraniające być defaultowymi kartom, których nie mam :)
@pink: czytałem ten wątek ale ja mam akurat zupełnie inne potrzeby - karta na usb ma odtwarzać mowę z Ivony i ew. po cichu jakieś złote przeboje, a do tego nie jest potrzebna jakość tylko włączone 24/7 głośniki. Jakość wyjścia jack na rpi wcale zresztą nie jest lepsza.
Offline







 Palacz
	







Masz dwie karty.
Chciałeś zmienić ich kolejność więc podałem ci prawidłowy wpis.
Ty go nie zrobiłeś tylko wyłączyłes jedną kartę blacklistowaniem jej modułu.
OK twoja sprawa.
Ale nie twierdź ze mój sposób nie działa.
Offline







 Podobno człowiek...;)
	







Da się  też Alsą przy pomocy zmiennych sterować, np:
pcm.!default {
    type plug
    slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "asymed"
    }
}
pcm.asymed 
{
    type asym
    playback.pcm "alsaout"
    capture.pcm  "alsain"
}
pcm.alsaout {
    type plug
    slave.pcm {
        @func getenv
        vars [ ALSAOUT ]
        default "dmixer"
    }
}
pcm.alsain {
    type plug
    slave.pcm {
        @func getenv
        vars [ ALSAIN ]
        default "dsnooped"
    }
}
pcm.dsnooped {
    type dsnoop
    ipc_key 1049
    slave 
    {
        pcm "hw:0,0" 
        channels 2 
        period_size 256
        #buffer_size 4096
        rate 44100
        periods 0 
        period_time 0
    }
}
pcm.dmixer {
    type dmix
    ipc_key 1024
    ipc_perm 0666
   slave {
        pcm "hw:0,0"
        period_time 0
        period_size 1024
        buffer_size 8192
        periods 128
        rate 96000
     }
     bindings {
        0 0
        1 1
     }
}Potem jedziesz, przykląd ze starych zapasów - jak się karty w *buntu numerami zamieniały:
CX88=$(grep CX88x /proc/asound/cards | awk '{print $1}')
function telewizja
{
arecord -D hw:$CX88  -r 48000 -c 2 -f S16_LE | aplay - && tvtime; killall arecord ;
}Numer karty można wyczesać  przy starcie z poziomu /etc/profile i wyeksportować zmienną globalną, która ustawi kartę dla wszystkich programów.
Z resztą jak ktoś programuje, to raczej ze zmiennymi sobie poradzi. ;)
Pozdro
Ostatnio edytowany przez Jacekalex (2016-03-15 21:34:20)
Offline




 Psuj
	




pink napisał(-a):
@ethank w sumie racja, a co do rpi jako zrodlo audio to poruszyliśmy temat tutaj https://forum.dug.net.pl/viewtopic.php?id=28338 z mati75-im czekam na jakis progres ale nic nie slychac.
Nie mam jeszcze całości części.

Offline




 Użytkownik
	




spoko, no rush.
Offline



 Użytkownik
	ilin napisał(-a):
Masz dwie karty.
Chciałeś zmienić ich kolejność więc podałem ci prawidłowy wpis.
Ty go nie zrobiłeś tylko wyłączyłes jedną kartę blacklistowaniem jej modułu.
Przecież o tym pisałem, prawda? Pisałem że nie rozwiązałem problemu i użyłem protezy w postaci blacklistowania modułu który mi w tej chwili nie jest potrzebny, a prawidłowe działanie karty na usb jest w moim przypadku niezbędne. Co, miałem to zostawić niedziałające, wrócić na chwilę do wheezy'ego czy może lepiej było zostawić tak jak jest?  
Ale nie twierdź ze mój sposób nie działa.
Bo nie działa i wyobraź sobie że była to pierwsza rzecz jaką wypróbowałem. Domyślam się gdzie jest winny, ale teraz nie bardzo mam czas sprawdzać - jak się upewnię kto bruździ to napiszę.
@jacekalex: gdyby sprawę dało się rozwiązać poprzez wskazanie innej karty do odtwarzania w ogóle bym nie kombinował - niestety się nie da. A jako że lubię rozwiązywanie problemów w najprostszy sposób uznałem (podobnie zresztą jak większość userów maszynek headless), że zamiana kart będzie tym właśnie najprostszym rozwiązaniem. Niestety - o ile we wheezym to było trywialne, o tyle w Jessie ktoś gdzieś przekombinował.
Zresztą nie dotyczy to wyłącznie dźwięku - np. nie udało mi się jeszcze uruchomić watchdoga, ale to może spokojnie poczekać.
Offline







 Palacz
	







ethanak napisał(-a):
Co, miałem to zostawić niedziałające, wrócić na chwilę do wheezy'ego czy może lepiej było zostawić tak jak jest?
Lepiej przyznaj się że pokpiłes sprawę. :)
Ja dokładny wpis podałem już jak zblacklistowałeś moduł.
Wcześniej były tylko ogólne wskazówki.
Nie sprawdziłeś tego wpisu.
Żeby nie być gołosłowny to sam sprawdziłem.
Normalnie na lapku u mnie jest tak.
cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xe3d40000 irq 26
 1 [Amplifier      ]: USB-Audio - Mustang Amplifier
                      FMIC Mustang Amplifier at usb-0000:00:1d.0-1.2, full speedZakomentowałem wpis dotyczący snd_usb_audio w /lib/modprobe.d/aliases.conf
Utworzyłem plik  /etc/modprobe.d/sound.conf  z zawartością
options snd slots=snd_usb_audio,snd_hda_intel
i po restarcie mam tak
 cat /proc/asound/cards
 0 [Amplifier      ]: USB-Audio - Mustang Amplifier
                      FMIC Mustang Amplifier at usb-0000:00:1d.0-1.2, full speed
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xe3d40000 irq 26Offline



 Użytkownik
	a) nie tyle pokpiłem sprawę co nie do końca sprawdziłem co tak naprawdę nie działa (o tym napiszę jak wykryjė sprawcę). w każdym razie czas mi się kończył bo żona stwierdziła, że chciałaby w telewizorze obejrzeć coś ciekawszego niż bootowanie linuksa :)
tym niemniej ten sposób znałem już wcześniej.
b) z doświadczenia wiem, że to, co działa na laptopie niekoniecznie musi działać na rpi
Offline