Dear fellow readers, I found the culprit for my ignored asound.conf. The changes were not ignored, they just did not show under aplay -L. The reason was “defaults.namehint.showall" was set to off in /usr/share/alsa/alsa.conf. I hope this is useful to some other poor sap some day. This took me days to nail down. Makes one wish this had been documented. Best, Guillaume > On 29 Mar 2023, at 19:14, Guillaume Khayat <guillaume.kh.alt@xxxxxxxxx> wrote: > > Dear readers, > > I'm running my own distro built w/ Yocto and my /etc/asound.conf is seemingly ignored entirely. > > I have been working at figuring out why for 3 days already and am running out of ideas. I would welcome any help the readers of this list can kindly spare. > > The hardware platform is a Raspberry Pi 3 B+ with a Hifiberrry DAC connected over I2S. > The software environment is a custom Linux distro built w/ Yocto. Kernel is 5.15.34. ALSA is 1.2.6. No other audio backend (e.g. Pipewire) is installed. > The system has 3 working soundcards (see aplay -l output below), with matching PCMs. > > I reproduce the issue with a small simple /etc/asound.conf containing : > pcm.volumioHw { > type hw > card "sndrpihifiberry" > } > > Thank you for your time & consideration, > > Guillaume > > —————————————————————————— > > > I have tried quite a few things already: > > 1) setting CONFIG_SND_DEBUG=y & CONFIG_SND_DEBUG_VERBOSE=y and making sure /sys/module/snd/parameters/debug = 2 > —> Not much in journaldNothing relevant as far as I can tell > > 2) checking if the soundcard's kernel module has a debug flag which we can enable with "modinfo -p” > —> no option available for snd_soc_rpi_simple_soundcard > > 3) checking every path listed in /usr/share/alsa/alsa.conf for conflicting conf files > • /var/lib/alsa/conf.d > • /usr/etc/alsa/conf.d > • /etc/alsa/conf.d > • /etc/asound.conf > • /usr/etc/asound.conf > • ~/.asoundrc > • $XDG_CONFIG_HOME/alsa/asoundrc > —> only my /etc/asound.conf exists > > > —————————————————————————— > > > There are also things I HAVEN’T tried: > 1) stracing whatever handles conf files parsing. I don’t know what process to actually strace. > 2) enabling kernel dynamic debug. I don’t know what module to enable debug logs for. > > > > —————————————————————————— > > > Here is the output of alsa-info.sh for further reference: > > upload=true&script=true&cardinfo= > !!################################ > !!ALSA Information Script v 0.5.1 > !!################################ > > !!Script ran on: Wed Mar 29 15:36:21 UTC 2023 > > > !!Linux Distribution > !!------------------ > > > > > !!DMI Information > !!--------------- > > Manufacturer: > Product Name: > Product Version: > Firmware Version: > System SKU: > Board Vendor: > Board Name: > > > !!ACPI Device Status Information > !!--------------- > > > > !!Kernel Information > !!------------------ > > Kernel release: 5.15.34-v8 > Operating System: GNU/Linux > Architecture: aarch64 > Processor: unknown > SMP Enabled: Yes > > > !!ALSA Version > !!------------ > > Driver version: k5.15.34-v8 > Library version: 1.2.6.1 > Utilities version: 1.2.6 > > > !!Loaded ALSA modules > !!------------------- > > > > !!Sound Servers on this system > !!---------------------------- > > No sound servers found. > > > !!Soundcards recognised by ALSA > !!----------------------------- > > 0 [b1 ]: bcm2835_hdmi - bcm2835 HDMI 1 > bcm2835 HDMI 1 > 1 [Headphones ]: bcm2835_headpho - bcm2835 Headphones > bcm2835 Headphones > 2 [sndrpihifiberry]: RPi-simple - snd_rpi_hifiberry_dac > snd_rpi_hifiberry_dac > > > !!Modprobe options (Sound related) > !!-------------------------------- > > snd_bcm2835: enable_compat_alsa=0 > snd_bcm2835: enable_hdmi=1 > > > !!Loaded sound module options > !!--------------------------- > > > !!Sysfs card info > !!--------------- > > !!Card: /sys/class/sound/card0 > Driver: /sys/bus/platform/drivers/bcm2835_audio > Tree: > /sys/class/sound/card0 > |-- controlC0 > | |-- dev > | |-- device -> ../../card0 > | |-- power > | |-- subsystem -> ../../../../../../../../class/sound > | `-- uevent > |-- device -> ../../../bcm2835_audio > |-- id > |-- number > |-- pcmC0D0p > | |-- dev > | |-- device -> ../../card0 > | |-- pcm_class > | |-- power > | |-- subsystem -> ../../../../../../../../class/sound > | `-- uevent > |-- power > | |-- autosuspend_delay_ms > | |-- control > | |-- runtime_active_time > | |-- runtime_status > | `-- runtime_suspended_time > |-- subsystem -> ../../../../../../../class/sound > `-- uevent > > !!Card: /sys/class/sound/card1 > Driver: /sys/bus/platform/drivers/bcm2835_audio > Tree: > /sys/class/sound/card1 > |-- controlC1 > | |-- dev > | |-- device -> ../../card1 > | |-- power > | |-- subsystem -> ../../../../../../../../class/sound > | `-- uevent > |-- device -> ../../../bcm2835_audio > |-- id > |-- number > |-- pcmC1D0p > | |-- dev > | |-- device -> ../../card1 > | |-- pcm_class > | |-- power > | |-- subsystem -> ../../../../../../../../class/sound > | `-- uevent > |-- power > | |-- autosuspend_delay_ms > | |-- control > | |-- runtime_active_time > | |-- runtime_status > | `-- runtime_suspended_time > |-- subsystem -> ../../../../../../../class/sound > `-- uevent > > !!Card: /sys/class/sound/card2 > Driver: /sys/bus/platform/drivers/snd-rpi-simple > Tree: > /sys/class/sound/card2 > |-- controlC2 > | |-- dev > | |-- device -> ../../card2 > | |-- power > | |-- subsystem -> ../../../../../../../class/sound > | `-- uevent > |-- device -> ../../../soc:sound > |-- id > |-- number > |-- pcmC2D0p > | |-- dev > | |-- device -> ../../card2 > | |-- pcm_class > | |-- power > | |-- subsystem -> ../../../../../../../class/sound > | `-- uevent > |-- power > | |-- autosuspend_delay_ms > | |-- control > | |-- runtime_active_time > | |-- runtime_status > | `-- runtime_suspended_time > |-- subsystem -> ../../../../../../class/sound > `-- uevent > > > !!ALSA Device nodes > !!----------------- > > crw-rw---- 1 root audio 116, 0 Mar 29 17:07 /dev/snd/controlC0 > crw-rw---- 1 root audio 116, 32 Mar 29 17:07 /dev/snd/controlC1 > crw-rw---- 1 root audio 116, 64 Mar 29 17:07 /dev/snd/controlC2 > crw-rw---- 1 root audio 116, 16 Mar 29 17:07 /dev/snd/pcmC0D0p > crw-rw---- 1 root audio 116, 48 Mar 29 17:07 /dev/snd/pcmC1D0p > crw-rw---- 1 root audio 116, 80 Mar 29 17:07 /dev/snd/pcmC2D0p > crw-rw---- 1 root audio 116, 1 Mar 29 17:07 /dev/snd/seq > crw-rw---- 1 root audio 116, 33 Mar 29 17:07 /dev/snd/timer > > /dev/snd/by-path: > drwxr-xr-x 2 root root 80 Mar 29 17:07 . > drwxr-xr-x 3 root root 220 Mar 29 17:07 .. > lrwxrwxrwx 1 root root 12 Mar 29 17:07 platform-bcm2835_audio -> ../controlC1 > lrwxrwxrwx 1 root root 12 Mar 29 17:07 platform-soc:sound -> ../controlC2 > > > !!ALSA configuration files > !!------------------------ > > !!System wide config file (/etc/asound.conf) > > pcm.volumioHw { > type hw > card "sndrpihifiberry" > } > > > !!Aplay/Arecord output > !!-------------------- > > APLAY > > **** List of PLAYBACK Hardware Devices **** > card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1] > Subdevices: 4/4 > Subdevice #0: subdevice #0 > Subdevice #1: subdevice #1 > Subdevice #2: subdevice #2 > Subdevice #3: subdevice #3 > card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones] > Subdevices: 4/4 > Subdevice #0: subdevice #0 > Subdevice #1: subdevice #1 > Subdevice #2: subdevice #2 > Subdevice #3: subdevice #3 > card 2: 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 > > ARECORD > > **** List of CAPTURE Hardware Devices **** > > !!Amixer output > !!------------- > > !!-------Mixer controls for card b1 > > Card sysdefault:0 'b1'/'bcm2835 HDMI 1' > Mixer name : 'Broadcom Mixer' > Components : '' > Controls : 2 > Simple ctrls : 1 > Simple mixer control 'HDMI',0 > Capabilities: pvolume pvolume-joined pswitch pswitch-joined > Playback channels: Mono > Limits: Playback -10239 - 400 > Mono: Playback 0 [96%] [0.00dB] [on] > > !!-------Mixer controls for card Headphones > > Card sysdefault:1 'Headphones'/'bcm2835 Headphones' > Mixer name : 'Broadcom Mixer' > Components : '' > Controls : 2 > Simple ctrls : 1 > Simple mixer control 'Headphone',0 > Capabilities: pvolume pvolume-joined pswitch pswitch-joined > Playback channels: Mono > Limits: Playback -10239 - 400 > Mono: Playback -2000 [77%] [-20.00dB] [on] > > !!-------Mixer controls for card sndrpihifiberry > > Card sysdefault:2 'sndrpihifiberry'/'snd_rpi_hifiberry_dac' > Mixer name : '' > Components : '' > Controls : 0 > Simple ctrls : 0 > > > !!Alsactl output > !!-------------- > > --startcollapse-- > state.b1 { > control.1 { > iface MIXER > name 'HDMI Playback Volume' > value 0 > comment { > access 'read write' > type INTEGER > count 1 > range '-10239 - 400' > dbmin -9999999 > dbmax 400 > dbvalue.0 0 > } > } > control.2 { > iface MIXER > name 'HDMI Playback Switch' > value true > comment { > access 'read write' > type BOOLEAN > count 1 > } > } > } > state.Headphones { > control.1 { > iface MIXER > name 'Headphone Playback Volume' > value -2000 > comment { > access 'read write' > type INTEGER > count 1 > range '-10239 - 400' > dbmin -9999999 > dbmax 400 > dbvalue.0 -2000 > } > } > control.2 { > iface MIXER > name 'Headphone Playback Switch' > value true > comment { > access 'read write' > type BOOLEAN > count 1 > } > } > } > state.sndrpihifiberry { > control { > } > } > --endcollapse-- > > > !!All Loaded Modules > !!------------------ > > bcm2835_codec > bcm2835_isp > bcm2835_mmal_vchiq > bcm2835_v4l2 > fuse > ipv6 > mc > nfsd > raspberrypi_hwmon > regmap_mmio > rfkill > sch_fq_codel > sdhci_iproc > snd_bcm2835 > snd_soc_bcm2835_i2s > snd_soc_pcm5102a > snd_soc_rpi_simple_soundcard > uio > uio_pdrv_genirq > v4l2_mem2mem > vc_sm_cma > videobuf2_common > videobuf2_dma_contig > videobuf2_memops > videobuf2_v4l2 > videobuf2_vmalloc > videodev > > > !!ALSA/HDA dmesg > !!-------------- > > [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 249984 > [ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait logo.nologo > [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) > -- > [ 3.291709] of_cfs_init: OK > [ 3.298933] ALSA device list: > [ 3.304440] No soundcards found. > [ 3.310735] Waiting for root device /dev/mmcblk0p2... > -- > [ 6.836072] audit: type=1334 audit(1680102470.170:3): prog-id=6 op=LOAD > [ 7.621873] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned. > [ 7.633856] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. > -- > [ 7.651720] [vc_sm_connected_init]: start > [ 7.700969] bcm2835_audio bcm2835_audio: card created with 4 channels > [ 7.726147] mc: Linux media interface: v0.10 > [ 7.740401] [vc_sm_connected_init]: installed successfully > [ 7.747054] bcm2835_audio bcm2835_audio: card created with 4 channels > [ 7.896829] videodev: Linux video capture interface: v2.00 _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user