Hifiberry and pi5

hi

i got a HiFiBerry DAC2 Pro XLR for one of the pi5’s we have. i fail to get it working.

How to configure it?

Sorry for the delay. I think according to this page, all requirements should be available on the info-beamer OS. You probably need to add this:

To /config/userconfig.txt the line:

dtoverlay=hifiberry-dacplus-pro

Then in /config/alsa the line:

hifiberry

Then enable sound via HDMI (and not analog audio) on the device’s configuration editor.

Hi

I tried this today but it does not seem to work. I tried with both in-store radio package and scheduled player package.

On the radio package the display says “audio not enabled”. The instore package does not seem to support the Pi5 as well.

What should i try next?

Good question. I’ve been trying to figure out what kernel modules the Hifiberry might need in addition to those supplied within the info-beamer OS. So far I haven’t been able to make it work. I’m probably missing something minor. Do you happen to have an SD card with Raspberry Pi OS installed? If so, could you boot that, test if it supports that sound hat and then send me the output of lsmod? If that’s not possible, let me know.

Raspberry Pi OS x64

got it working with a tweek to /boot/firmware/config.txt

commented out

Enable audio (loads snd_bcm2835)

#dtparam=audio=on

and added

[pi5]
dtoverlay=nospi10
dtparam=i2s=on
dtoverlay=hifiberry-dacplus-pro
force_eeprom_read=0

pi@pi5xlr:~ $ lsmod
Module Size Used by
snd_seq_dummy 49152 0
snd_hrtimer 49152 1
snd_seq 114688 7 snd_seq_dummy
snd_seq_device 49152 1 snd_seq
rfcomm 81920 6
algif_hash 49152 1
algif_skcipher 49152 1
af_alg 49152 6 algif_hash,algif_skcipher
bnep 49152 2
binfmt_misc 49152 1
brcmfmac_cyw 49152 0
snd_soc_pcm512x_i2c 49152 1
snd_soc_pcm512x 49152 1 snd_soc_pcm512x_i2c
brcmfmac 393216 1 brcmfmac_cyw
joydev 49152 0
regmap_i2c 49152 1 snd_soc_pcm512x_i2c
brcmutil 49152 1 brcmfmac
hci_uart 65536 0
cfg80211 1114112 2 brcmfmac_cyw,brcmfmac
btbcm 49152 1 hci_uart
rpi_hevc_dec 65536 0
pisp_be 49152 0
bluetooth 704512 31 hci_uart,btbcm,bnep,rfcomm
v4l2_mem2mem 65536 1 rpi_hevc_dec
videobuf2_dma_contig 49152 2 pisp_be,rpi_hevc_dec
ecdh_generic 49152 2 bluetooth
aes_ce_blk 49152 4
videobuf2_memops 49152 1 videobuf2_dma_contig
ecc 65536 1 ecdh_generic
aes_ce_cipher 49152 1 aes_ce_blk
videobuf2_v4l2 49152 3 pisp_be,rpi_hevc_dec,v4l2_mem2mem
ghash_ce 49152 0
rfkill 49152 6 bluetooth,cfg80211
videodev 344064 4 pisp_be,rpi_hevc_dec,videobuf2_v4l2,v4l2_mem2mem
videobuf2_common 98304 6 pisp_be,rpi_hevc_dec,videobuf2_dma_contig,videobuf2_v4l2,v4l2_mem2mem,videobuf2_memops
gf128mul 49152 1 ghash_ce
mc 81920 6 videodev,pisp_be,rpi_hevc_dec,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
snd_soc_hifiberry_dacplus 49152 2
raspberrypi_hwmon 49152 0
designware_i2s 49152 2
raspberrypi_gpiomem 49152 0
rp1_adc 49152 0
sch_fq_codel 49152 3
i2c_dev 49152 0
zram 65536 1
lz4_compress 49152 1 zram
fuse 229376 5
nfnetlink 49152 1
ipv6 622592 93
libsha1 65536 1 ipv6
vc4 442368 18
snd_soc_hdmi_codec 49152 2
drm_exec 49152 1 vc4
v3d 212992 8
drm_display_helper 49152 1 vc4
i2c_brcmstb 49152 0
cec 65536 1 vc4
drm_dma_helper 49152 2 vc4
drm_client_lib 49152 1 vc4
gpu_sched 98304 1 v3d
drm_shmem_helper 49152 1 v3d
drm_kms_helper 245760 4 drm_dma_helper,vc4,drm_shmem_helper,drm_client_lib
drm 737280 22 gpu_sched,drm_kms_helper,drm_exec,drm_dma_helper,v3d,vc4,drm_shmem_helper,drm_display_helper,drm_client_lib
snd_soc_core 327680 5 snd_soc_pcm512x,snd_soc_hifiberry_dacplus,vc4,snd_soc_hdmi_codec,designware_i2s
gpio_keys 49152 0
snd_compress 49152 1 snd_soc_core
snd_pcm_dmaengine 49152 1 snd_soc_core
snd_pcm 180224 8 snd_soc_pcm512x,snd_soc_hifiberry_dacplus,snd_soc_hdmi_codec,designware_i2s,snd_compress,snd_soc_core,snd_pcm_dmaengine
i2c_designware_platform 49152 0
i2c_designware_core 49152 1 i2c_designware_platform
rp1_pio 65536 0
rp1_fw 49152 1 rp1_pio
snd_timer 81920 3 snd_seq,snd_hrtimer,snd_pcm
clk_hifiberry_dacpro 49152 1
rp1_mailbox 49152 1
snd 163840 15 snd_seq,snd_soc_pcm512x,snd_seq_device,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
drm_panel_orientation_quirks 65536 1 drm
backlight 49152 2 drm_kms_helper,drm
nvmem_rmem 49152 0

Thanks. When you ran lsmod, you already played audio via the HifiBerry, right? That way the required kernel modules are definitely loaded at this point? This should be helpful! I’m seeing an entry in /sys/kernel/debug/devices_deferred, but no real indication of what’s missing. That lsmod output should help with that. As I don’t have that HiFiBerry DAC here, any chance you could bring back your test device. Sorry about the trouble.

Yes. I had youtube playing with audio working. At the same time i SSH’d in and pulled lsmod so i could copy paste it here.

I tried the exact same config files and deleted the alsa file that was created earlier. Unsurprisingly still silent.

I left the device online now. It has 1 XLR connected. The speaker is off. You can do whatever you need. No screens connected (not in active use atm).

The device is named Galerii 8 - XLR

1 Like

Think I found the issue: The designware_i2s kernel module was missing and /config/alsa needs to be set to hw:sndrpihifiberry. At least from here it seem to work now.

You can test it with that device until you reboot it. Then the kernel driver will be gone again. I’ll see that I get a testing release of the OS ready that has the kernel module included. Thanks again for the module list.

Device should now be ready. I’ve switched it to the testing release which includes those changes. The log sounds promising:

info-beamer: ao_alsa debug: Using ALSA device 'hw:sndrpihifiberry'
info-beamer: [alsa.c] audio playback enabled on 'hw:sndrpihifiberry'
info-beamer: [alsa.c] alsa worker ready

Tested it during the day and it worked with the radio package and Scheduled player package.

Many thank you for the effort.

I had to move it so it got a reboot.

I will try the testing release tomorrow.

Many thanks

Oh. It has been 20 days. Sorry about that. I did try the testing release the next day and it worked well.

Thanks for confirming. I’ll see that there is a new stable release with this and other improvements soonish. Meanwhile testing is fine and you can switch back once stable is ready.