why not i use this command, speaker also work on x205ta. alsaucm -c chtrt5645-mono-speaker-analog-mic set _verb HiFi set _enadev Speaker Hans de Goede hdegoede@redhat.com 于2018年11月26日周一 下午9:40写道:
Hi,
On 26-11-18 11:07, Takashi Iwai wrote:
The error messages (at least some of them) are known issues and I already posted the problem on alsa-devel ML. The fix should be easy but I'd like to get consensus beforehand.
Ah I missed that mail as I'm not subscribed to alsa-devel. Since my changes are the cause of this alsaucm command problem, let me reply here:
some of the recently added UCM profiles are the files to be included by others, and they are not card targets. Unfortunately alsaucm doesn't know about it, and it aborts with error, e.g.
==== % alsaucm ALSA lib utils.c:67:(uc_mgr_config_load) could not open configuration file /usr/share/alsa/ucm/bytcr/bytcr.conf ALSA lib parser.c:1427:(load_master_config) error: could not parse configuration for card bytcr alsaucm: unable to obtain card list: No such file or directory ====
The similar error is found in nau8824, rt5640 and rt5651. After putting a placeholder card config file (e.g. bytcr.conf), the error is gone. But certainly we don't want to allow user to choose this as the proper card.
So, I guess we need to put some flag to each such directory indicating that it's no card config. For example, putting /usr/share/alsa/ucm/bytcr/.nocard file or such...
Not sure whether it's wise to have a file starting with dot, though. Maybe clearer to be "nocard" or any other visible one?
All the HiFi.conf files using the "include" snippets I added to avoid copy and pasting a lot, already need to have this at the top for this to work:
So it might be best to move all the dirs holding include files rather then proper card configs from /usr/share/alsa/ucm to /usr/share/alsa/ucm-includes and then change the searchdir part of the configs using these to:
Regards,
Hans