HIFIBERRY DAC+ AND OpenWrt

Hello
I cannot run HiFiBerry DAC + on OpenWRT 19.07. After installing the package: kmod-sound-soc-hifiberry-dacplus and configuring the /boot/config.txt file according to instructions from the page:

the card is not detected in the system.

However, after installing the kmod-sound-soc-hifiberry-dac module, the card is detected

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
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

but it doesn't work

Please help.

what doesn't work ?

The sound card does not work. :wink:
It is not detected by the system.

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

Maybe something is missing?
Of course, the card works fine in another system (Volumio).

well,
you could try to check which modules Volumio loads for it to work.

What do you think?

OpenWrt:

root@OpenWrt:~# lsmod | grep snd
ac97_bus               16384  2 snd_soc_core,snd_ac97_codec
snd                    81920 12 snd_soc_pcm512x,snd_bcm2835,snd_soc_core,snd_ac97_codec,snd_rawmidi,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss,snd_hwdep,snd_compress
snd_ac97_codec        118784  0
snd_bcm2835            24576  0
snd_compress           24576  1 snd_soc_core
snd_hwdep              20480  0
snd_mixer_oss          32768  1 snd_pcm_oss
snd_pcm                98304  8 snd_soc_pcm512x,snd_soc_hifiberry_dacplus,snd_soc_bcm2835_i2s,snd_bcm2835,snd_soc_core,snd_ac97_codec,snd_pcm_oss,snd_pcm_dmaengine
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm_oss            57344  0
snd_rawmidi            45056  0
snd_seq_device         16384  1 snd_rawmidi
snd_soc_bcm2835_i2s    16384  0
snd_soc_core          155648  3 snd_soc_pcm512x,snd_soc_hifiberry_dacplus,snd_soc_bcm2835_i2s
snd_soc_hifiberry_dacplus   16384  0
snd_soc_pcm512x        32768  0
snd_timer              36864  1 snd_pcm
soundcore              16384  1 snd

Volumio:

volumio@volumio:~$ lsmod | grep snd
snd_soc_pcm512x_i2c    16384  1
snd_soc_pcm512x        32768  1 snd_soc_pcm512x_i2c
snd_soc_hifiberry_dacplus    16384  1
snd_soc_bcm2835_i2s    20480  2
snd_soc_core          192512  3 snd_soc_pcm512x,snd_soc_hifiberry_dacplus,snd_soc_bcm2835_i2s
snd_bcm2835            24576  0
snd_compress           20480  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               102400  7 snd_soc_pcm512x,snd_pcm_dmaengine,snd_soc_hifiberry_dacplus,snd_soc_bcm2835_i2s,snd_bcm2835,snd_soc_core
snd_seq                69632  0
snd_seq_device         16384  1 snd_seq
snd_timer              32768  2 snd_seq,snd_pcm
snd                    73728  9 snd_compress,snd_soc_pcm512x,snd_seq,snd_timer,snd_seq_device,snd_bcm2835,snd_soc_core,snd_pcm

How can I add another module from another system?

you can't.

Check if you need a asound.conf file, or copy from Volumio, if there's one there.

There is no such file in the volumio system.

I think the snd_soc_pcm512x_i2c module is missing from OpenWrt.