Re: Troubleshooting ALSA configuration files parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux