Właśnie zakupiłem TL-1043ND wrzuciłem do niego firmware by Obsy z dnia 2010-06-01.
W miarę poradziłem sobie z konfiguracją dysku twardego ale teraz utknąłem przy poradniku uruchomienia dźwięku http://eko.one.pl/?p=openwrt-audio.
Karta muzyczna jest oparta na chipie Burr-Brown PCM 2702 i wygląda że się dobrze zainstalowała.
MPD też się zainstalowało podanym tam poleceniem bez błędów ale teraz po wpisaniu
dostaje
root@OpenWrt:~# /etc/init.d/mpd start
/etc/rc.common: line 78: amixer: not found
/usr/bin/mpd: can't load library 'libdns_sd.so'
i nie wiem co dalej zrobić :-( Szukałem w google ale znalazlem tylko jeden temat traktująca o tym problemie ale nic mi to nie dało.
Proszę o pomoc.
Edit 1
Udało mi się naprawić ten błąd przez instalacje pakietu mDNSresponder ale teraz kolejny bład:
mpd: can't load library 'libavformat.so.52'
Czy jest jakieś inne repo dla MPD? W oryginalnym jest stara wersja 15.8-2 a najnowsza to 15.10 być może to by rozwiązało problem.
Edit 2
Znalazłem nowsze repo w którym są pakiety z trunka i tam jest nowsza wersja 15.8-3
http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/
Do pliku /etc/opkg.conf należy dodać na początku ten adres w takiej formie:
src/gz trunk http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
src/gz packages http://downloads.openwrt.org/backfire/10.03/ar71xx/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
Teraz należy usunąć MPD "opkg remove mpd" zrobić "opkg update" i "opkg install mpd"
wpisać "mpd" w linii komend, możliwe że dostaniemy taki komunikat:
mpd: can't load library 'libspeex.so.1'
więc robimy jeszcze "opkg install libspeex"
Po ponownym wpisaniu "mpd" wyskoczyło:
root@OpenWrt:~# mpd
Failed to load database: Failed to open database file "/mnt/dane/muzyka/mpd/database": No such file or directory
output: line 189: No such audio output plugin: oss
Aborted
Edit 3
Aby naprawić pierwszy błąd związany z brakiem bazy danych należy wpisać:
Jeżeli po wpisaniu tego polecenia pojawia się:
listen: Failed to listen on *:6600: Address already in use
Aborted
to znaczy że mpd jest już uruchomione i polecenie nie zostało wykonane.
Trzeba zabić mpd przez kill a numer PID można odczytać z polecenia top z pierwszej kolumny.
Aby naprawić drugi błąd trzeba zamiast OSS wybrać Alse w pliku konfiguracyjnym.
Teraz mpd uruchamia się bez błędów ale jeszcze nie udało mi się odtworzyć dźwięku.
Kolejny problem to mpc który nie może dodać pliku do odtwarzania mimo ustawienia w mpd.conf "Music directory" na /mnt/dane/muzyka gdzie znajduje się plik test.mp3:
root@OpenWrt:~# mpc add test.mp3
error: ACK [50@0] {add} directory or file not found
Edit 4
Uruchomienie mpd przez "/etc/init.d/mpd start" a nie samo mpd zwracało błąd braku amixer rozwiązaniem jest doinstalowanie Alsy
opkg install alsa-lib
opkg install alsa-utils
Teraz powstał kolejny problem: uruchomienie "/etc/init.d/mpd start" daje komunikat "amixer: Unable to find simple control 'PCM',0"
W alsamixer jest tylko jeden suwak o nazwie "Master" a nie PCM, zmieniłem już plik konfiguracyjny w sekcji alsa na:
# An example of an ALSA output:
#
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
## format "44100:16:2" # optional
mixer_device "Master" # optional
mixer_control "Master" # optional
mixer_index "0" # optional
}
jednak nadal mam ten sam komunikat.
Edit 4a
Należy edytować plik /etc/init.d/mpd
tam jest linia "amixer set PCM 40" w moim przypadku należy zmienić na "amixer set Master 40"
Linia ta ustawia początkową głośność odtwarzania przy starcie mpd.
Edit 5
Aby naprawić problem z dodawaniem plików należy wpisać polecenie:
root@OpenWrt:~# mpc update
Udało się osiągnąć taki stan:
root@OpenWrt:~# mpc add test.mp3
root@OpenWrt:~# mpc play
test.mp3
[playing] #1/1 0:00/2:51 (0%)
volume:100% repeat: off random: off single: off consume: off
ale nadal brak dźwięku z karty muzycznej.
Edit 5a
W pliku konfiguracyjnym mpd.conf w linii "name" trzeba wpisać nazwę karty dzwiękowek.
Nazwę pozyskamy uruchamiając alsamixer i odczytując pierwsza linię która zaczyna się od "Card: " , w moim przypadku będzie to tak:
"Card: Burr-Brown Japan PCM2702" i to wpisuje w tym miejscu
audio_output {
type "alsa"
name "Burr-Brown Japan PCM2702"
teraz kolejny komunikat błędu:
root@OpenWrt:~# mpc play
test.mp3
[playing] #1/1 0:00/2:51 (0%)
volume:100% repeat: off random: off single: off consume: off
root@OpenWrt:~# ALSA lib pcm_direct.c:1605:(snd1_pcm_direct_parse_open_conf) The field ipc_gid must be a valid group (create group audio)
Edit 6
No tak niby komunikat "The field ipc_gid must be a valid group (create group audio)" jest oczywisty należy stworzyć grupę użytkowników o nazwie audio.
Najpierw znalazłem opis wykonania tej czynności za pomocą "addgroup" jednak ten sposób nie działa ponieważ BusyBox w OpenWRT nie ma wkompilowanego tego polecenia.
Pomocny okazał się ten opis gdzie dowiedziałem się o braku adduser ale też o możliwości edycji pliku /etc/group
Plik należny edytować dodając audio:x:555: będzie to tak wyglądało:
root:x:0:
audio:x:555:
nogroup:x:65534:
I w końcu się udało karta zagrała ale bardzo cicho.
W moim przypadku zbędne jest ustawianie poziomu głośności przez "amixer set Master 40" na poziom 40.
W pliku /etc/init.d/mpd wykomentowałem tą linię wstawiając # przed tekstem.
Uruchomiłem alsamixer i ustawiłem poziom głośności na 100. I teraz słychać ok.
Kosztowało mnie to około 5 godzin szukania rozwiązań, mam nadzieje że przyda się komuś taki poradnik.
Edytowany przez PawelW dnia 03-06-2010 21:09
|