1

Temat: RaspberryPI i karta dźwiękowa

Zbudowałem radio internetowe na RaspberryPI. Niestety dźwięk z tego minikomputera jest nienajlepszy. Można użyć karty dźwiękowej np.: HiFiBerry albo JustBoom. Czy ktoś z forumowiczów ma jakieś doświadczenie z oprogramowaniem takiej karty w środowisku OpenWRT? Możecie coś polecić?

2

Odp: RaspberryPI i karta dźwiękowa

Generalnie w openwrt jest słabo jeżeli chodzi o wsparcie. Kompilowane są tylko podstawowe moduły i nic więcej. Ale jeżeli te karty są obsługiwane pod normalnym linuksem to możesz i na openwrt zbudować odpowiednie pakiety.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez nesus 2021-02-20 22:07:39)

Odp: RaspberryPI i karta dźwiękowa

Z tego co widzę właśnie ten minikomputer chyba ma najlepsze wsparcie. Ale co do karty dźwiękowej nikt specjalnie się nie chwali, choć pakiety sterowników w różnych dystrybucjach czasami są budowane. Dlatego pytam żeby nie wywarzać otwartych drzwi. smile

4

Odp: RaspberryPI i karta dźwiękowa

OpenWRT średnio nadaje się do obsługi dźwięku. Jak chcesz platformę do obsługi radia to np Volumio sprawdzi się znacznie lepiej. Raspberry z HifiBerry pod Volumio zadziała od ręki.

5

Odp: RaspberryPI i karta dźwiękowa

Czytałem o tym projekcie i też mi się podobał (obsługa smartfonem, prostota) ale... do radia mam dodany wyświetlacz HD44780 (4x20 znaków) na I2C, i 3 przyciski, których nie chce porzucać, a przy Volumio nie wiem czy da się to tam zmigrować.

6

Odp: RaspberryPI i karta dźwiękowa

Do Volumio są różne pluginy, jest touch display, gpio buttons controll i inne, ale czy w Twoim konfigu się sprawdzą to nie wiem. System stawia się na karcie SD i działa jako headless server, więc zawsze można spróbować, ale to jest forum OpenWRT, kończę tę dygresję.

7 (edytowany przez nesus 2021-02-20 23:09:20)

Odp: RaspberryPI i karta dźwiękowa

Dzięki za sugestie. @Cezary chyba się nie pogniewa ze wyjście spoza tematu OpenWrt. wink

8

Odp: RaspberryPI i karta dźwiękowa

A może jakieś karty na USB są godne polecenia? Taniocha z Aliexpress też średnio gra.

9

Odp: RaspberryPI i karta dźwiękowa

Mało osób używa kart na usb. Te wbudowane zwykle grają lepiej,  więc nikt nie kupuje na usb...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: RaspberryPI i karta dźwiękowa

Kupiłem standardową kartę HiFiBerry DAC+. Działa ładnie w innych dystrybucjach ale mimo wszystko chciałbym odpalić ją na OpenWrt.
Bylibyście w stanie pomóc ją ogarnąć?

Zainstalowałem pakiet: kmod-sound-soc-hifiberry-dacplus
Wg. strony producenta https://www.hifiberry.com/docs/software … ux-3-18-x/ w jądro Raspberry są już wkompilowane sterowniki. Wystarczy dokonać 2 zmian w pliku

/boot/config.txt

1. wyłączyć domyślną kartę, dodałem komentarz:

#dtparam=audio=on

2. włączyć odpowiedni wpis  dot. użytej karty:

dtoverlay=hifiberry-dacplus

3. Reszta kart pozostała wyłączona

Niestety w logach pozostaje wpis:

kern.info kernel: [    7.425591] snd-rpi-hifiberry-dacplus soc:sound: ASoC: CODEC DAI pcm512x-hifi not registered - will retry

i aplay karty nie widzi

Jeśli przełączę wpis na kartę "bez plusa", tzn.:

dtoverlay=hifiberry-dac

i zainstaluje pakiet: kmod-sound-soc-hifiberry-dac
karta niby się uruchamia i niby działa:

kern.info kernel: [    7.422743] snd-hifiberry-dac soc:sound: pcm5102a-hifi <-> 20203000.i2s mapping ok
root@OpenWrt:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ale alsamixer nie rozpoznaje:

This sound device does not have any controls.

I nie wiem czy działa bo nie wiem czy może nie trzeba podgłośnić ale nie wiem czym wink

11

Odp: RaspberryPI i karta dźwiękowa

Just had a very similar problem trying to enable DAC+ on Retropie. It turned out I had to remove i2c-bcm2708 from this distros /etc/modprobe.d/raspi-blacklist.conf.

https://support.hifiberry.com/hc/en-us/ … -on-RPI-B-

Może się faktycznie gryzie z czymś.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: RaspberryPI i karta dźwiękowa

hm.. w naszej dystrybucji nie ma takiego pliku /etc/modprobe.d/raspi-blacklist.conf
a wywalenie pakietu:  kmod-i2c-bcm2708
automatycznie wywala mi sterownik HiFiBerry
Sprzętowo wydaje się ok. Sprawdzałam RPI B+ i RPI3 B+
System stawiany kilkakrotnie od zera...
Powyższy log był z ver. 18.08
na 19.07 jest szerszy:

kern.info kernel: [    7.935916] snd-hifiberry-dac soc:sound: ASoC: CODEC DAI pcm5102a-hifi not registered - will retry
kern.info kernel: [    7.956157] snd-hifiberry-dac soc:sound: pcm5102a-hifi <-> 20203000.i2s mapping ok

Oczywiście sterownik do karty bez "+", bo do mojej nie działa.
Jakiś pomysł?

13

Odp: RaspberryPI i karta dźwiękowa

DACi oparte na układach pcm5102 często nie mają sprzętowej i nawet programowej regulacji głośności (mam podobnie z Hifi Shield+ dla Odroid C2). Dają po prostu maksymalny sygnał na wyjścia RCA, a regulacja głośności zostaje na wzmacniaczu lub aplikacji (jeżeli pozwala). Dlatego alsamixer nie znajduje żadnej regulacji.

Układy z pcm5122 raczej na 100% posiadają sprzętową regulację głośności.
Może ręcznie próbuj załadować sterowniki:
modprobe snd-rpi-hifiberry-dacplus
modprobe pcm512x-hifi

14

Odp: RaspberryPI i karta dźwiękowa

Ten pcm512x cały czas pojawia się wokół nazwy boomberry.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: RaspberryPI i karta dźwiękowa

W opisie producenta jest info, że karta obsługuje sprzętowo poziom głośności i współpracuje z Alsa.
"Atutem tej płytki jest wbudowany, sprzętowy sterownik poziomu dźwięku ze wsparciem dla aplikacji typu mixer."
Na innych dystrybucjach alsamixer działa poprawnie, dlatego myślałem, że jest to problem z głośnością, gdyż po włączeniu np. madplay w głośnikach jest cisza.

root@OpenWrt:~# modprobe pcm512x-hifi
failed to find a module named pcm512x-hifi
root@OpenWrt:~# modprobe snd-rpi-hifiberry-dacplus
failed to find a module named snd-rpi-hifiberry-dacplus

16

Odp: RaspberryPI i karta dźwiękowa

insmod snd-soc-pcm512x

ale on powinien być załadowany z automatu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: RaspberryPI i karta dźwiękowa

I jest wink:

root@OpenWrt:~# insmod snd-soc-pcm512x
module is already loaded - snd-soc-pcm512x

wyłączenie  i2c-bcm2708
(dodałem # do pliku /etc/modules.d/59-i2c-bcm2708)
też nic nie daje

Może HiFiBerry Team mi coś odpisze. smile

18

Odp: RaspberryPI i karta dźwiękowa

Paczka kmod-sound-soc-hifiberry-dacplus w wersji 22.03 została poprawiona i karta HiFiBerry DAC+ działa już bez problemowo. Wystarczy zainstalować tą paczkę, dodać do /boot/config.txt wpis:

dtoverlay=hifiberry-dacplus

i na koniec zrestartować się.

Też próbowałem zrobić proste radio internetowe ale z kartą (HAT-em) JustBoom. Tutaj niestety trzeba więcej pokombinować. W paczce kmod-sound-soc-justboom-dac brakuje modułu jądra snd-soc-pcm512x-i2c.ko oraz zależności od paczki kmod-regmap-i2c. Szczęśliwie brakujący moduł jądra można znaleźć w innych paczkach np kmod-sound-soc-allo-piano-dac:

opkg install kmod-sound-soc-justboom-dac
opkg --force-overwrite install kmod-sound-soc-allo-piano-dac

Opcja --force-overwrite jest potrzebna gdyż paczki kmod-sound-soc-justboom-dac oraz kmod-sound-soc-allo-piano-dac zawierają ten sam plik: snd-soc-pcm512x.ko.

Przy okazji: podobnie można "naprawić" obsługę karty HiFiBerry Digi:

opkg install kmod-sound-soc-hifiberry-digi
opkg --force-overwrite install kmod-sound-soc-iqaudio-digi

Tutaj brakującym modułem jądra jest snd-soc-wm8804-i2c.ko.

19

Odp: RaspberryPI i karta dźwiękowa

Trochę trwało zanim ktoś naprawił paczki... wink
Ja już zmieniłem dystrybucję ale aż wrócę do tego projektu.
Potwierdzam, że karta HiFiBerry DAC+ działa prawidłowo.

20

Odp: RaspberryPI i karta dźwiękowa

Do projektu wróciłem. Karta działa z madplay ale już z MPD nie chce. Podpowiecie, gdzie szukać problemu?

mpd.conf:

playlist_directory              "/tmp/playlists"

input {
        plugin "curl"
}

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"
        mixer_type      "software"
}

log MPD:

Tue Oct  4 20:04:15 2022 daemon.err mpd[2203]: output: No 'audio_output' defined in config file
Tue Oct  4 20:04:15 2022 daemon.err mpd[2203]: ALSA lib confmisc.c:762:(snd_determine_driver) could not open control for card 0
Tue Oct  4 20:04:15 2022 daemon.err mpd[2203]: ALSA lib conf.c:4016:(snd_config_hooks_call) function snd_config_hook_load_for_all_cards returned error: Permission denied
Tue Oct  4 20:04:15 2022 daemon.err mpd[2203]: alsa_output: Error opening default ALSA device: Permission denied
Tue Oct  4 20:04:15 2022 daemon.err mpd[2203]: Failed to create secure directory (//.config/pulse): No such file or directory
Tue Oct  4 20:04:15 2022 daemon.err mpd[2203]: Failed to load cookie file from cookie: No such file or directory
Tue Oct  4 20:04:15 2022 daemon.err mpd[2203]: exception: Unable to detect an audio device
Tue Oct  4 20:04:49 2022 daemon.err mpd[2265]: server_socket: bind to '0.0.0.0:6600' failed (continuing anyway, because binding to '[::]:6600' succeeded): Failed to bind socket: Address in use

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 [HiFiBerry DAC+ HiFi pcm512x-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

21

Odp: RaspberryPI i karta dźwiękowa

daemon.err mpd[2203]: output: No 'audio_output' defined in config file

W dobrym miejscu masz ten konfig? Gdzie on tego szuka?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22

Odp: RaspberryPI i karta dźwiękowa

ścieżka standardowa:
/etc/mpd.conf

23

Odp: RaspberryPI i karta dźwiękowa

Uruchamiasz mpd z palca czy ze skryptów startowych?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: RaspberryPI i karta dźwiękowa

Na razie "z palca", /etc/init.d/mpd restart żeby sprawdzać konfigi. Docelowo przez chciałbym przez autostart usługi.

25

Odp: RaspberryPI i karta dźwiękowa

Od samej instalacji są problemy:

Configuring mpd-full.
mkdir: can't create directory '': No such file or directory
BusyBox v1.35.0 (2022-09-03 02:55:34 UTC) multi-call binary.

Usage: chown [-Rh]... USER[:[GRP]] FILE...

Change the owner and/or group of FILEs to USER and/or GRP

        -h      Affect symlinks instead of symlink targets
        -R      Recurse

W mpd.conf trzeba zmienić scieżkę do playlisty, bo inaczej nie podniesie się usługa.