1ALSAUCM(1) General Commands Manual ALSAUCM(1)
2
3
4
6 alsaucm - ALSA Use Case Manager
7
9 alsaucm <options> [command]
10
12 alsaucm (ALSA Use Case Manager) is a program to use the ALSA Use Case
13 Interface from the command line.
14
15 On complex sound cards, setting up audio routes is not trivial and
16 mixer settings can conflict one another preventing the audio card to
17 work at all.
18
19 The ALSA Use Case Manager is a mechanism for controlling complex audio
20 hardware establishing a relationship between hardware configurations
21 and meaningful use cases that the end-user can relate with.
22
23 The use case manager can also be used to switch between use cases when
24 necessary, in a consistent way.
25
26 At a lower level, the use case manager works by configuring the sound
27 card ALSA kcontrols to change the hardware digital and analog audio
28 routing to match the requested device use case.
29
30 The use case manager kcontrol configurations are stored in easy to mod‐
31 ify text files. An audio use case can be defined by a verb and device
32 parameter.
33
34 The verb describes the use case action i.e. a phone call, listening to
35 music, recording a conversation etc. The device describes the physical
36 audio capture and playback hardware i.e. headphones, phone handset,
37 bluetooth headset, etc.
38
40 Available options:
41
42 -h, --help
43 this help
44
45 -c, --card NAME
46 open card NAME
47
48 -i, --interactive
49 interactive mode
50
51 -b, --batch FILE
52 batch mode (use '-' for the stdin input)
53
54 -n, --no-open
55 do not open first card found
56
57 Available commands:
58
59 open NAME
60 open card NAME.
61
62 valid names are sound card names as listed in
63 /usr/share/alsa/ucm.
64
65 reset reset sound card to default state.
66
67 reload reload configuration.
68
69 listcards
70 list available cards.
71
72 list IDENTIFIER
73 list command, for items returning two entries (value+com‐
74 ment).
75
76 the value of the IDENTIFIER argument can can be:
77
78 • _verbs - get verb list (in pair verb+comment)
79
80 • _devices[/{verb}] - get list of supported devices (in pair
81 device+comment)
82
83 • _modifiers[/{verb}] - get list of supported modifiers (in
84 pair modifier+comment)
85
86 The forms without the trailing /{verb} are valid only after a
87 specific verb has been set.
88
89 list1 IDENTIFIER
90 list command, for lists returning one item per entry.
91
92 the value of the IDENTIFIER argument can vary depending on
93 the context, it can be:
94
95 • TQ[/{verb}] - get list of Tone Quality identifiers
96
97 • _enadevs - get list of enabled devices
98
99 • _enamods - get list of enabled modifiers
100
101 • _supporteddevs/{modifier}|{device}[/{verb}] - list of sup‐
102 ported devices
103
104 • _conflictingdevs/{modifier}|{device}[/{verb}] - list of
105 conflicting devices
106
107 get IDENTIFIER
108 get string value.
109
110 the value of the IDENTIFIER argument can can be:
111
112 • _verb - return current verb
113
114 • [=]{NAME}[/[{modifier}|{/device}][/{verb}]] (For valid
115 NAMEs look at the ALSA Use Case Interface)
116
117 geti IDENTIFIER
118 get integer value.
119
120 the value of the IDENTIFIER argument can can be:
121
122 • _devstatus/{device}
123
124 • _modstatus/{device}
125
126 set IDENTIFIER VALUE
127 set string value
128
129 The value of the IDENTIFIER argument can can be:
130
131 • _verb - set the verb to VALUE
132
133 • _enadev - enable the device specified by VALUE
134
135 • _disdev - disable the device specified by VALUE
136
137 • _swdev/{old_device} - switche device:
138
139 • disable old_device and then enable the device specified
140 by VALUE
141
142 • if no device was enabled just return
143
144 • _enamod - enable the modifier specified by VALUE
145
146 • _dismod - disable the modifier specified by VALUE
147
148 • _swmod/{old_modifier} - switch modifier:
149
150 • disable old_modifier and then enable the modifier speci‐
151 fied by VALUE
152
153 • if no modifier was enabled just return
154
155 Note that the identifiers referring to devices and modifiers
156 are valid only after setting a verb.
157
158 h, help
159 help
160
161 q, quit
162 quit
163
165 The master use case files for each supported sound card are in
166 /usr/share/alsa/ucm.
167
168 For example, the master use case file for the Pandaboard card is in
169 /usr/share/alsa/ucm/PandaBoard/PandaBoard.conf, this file lists all the
170 supported use cases, e.g.
171
172 SectionUseCase."HiFi" {
173 File "hifi"
174 Comment "Play HiFi quality Music."
175 }
176 ...
177
178 Each use case defines a _verb, which is described in the file specified
179 in the File directive, like above.
180
181 The HiFi verb above is described in /usr/share/alsa/ucm/Pand‐
182 aBoard/hifi.
183
184 For more details on the syntax of UCM files, see the alsa-lib source
185 code:
186 http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/ucm/parser.c
187
189 Some commands, like for instance list _devices, can only work after
190 setting a _verb in the same execution, for instance this sequence
191 doesn't work:
192
193 # alsaucm -c bytcr-rt5640 set _verb HiFi
194 # alsaucm -c bytcr-rt5640 list _devices
195
196 However this command does:
197
198 # alsaucm -n -b - <<EOM
199 open bytcr-rt5640
200 set _verb HiFi
201 list _devices
202 EOM
203
204 An example of setting the Speaker device for the HiFi verb of the
205 bytcr-rt5640 card:
206
207 # alsaucm -n -b - <<EOM
208 open bytcr-rt5640
209 reset
210 set _verb HiFi
211 set _enadev Speaker
212 EOM
213
215 • Use Case Interface:
216 http://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm.html
217
219 None known.
220
222 Antonio Ospite <ao2@ao2.it>
223
225 GPLv2+
226
227
228
229
230 2016-09-22 ALSAUCM(1)