Giter Site home page Giter Site logo

alsa-project / alsa-utils Goto Github PK

View Code? Open in Web Editor NEW
184.0 21.0 129.0 3.23 MB

The Advanced Linux Sound Architecture (ALSA) - utilities

License: GNU General Public License v2.0

Makefile 0.89% M4 1.05% Shell 5.29% Roff 6.18% C 86.60%
alsa sound utilities

alsa-utils's Introduction

alsa-utils

Advanced Linux Sound Architecture - Utilities

Build alsa-utils

This package contains the command line utilities for the ALSA project. The package can be compiled only with the installed ALSA driver and the ALSA C library (alsa-lib).

Utility Description
alsaconf the ALSA driver configurator script
alsa-info a script to gather information about ALSA subsystem
alsactl an utility for soundcard settings management
aplay/arecord an utility for the playback / capture of .wav,.voc,.au files
axfer an utility to transfer audio data frame (enhancement of aplay)
amixer a command line mixer
alsamixer a ncurses mixer
amidi a utility to send/receive sysex dumps or other MIDI data
iecset a utility to show/set the IEC958 status bits
speaker-test a speaker test utility
alsaloop a software loopback for PCM devices
alsaucm Use Case Manager utility
alsabat a sound tester for ALSA sound card driver
alsatplg ALSA topology compiler

You may give a look for more information about the ALSA project to URL http://www.alsa-project.org.

alsa-utils's People

Contributors

aichaosong avatar anssih avatar ao2 avatar arkivm avatar braph avatar cladisch avatar dbaluta avatar dpward avatar flameeyes avatar ford-prefect avatar hanlui avatar jmallach avatar johnsauter avatar julianscheel avatar lrgirdwo avatar michaelforney avatar mrajwa avatar neheb avatar pavhofman avatar perexg avatar plbossart avatar ranj063 avatar singalsu avatar takaswie avatar thesamesam avatar tiwai avatar toofishes avatar vapier avatar wileyhy avatar zevweiss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alsa-utils's Issues

Unable to use alsa utils with card who have id greather than 31

Hello Dear Alsa dev members,

I comme to you because i search to use multiple alsa loopback.
Unfortunatly by defaut all is blocked on a id maximum to 31 (32 sound cards).
I compile a kernel with the options CONFIG_SND_MAX_CARDS = 256.

I add this options in the /etc/modprobe.d/alsa-base.conf:

options snd-aloop \
index=10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32 \
id=lp0,lp1,lp2,lp3,lp4,lp5,lp6,lp7,lp8,lp9,lp10,lp11,lp12,lp13,lp14,lp15,lp16,lp17,lp18,lp19,lp20,lp21,lp22 \
enable=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 \
pcm_substreams=2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 /

As you can see, i try to use ID greather than 31.

When i look to /proc/asound:

card10/  card17/  card24/  card31/  lp11/    lp18/    lp4/     oss/
card11/  card18/  card25/  card32/  lp12/    lp19/    lp5/     pcm
card12/  card19/  card26/  cards    lp13/    lp2/     lp6/     seq/
card13/  card20/  card27/  devices  lp14/    lp20/    lp7/     timers
card14/  card21/  card28/  lp0/     lp15/    lp21/    lp8/     version
card15/  card22/  card29/  lp1/     lp16/    lp22/    lp9/
card16/  card23/  card30/  lp10/    lp17/    lp3/     modules

I find my card with id 32.

I have try first to use speakertest and i get :

ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
Erreur d'ouverture à la lecture: -22,Invalid argument

I have try to compile alsa-lib and alsa-utils with:

mkdir /usr/src/alsa
cd /usr/src/alsa

git clone git://git.alsa-project.org/alsa-lib.git alsa-lib
cd /usr/src/alsa/alsa-lib
./gitcompile --with-max-cards=256
make install

cd /usr/src/alsa

git clone git://git.alsa-project.org/alsa-utils.git alsa-utils
cd /usr/src/alsa/alsa-utils
./gitcompile --with-max-cards=256
make install

But i have alwais the same issue.

Can somme one help me please?

Add amixer --view, to filter playback, capture or all

alsamixer has

       -V, --view <mode>
              Select the starting view mode, either playback, capture or all.

Perhaps amixer could also have something similar,
e.g., so that

$ amixer --view capture

would only dump the capture related settings.
Currently one could say that

$ amixer --view all

is the default.

"aplay -D oss -l" still reads sound cards through ALSA, not OSS

I don't have any ALSA devices, only OSS devices.

When the OSS PCM is selected aplay still tries to read ALSA devices:

$ /usr/bin/aplay -D oss -l
aplay: device_list:272: no soundcards found...
$ /usr/bin/aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
oss
    Open Sound System

But /usr/bin/aplay x.wav plays it through the OSS card.

aplay should list OSS cards when -D is selected.
The ALSA interface should also list OSS cards when no ALSA cards are present but it doesn't.

alsa-lib-1.1.8
alsa-plugins-oss-1.1.6
alsa-utils-1.1.8

[Question]: Mute all channels when starting X11

Hello, thank you for developing alsa-utils. I have a specific question pertaining to amixer.

Current behaviour

When starting X11 and i3 (my window manager), I would like to have all audio channels (speaker, headphones, etc.) muted. At the moment, I have the following command in my i3 configuration file:

amixer -q sset Master mute

And as expected, the Master channel is indeed muted after starting X11. However, when I connect or disconnect my headphones, the volume automatically reverts back to the volume that was saved during the last boot.

Expected behaviour

I would like all volume channels to stay muted. So for example after starting X11 and i3, I would like to see that both my speakers and headphones are muted, even when I plug/unplug the jack. Would you have any recommendations on how to do this?

I was considering manually muting both headphones and speakers with amixer and then re-using the alsa state file during boots. But I am unsure because this seems like a hack'ish solution.

System specifications

OS/Kernel: Arch Linux, 5.9.8-arch1-1, x86_64 GNU/Linux
alsa-utils: 1.2.4-2 (installed via pacman package manager)
wm: i3-gaps

Starting with 1.2.5 alsactl tries to initialize UCM even if it is not supported

Starting with alsa-utils 1.2.5 I observed the following warning on my machine when running alsactl restore 0, which I didn't receive prevously with alsa-utils 1.2.4:

$ alsactl -E 'HOME=/var/run/alsasound' -I -f /var/lib/alsa/asound.state restore 0
alsa-lib parser.c:2372:(load_toplevel_config) Unable to find the top-level configuration file '/usr/share/alsa/ucm2/ucm.conf'.
alsa-lib main.c:1405:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2

The error message tells me that alsa-utils 1.2.5 now tries to initialize UCM by default which doesn't work since I don't have alsa-ucm-conf installed. After installing alsa-ucm-conf, the error message looks as follows:

$ alsactl -E 'HOME=/var/run/alsasound' -I -f /var/lib/alsa/asound.state restore 0
alsa-lib parser.c:242:(error_node) UCM is not supported for this HDA model (HDA Intel PCH at 0xf2530000 irq 35)
alsa-lib main.c:1405:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -6

From reading the alsactl man page, it seems to me that UCM should only be initialized by default if it is available. Since alsactl 1.2.4 did not attempt to initialize UCM on my machine, this seems to be a regression introduced in alsactl 1.2.5. If I disable UCM explicitly using alsactl -U, everything works as expected. Similarly, downgrading to alsactl 1.2.4 again also resolves the issue.

I am not familiar at all with alsa internals but if desired, I can check with git-bisect(1) which commit between v1.2.4..v1.2.5 introduced this regression.

Not building on Raspbian Buster

Make fails during linking because the object files are not created. If the compiler is run then the object file will build but the prefix added by Makefile seems to stop the copmilation from occuring. This is building v1.2.4. (Master refuses to build due to dependancy on later version of asoundlib.)

Making all in include
make[1]: Entering directory '/root/alsa-utils/include'
(CDPATH="${ZSH_VERSION+.}:" && cd .. && /bin/bash /root/alsa-utils/missing autoheader)
rm -f stamp-h1
touch aconfig.h.in
cd .. && /bin/bash ./config.status include/aconfig.h
config.status: creating include/aconfig.h
config.status: include/aconfig.h is unchanged
make  all-am
make[2]: Entering directory '/root/alsa-utils/include'
Updating version.h
make[2]: Leaving directory '/root/alsa-utils/include'
make[1]: Leaving directory '/root/alsa-utils/include'
Making all in alsactl
make[1]: Entering directory '/root/alsa-utils/alsactl'
Making all in init
make[2]: Entering directory '/root/alsa-utils/alsactl/init'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/alsa-utils/alsactl/init'
make[2]: Entering directory '/root/alsa-utils/alsactl'
source='alsactl.c' object='alsactl-alsactl.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-alsactl.o `test -f 'alsactl.c' || echo './'`alsactl.c
source='state.c' object='alsactl-state.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-state.o `test -f 'state.c' || echo './'`state.c
source='lock.c' object='alsactl-lock.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-lock.o `test -f 'lock.c' || echo './'`lock.c
source='utils.c' object='alsactl-utils.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-utils.o `test -f 'utils.c' || echo './'`utils.c
source='init_parse.c' object='alsactl-init_parse.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-init_parse.o `test -f 'init_parse.c' || echo './'`init_parse.c
source='init_ucm.c' object='alsactl-init_ucm.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-init_ucm.o `test -f 'init_ucm.c' || echo './'`init_ucm.c
source='daemon.c' object='alsactl-daemon.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-daemon.o `test -f 'daemon.c' || echo './'`daemon.c
source='monitor.c' object='alsactl-monitor.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../include    -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g -c -o alsactl-monitor.o `test -f 'monitor.c' || echo './'`monitor.c
gcc -D_GNU_SOURCE -D__USE_GNU -DSYS_ASOUNDRC=\"/var/lib/alsa/asound.state\" -DSYS_LOCKFILE=\"/var/lock/asound.state.lock\" -DSYS_PIDFILE=\"/var/run/alsactl.pid\" -O2 -Wall -pipe -g   -o alsactl alsactl-alsactl.o alsactl-state.o alsactl-lock.o alsactl-utils.o alsactl-init_parse.o alsactl-init_ucm.o alsactl-daemon.o alsactl-monitor.o  -lasound -lm -ldl -lpthread
gcc: error: alsactl-alsactl.o: No such file or directory
gcc: error: alsactl-state.o: No such file or directory
gcc: error: alsactl-lock.o: No such file or directory
gcc: error: alsactl-utils.o: No such file or directory
gcc: error: alsactl-init_parse.o: No such file or directory
gcc: error: alsactl-init_ucm.o: No such file or directory
gcc: error: alsactl-daemon.o: No such file or directory
gcc: error: alsactl-monitor.o: No such file or directory
make[2]: *** [Makefile:527: alsactl] Error 1
make[2]: Leaving directory '/root/alsa-utils/alsactl'
make[1]: *** [Makefile:811: all-recursive] Error 1
make[1]: Leaving directory '/root/alsa-utils/alsactl'
make: *** [Makefile:429: all-recursive] Error 1

alsactl alsa-lib errors

$ systemctl status alsa-restore.service
● alsa-restore.service - Save/Restore Sound Card State
Loaded: loaded (/usr/lib/systemd/system/alsa-restore.service; static)
Active: active (exited) since Thu 2021-09-09 19:26:44 CEST; 28min ago
Process: 264 ExecStart=/usr/bin/alsactl restore (code=exited, status=0/SUCCESS)
Main PID: 264 (code=exited, status=0/SUCCESS)
CPU: 13ms

Sep 09 19:26:45 r61i alsactl[264]: alsa-lib parser.c:242:(error_node) UCM is not supported for this HDA model (HDA Intel at 0xfe100000 irq 28)
Sep 09 19:26:45 r61i alsactl[264]: alsa-lib main.c:1405:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -6
Sep 09 19:26:44 r61i systemd[1]: Starting Save/Restore Sound Card State...
Sep 09 19:26:44 r61i systemd[1]: Finished Save/Restore Sound Card State.
$
alsa-info.txt

Translation for alsa-utils

I found the po folder but seems that there are not all the translations (I know there's a Spanish localization for example).

Is it enough to translate the po files and PR them? Or is there any other procedure?

Setting volume of headphones seems to apply to Speakers as well

When using amixer in the following way:

amixer -c 1 set Headphone 0% mute

I receive the following partial output from scontents:

Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 0 [0%] [-65.25dB] [off]
Front Right: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB] [on]
Front Right: Playback 87 [100%] [0.00dB] [on]

which looks good. However, it appears that the volume is applied across both the Headphone control and Speaker control (or maybe even just the Master volume) as there is no output from the speakers after this even though it would appear they should have full volume and are not muted.

I am using the Ubuntu Groovy Gorilla update, so Linux kernel 5.11. The default installation uses pulseaudio, but I've switched things to pipewire and both cause the same issue presumably because both use ALSA. I started here because amixer seems to at least allow me to identify the problem. When I change the Volume for the Headphones to 100% using the following:

amixer -c 1 set Headphone 100% mute

the audio from the speakers is then fine. amixer appears to be showing the correct information (as per above) according to the audio, but the Headphone volume seems to be applying to the Speakers as well. Maybe someone can point me in a direction that I can find a solution to this, as it would appear that anytime headphones are plugged in, removing the headphones causes the same situation: no sound. I suspect amixer is working fine, but wherever the volume from amixer is applied, it does not appear to be set appropriately.

axfr/tests fail on hppa and sparc

There is a Gentoo bug about this test failures: https://bugs.gentoo.org/681652

The log on hppa says this:

=================================================
   alsa-utils 1.1.9: axfer/test/test-suite.log
=================================================

# TOTAL: 2
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: container-test
====================

container-test: container-test.c:53: test_builder: Assertion `err == 0' failed.
FAIL container-test (exit status: 134)

FAIL: mapper-test
=================

Invalid argument
FAIL mapper-test (exit status: 1)

The errors are similar on sparc. Does that depend on specific kernel features to be enabled? Also note that both architectures are big endian, which may or may not be related.

Bus error with alsaloop

Behaviour

alsaloop crashes with a bus error (SIGBUS) immediately

pi@pi-snapserver:~ $ alsaloop -C hw:2,0 -P hw:3,0
Bus error

Analysis and debugging

Very verbose output:

pi@pi-snapserver:~ $ alsaloop -C hw:2,0 -P hw:3,0 -vvvvvvvvvvvvvvvvv
!!!Scheduler set to Round Robin with priority 99 FAILED!
playback hw:3,0: buffer_size=1920
playback hw:3,0: period_size=240
capture hw:2,0: buffer_size=1920
capture hw:2,0: period_size=240
playback hw:3,0: avail_min2=1560
capture hw:2,0: avail_min2=120
Hardware PCM card 3 'ICUSBAUDIO7D' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 1920
  period_size  : 240
  period_time  : 5000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 1560
  period_event : 0
  start_threshold  : 2147483647
  stop_threshold   : 1920
  silence_threshold: 0
  silence_size : 0
  boundary     : 2013265920
  appl_ptr     : 0
  hw_ptr       : 0
Hardware PCM card 2 'ICUSBAUDIO7D' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 1920
  period_size  : 240
  period_time  : 5000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 240
  period_event : 0
  start_threshold  : 2147483647
  stop_threshold   : 1920
  silence_threshold: 0
  silence_size : 0
  boundary     : 2013265920
  appl_ptr     : 0
  hw_ptr       : 0
Latency 480 frames, 10000.000us, 10.000000ms (100.0000Hz)
playback hw:3,0/capture hw:2,0 sync type: SAMPLERATE (SRC_SINC_FASTEST)
playback hw:3,0/capture hw:2,0: capt->buffer_size = 3840, play->buffer_size = 3840
playback hw:3,0/capture hw:2,0: Samplerate src_ratio update1: 1.00000000
New pitch for playback hw:3,0/capture hw:2,0: 1.00000000 (min/max samples = 0/0)
playback hw:3,0/capture hw:2,0: silence queued 480 samples
pool took 3074us
playback hw:3,0/capture hw:2,0: pollfds handle
playback hw:3,0: delay 480 / 3840 / 0
capture hw:2,0: delay 0 / 3840 / 0
playback hw:3,0/capture hw:2,0: prevents = 0x4, crevents = 0x0
playback hw:3,0/capture hw:2,0: queued 480/0 samples
playback hw:3,0: end delay 480 / 3840 / 0
capture hw:2,0: end delay 0 / 3840 / 0
playback hw:3,0/capture hw:2,0: processing time 59us
pool took 13us
[...]
playback hw:3,0/capture hw:2,0: pollfds handle
playback hw:3,0: delay 323 / 3840 / 0
capture hw:2,0: delay 0 / 3840 / 0
playback hw:3,0/capture hw:2,0: prevents = 0x4, crevents = 0x0
playback hw:3,0/capture hw:2,0: queued 323/0 samples
playback hw:3,0: end delay 323 / 3840 / 0
capture hw:2,0: end delay 0 / 3840 / 0
playback hw:3,0/capture hw:2,0: processing time 212us
pool took 5us
playback hw:3,0/capture hw:2,0: pollfds handle
playback hw:3,0: delay 323 / 3840 / 0
capture hw:2,0: delay 48 / 3840 / 0
playback hw:3,0/capture hw:2,0: prevents = 0x4, crevents = 0x0
Bus error

Debugging with backtrace (binary without dbg symbols):

[...]
Program received signal SIGBUS, Bus error.
0xb6dbd394 in src_short_to_float_array () from /lib/arm-linux-gnueabihf/libsamplerate.so.0
(gdb) bt
#0  0xb6dbd394 in src_short_to_float_array () from /lib/arm-linux-gnueabihf/libsamplerate.so.0
#1  0x00016a20 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

So the error seems to happen in libsamplerate.so

Switching the sync method to "SIMPLE" prevents the error from happening as alsaloop doesn't seem to make use of libsamplerate in this case.
The following modes run without failing but don't give the desired results:

pi@pi-snapserver:~ $ alsaloop -C hw:2,0 -P hw:3,0 -S 0  # SYNC_TYPE_NONE
pi@pi-snapserver:~ $ alsaloop -C hw:2,0 -P hw:3,0 -S 1  # SYNC_TYPE_SIMPLE
pi@pi-snapserver:~ $ alsaloop -C hw:2,0 -P hw:3,0 -S 2  # SYNC_TYPE_CAPTRATESHIFT
pi@pi-snapserver:~ $ alsaloop -C hw:2,0 -P hw:3,0 -S 3  # SYNC_TYPE_PLAYRATESHIFT

Only SYNC_TYPE_SAMPLERATE and SYNC_TYPE_AUTO (which selects SYNC_TYPE_SAMPLERATE) fail.

The modes SYNC_TYPE_NONE and SYNC_TYPE_SIMPLE don't crash for me, but they don't work and result in increasing latency until the fifos reset. (Which is another issue I guess)

QA issue with media-sound/alsa-utils-1.1.8 Gentoo package

Portage (the Gentoo package manager) reports the following QA issue with media-sound/alsa-utils-1.1.8:

 * QA Notice: Package triggers severe warnings which indicate that it
 *            may exhibit random runtime failures.
 * ../alsamixer/volume_mapping.c:116:15: warning: incompatible implicit declaration of built-in function ‘exp10’
 * ../alsamixer/volume_mapping.c:151:14: warning: incompatible implicit declaration of built-in function ‘exp10’

 * Please do not file a Gentoo bug and instead report the above QA
 * issues directly to the upstream developers of this software.
 * Homepage: https://alsa-project.org/

I'm using the sys-devel/gcc-8.3.0-r1 compiler.

info.txt
build.log

Miss mapping to unmute the middle speakers for Creative X-Fi with 20K1 chipset cards in analog-output.conf

Hi there. I want to report some bug, that is present from long time and i think that can be fixed now.
With any configuration that uses center/subwoofer, that center gets muted by default for Creative X-Fi with 20K1 chipset cards, but if you have other card, that will not happen, because of missing configuration for Center/Subwoofer in analog-output.conf.
The missing thing in analog-output.conf is:

[Element Center/LFE]
switch = mute
volume = merge
override-map.1 = center,lfe

You can see my issue and fix there:
ChimeraOS/chimeraos#131

when aplaymidi exits the sustained notes are played forever.

Transfered from here:
OpenTTD/OpenTTD#7637

Expected Result

All notes are stoped before exit aplaymidi

Actual Result

Notes are sustained forever and I have to press the panic button on Qsynth

Steps to Reproduce

  1. Open Qsynth with fluid-soundfonts
  2. do this: aplaymidi --port 128:0 file.mid
  3. do control+c to kill aplaymidi
  4. Qsynth plays a note forever.

Possible fix

Capture SIGINT and send midi off messages before exit properly.

1.1.8: compile warnings

It would be good to clean this :)

alsactl.c: In function 'main':
alsactl.c:345:3: warning: ignoring return value of 'daemon', declared with attribute warn_unused_result [-Wunused-result]
  345 |   daemon(0, 0);
      |   ^~~~~~~~~~~~
utils.c: In function 'initfailed':
utils.c:95:2: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
   95 |  write(fp, str, strlen(str));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
utils.c:96:2: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
   96 |  write(fp, ":", 1);
      |  ^~~~~~~~~~~~~~~~~
utils.c:97:2: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
   97 |  write(fp, reason, strlen(reason));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utils.c:98:2: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
   98 |  write(fp, ":", 1);
      |  ^~~~~~~~~~~~~~~~~
utils.c:99:2: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
   99 |  write(fp, sexitcode, strlen(sexitcode));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utils.c:100:2: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
  100 |  write(fp, "\n", 1);
      |  ^~~~~~~~~~~~~~~~~~
Note: Writing alsactl_init.7
mem.c: In function 'casprintf':
mem.c:63:6: warning: implicit declaration of function 'vasprintf'; did you mean 'casprintf'? [-Wimplicit-function-declaration]
   63 |  if (vasprintf(&str, fmt, ap) < 0)
      |      ^~~~~~~~~
      |      casprintf
utils.c:19: warning: "_XOPEN_SOURCE" redefined
   19 | #define _XOPEN_SOURCE
      | 
<command-line>: note: this is the location of the previous definition
volume_mapping.c: In function 'get_normalized_volume':
volume_mapping.c:116:15: warning: implicit declaration of function 'exp10' [-Wimplicit-function-declaration]
  116 |  normalized = exp10((value - max) / 6000.0);
      |               ^~~~~
volume_mapping.c:116:15: warning: incompatible implicit declaration of built-in function 'exp10'
volume_mapping.c: In function 'set_normalized_volume':
volume_mapping.c:151:14: warning: incompatible implicit declaration of built-in function 'exp10'
  151 |   min_norm = exp10((min - max) / 6000.0);
      |              ^~~~~
../alsamixer/volume_mapping.c: In function 'get_normalized_volume':
../alsamixer/volume_mapping.c:116:15: warning: implicit declaration of function 'exp10' [-Wimplicit-function-declaration]
  116 |  normalized = exp10((value - max) / 6000.0);
      |               ^~~~~
../alsamixer/volume_mapping.c:116:15: warning: incompatible implicit declaration of built-in function 'exp10'
../alsamixer/volume_mapping.c: In function 'set_normalized_volume':
../alsamixer/volume_mapping.c:151:14: warning: incompatible implicit declaration of built-in function 'exp10'
  151 |   min_norm = exp10((min - max) / 6000.0);
      |              ^~~~~
amidi.c: In function 'main':
amidi.c:692:5: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
  692 |     write(receive_file, buf, length);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alsaloop.c: In function 'parse_config':
alsaloop.c:398:6: warning: variable 'arg_effect' set but not used [-Wunused-but-set-variable]
  398 |  int arg_effect = 0;
      |      ^~~~~~~~~~
aseqnet.c: In function 'flush_writebuf':
aseqnet.c:495:5: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
  495 |     write(netfd[i], writebuf, cur_wrlen);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Feature request: volume parameter for aplay

I am currently in a situation where I'm trying to play a notification sound when a privacy friendly voice control system hears its wake word. Specifically, it's the Voco addon for the Mozilla WebThings Gateway, an open source smart home controller.

Up till now I used aplay for this. But I need/want to support a ReSpeaker USB microphone, and that device doesn't have a simple volume control. Unfortunately addons are not allowed to make changes to asound.conf (which could add softvol) or install something like Pulse audio to mitigate this situation, as those changes could affect other addons of the system.

My current solution has been to switch to a different available audio player, ffplay. It has a -volume parameter.

Having a -volume option actually works out quite nicely, as it allows sounds to be played at relative volume to each other. For example, I can play a music stream at 40% volume, while setting the audio feedback from the voice control to be louder so it can always be heard over the music.

The downside of ffplay is that it's slow to start up. It can take up to a second or two. Aplay's responses were pretty much instant, which I now realise was really valuable and important.

I'd prefer to switch back to aplay, but I'd need to somehow get aplay to output audio at a relative volume.

Is this possible somehow? And if not, would it be an idea to add this feature to aplay?

system stops working, depends on alsa-sink-ALC283

the system stops working, the disk is continues running... sometimes after 1-2 hours... the system comes back, full working after more than 8 hours...
what I was doing: it is always after looking some hours streaming movies with firefox

the alsa-info output is here:
http://alsa-project.org/db/?f=c02c95149f023eeb6db51e5c528d8890609f4ae8

the syslog shows this:

Jul  7 15:30:29 MyCompi pulseaudio[1892]: E: [alsa-sink-ALC283 Analog] alsa-util.c: snd_pcm_avail() gibt einen Wert zurück, welche außerordentlich groß ist: 4216608 bytes (21961 ms).
Jul  7 15:30:49 MyCompi pulseaudio[1892]: E: [alsa-sink-ALC283 Analog] alsa-util.c: Dies ist wahrscheinlich ein Fehler im ALSA-Treiber 'snd_hda_intel'. Bitte melden Sie diesen Punkt den ALSA-Entwicklern.
Jul  7 15:31:26 MyCompi pulseaudio[1892]: E: [alsa-sink-ALC283 Analog] alsa-util.c: snd_pcm_dump():

Typo in alsamixer(1) manpage

In the second paragraph of the "MIXER VIEWS" section, it says...

The currently selected item is drawn in red and/of emphasized.

...when it should say...

The currently selected item is drawn in red and/or emphasized.

[Feature request][alsactl] Allow -g/--ignore to be used with init command

It would be great if the -g/--ignore flag would have an effect on the init command as well, so that alsactl -g init does not print and exit with an error, if no sound cards have been found.

Since it can be checked for attached sound cards on Linux easily via /proc or sysfs, this is of minor importance, and probably there is a reason why it is as it is. In this case, probably the --help output could be extended by this info, which is currently only present in the man page. Reading the --help only, one (or at least me) would not guess that this flag is ignored by the init command.

aconnect doesn't connect by name if the device name starts with a number

Hello, i don't know if this is the right place, if it is not please tell me where to report the issue, but i had this problem:

i have this devices with aconnect -i :

client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 16: 'FCA610' [type=kernel,card=0]
0 'FCA610 MIDI 1 '
client 20: '12Step' [type=kernel,card=1]
0 '12Step MIDI 1 '
1 '12Step MIDI 2 '

the last one, 12Step, only connects if i use the 20:0 notation, 12Step:0 doesn't works, my error message is in portuguese, i get this:

if i do

aconnect 12Step:0 "Pure Data":0

i get

Conexão falhou (Argumento inválido)

(connection failed, (invalid argument) )

if i try aconnect 20:0 "Pure Data":0 it works

if i try "12Step", or '12Step', they doesn't work either

i'm on ubuntu 20.04.2

amixer: "5%-" or "5%+" doesn't work with cset

I want to raise and low volume with keys. This works, this rise the volume 20%:

amixer set Master 20%+

And every time I run this command, it rise 20% more. But, when I want to use the card (because I need to do this):

amixer -c 0 cset name='Master Playback Volume' 20%+

It doesn't work. It seems that amixer takes only "20%" value and doesn't care about "+" or "-".

I have Debian Buster, Mate desktop.

mario@debian:~/$ apt-cache showpkg alsa-tools
Package: alsa-tools
Versions: 
1.1.7-1 (/var/lib/apt/lists/ftp.us.debian.org_debian_dists_buster_main_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/ftp.us.debian.org_debian_dists_buster_main_binary-amd64_Packages
                  MD5: 4d64eace7e51fb1fc1a18ed780ee5e62
 Description Language: en
                 File: /var/lib/apt/lists/ftp.us.debian.org_debian_dists_buster_main_i18n_Translation-en
                  MD5: 4d64eace7e51fb1fc1a18ed780ee5e62


Reverse Depends: 
  ld10k1,alsa-tools
  multimedia-jack,alsa-tools
Dependencies: 
1.1.7-1 - libasound2 (2 1.0.16) libc6 (2 2.7) libgcc1 (2 1:3.0) libglib2.0-0 (2 2.12.0) libstdc++6 (2 5) as10k1 (0 (null)) as10k1 (0 (null)) 
Provides: 
1.1.7-1 - as10k1 (= ) 
Reverse Provides: 

Build failure without alsa-topology

Commit c8fdd38 breaks build of alsa-utils on buildroot because $(ALSA_TOPOLOGY_LIBS) is set to an empty value by https://github.com/alsa-project/alsa-lib/commits/master/utils/alsa.m4 if --enable-alsa-topology is not passed:

/home/br-user/autobuild/run/instance-0/output/host/bin/arm-linux-gnueabihf-gcc  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -O2     -o alsatplg topology.o  -lasound -lm -ldl -lpthread
topology.o: In function `main':
topology.c:(.text.startup+0x184): undefined reference to `snd_tplg_new'
topology.c:(.text.startup+0x194): undefined reference to `snd_tplg_verbose'
topology.c:(.text.startup+0x1a4): undefined reference to `snd_tplg_build_file'
topology.c:(.text.startup+0x1b4): undefined reference to `snd_tplg_free'
topology.c:(.text.startup+0x218): undefined reference to `snd_tplg_free'

More information can be found here: http://autobuild.buildroot.org/results/d0f/d0fb760669b02b813115af04adcf24530d35f4e1/build-end.log

1.1.8: test suite is failing

+ /usr/bin/make -O -j4 check
Making check in include
Making check in alsactl
Making check in init
make[2]: Nothing to be done for 'check'.
make[2]: Nothing to be done for 'check-am'.
Making check in utils
make[1]: Nothing to be done for 'check'.
Making check in m4
make[1]: Nothing to be done for 'check'.
Making check in po
make[1]: Nothing to be done for 'check'.
Making check in alsa-info
make[1]: Nothing to be done for 'check'.
Making check in alsamixer
make[1]: Nothing to be done for 'check'.
Making check in amixer
make[1]: Nothing to be done for 'check'.
Making check in amidi
make[1]: Nothing to be done for 'check'.
Making check in aplay
make[1]: Nothing to be done for 'check'.
Making check in iecset
make[1]: Nothing to be done for 'check'.
Making check in speaker-test
Making check in samples
make[2]: Nothing to be done for 'check'.
make[2]: Nothing to be done for 'check-am'.
Making check in axfer
Making check in test
/usr/bin/make  container-test mapper-test
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
gcc -DHAVE_CONFIG_H -I. -I../../include     -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Os -c -o container-au.o `test -f '../container-au.c' || echo './'`../container-au.c
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
gcc -DHAVE_CONFIG_H -I. -I../../include     -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Os -c -o container-riff-wave.o `test -f '../container-riff-wave.c' || echo './'`../container-riff-wave.c
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
gcc -DHAVE_CONFIG_H -I. -I../../include     -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Os -c -o generator.o generator.c
generator.c:9:10: fatal error: generator.h: No such file or directory
    9 | #include "generator.h"
      |          ^~~~~~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:640: generator.o] Error 1
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
make[3]: *** Waiting for unfinished jobs....
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
gcc -DHAVE_CONFIG_H -I. -I../../include     -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Os -c -o container.o `test -f '../container.c' || echo './'`../container.c
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
gcc -DHAVE_CONFIG_H -I. -I../../include     -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Os -c -o container-voc.o `test -f '../container-voc.c' || echo './'`../container-voc.c
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
gcc -DHAVE_CONFIG_H -I. -I../../include     -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto -Os -c -o container-raw.o `test -f '../container-raw.c' || echo './'`../container-raw.c
make[3]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.8/axfer/test'
make[2]: *** [Makefile:1017: check-am] Error 2
make[1]: *** [Makefile:650: check-recursive] Error 1
make: *** [Makefile:428: check-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.VI5lrR (%check)

alsactl do not save all the parameters

Hello everyone, my laptop need to mute the speaker for the full sound experience, when I configure alsamixer with all the levels and mute the speaker I execute "sudo alsactl store" but after rebooted all the levels and configuration are saved except for muting the speaker. I made some tests muting the master or the headphones and the executed "sudo alsactl store" and these are saved.

I have to manually in every boot mute the speaker, I 'm under arch linux, with others distros doesn't happen, can you give me a hand with this?, thank you
alsa-info.txt.

How to set channel balance in amixer?

When I change volumn using keyboard media keys, the left and right channel becomes imbalanced.
image
I currently have this mapping in i3, I would like to add command to balance the channels after I change the volumn.
bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer set Master '5%+,5%+'"

alsactl restore coredumps with version 1.2.5

This morning I received the alsa update to 1.2.5 on my arch system. Now during every boot alsactl restore crashes:

10# alsactl restore
alsactl: load_state:1635: Cannot open /var/lib/alsa/asound.state for reading: No such file or directory
alsa-lib ucm_subs.c:252:(rval_lookup_main) Lookups are supported in v4+ syntax
alsa-lib parser.c:242:(error_node) UCM is not supported for this HDA model (HDA ATI HDMI at 0xfcda0000 irq 191)
alsa-lib main.c:1402:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -6
Found hardware: "HDA-Intel" "ATI R6xx HDMI" "HDA:1002aa01,00aa0100,00100700" "0x1002" "0xab38"
Hardware is initialized using a generic method
alsa-lib ucm_subs.c:252:(rval_lookup_main) Lookups are supported in v4+ syntax
alsa-lib parser.c:242:(error_node) UCM is not supported for this HDA model (HD-Audio Generic at 0xfcc00000 irq 192)
alsa-lib main.c:1402:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -6
Found hardware: "HDA-Intel" "Realtek ALC1220" "HDA:10ec1220,1458a0c3,00100101" "0x1458" "0xa0c3"
Hardware is initialized using a generic method
[1]    9545 segmentation fault (core dumped)  alsactl restore

and

Jun 06 08:17:12 rakete systemd-coredump[9547]: [🡕] Process 9545 (alsactl) of user 0 dumped core.
                                               
                                               Stack trace of thread 9545:
                                               #0  0x00007ff3598f9557 snd_config_delete (libasound.so.2 + 0x31557)
                                               #1  0x000056483cd06038 n/a (alsactl + 0xc038)
                                               #2  0x000056483cd00706 n/a (alsactl + 0x6706)
                                               #3  0x00007ff359702b25 __libc_start_main (libc.so.6 + 0x27b25)
                                               #4  0x000056483cd00a5e n/a (alsactl + 0x6a5e)

Downgrading to alsa-utils 1.2.4-2 fixes it:

9# alsactl restore
alsactl: load_state:1683: Cannot open /var/lib/alsa/asound.state for reading: No such file or directory
alsa-lib ucm_subs.c:252:(rval_lookup_main) Lookups are supported in v4+ syntax
alsa-lib parser.c:242:(error_node) UCM is not supported for this HDA model (HDA ATI HDMI at 0xfcda0000 irq 191)
alsa-lib main.c:1402:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -6
Found hardware: "HDA-Intel" "ATI R6xx HDMI" "HDA:1002aa01,00aa0100,00100700" "0x1002" "0xab38"
Hardware is initialized using a generic method
alsa-lib ucm_subs.c:252:(rval_lookup_main) Lookups are supported in v4+ syntax
alsa-lib parser.c:242:(error_node) UCM is not supported for this HDA model (HD-Audio Generic at 0xfcc00000 irq 192)
alsa-lib main.c:1402:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -6
Found hardware: "HDA-Intel" "Realtek ALC1220" "HDA:10ec1220,1458a0c3,00100101" "0x1458" "0xa0c3"
Hardware is initialized using a generic method

aplay change to use 16-bit samples by default is not backwards compatible and is not documented

The change introduced in 0c5948e breaks a lot of scripts and other programs I have which invoke aplay and expect the default sample format to be U8. While I think it's somewhat reasonable to make this change given that U8 is a rather low quality sample format, it's worth acknowledging that aplay has had this behavior for a very long time and many people probably don't expect it to change.

Given that the commit log seems to only talk about the case of arecord, I wonder if we could reach a compromise and keep the format as U8 for aplay and switch it for arecord, since users are unlikely to complain about poor sound quality when playing raw audio (surely they would take the time to get the sample format set up correctly before attempting to play raw audio).

Also, the man page has not been updated to reflect this change and still says that U8 is the default.

man: alsaloop man page error

There is a small typo in the alsaloop man page:

.TP
\fI\-c <channels>\fP | \fI\-\-channels=<channels>\fP
Channel count specification. Default value is 2.
.TP
\fI\-c <rate>\fP | \fI\-\-rate=<rate>\fP
Rate specification. Default value is 48000 (Hz).
.TP

"-c" is used for both "channels" and "rate". Thankfully, the source thinks otherwise and "-r" is used for "rate".

Build fails with "undefined macro AM_GNU_GETTEXT"

./gitcompile fails with the following output:

configure.ac:10: warning: macro 'AM_GNU_GETTEXT' not found in library
configure.ac:11: warning: macro 'AM_GNU_GETTEXT_VERSION' not found in library
./gitcompile: line 10: gettextize: command not found
configure.ac:15: installing './compile'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
alsactl/Makefile.am: installing './depcomp'
axfer/test/Makefile.am:9: warning: source file '../container.c' is in a subdirectory,
axfer/test/Makefile.am:9: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled. For now, the corresponding output
automake: object file(s) will be placed in the top-level directory. However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
axfer/test/Makefile.am:9: warning: source file '../container-riff-wave.c' is in a subdirectory,
axfer/test/Makefile.am:9: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:9: warning: source file '../container-au.c' is in a subdirectory,
axfer/test/Makefile.am:9: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:9: warning: source file '../container-voc.c' is in a subdirectory,
axfer/test/Makefile.am:9: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:9: warning: source file '../container-raw.c' is in a subdirectory,
axfer/test/Makefile.am:9: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../container.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../container-riff-wave.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../container-au.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../container-voc.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../container-raw.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../mapper.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../mapper-single.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
axfer/test/Makefile.am:20: warning: source file '../mapper-multiple.c' is in a subdirectory,
axfer/test/Makefile.am:20: but option 'subdir-objects' is disabled
parallel-tests: installing './test-driver'
configure.ac:10: error: possibly undefined macro: AM_GNU_GETTEXT
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:11: error: possibly undefined macro: AM_GNU_GETTEXT_VERSION

CFLAGS=-O2 -Wall -pipe -g
./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
./configure: line 2937: syntax error near unexpected token external' ./configure: line 2937: AM_GNU_GETTEXT(external)'

System info:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Volume is not restored after boot

I have archlinux updated system last sunday.

$ uname -a
Linux mypc 5.6.3-arch1-1 #1 SMP PREEMPT Wed, 08 Apr 2020 07:47:16 +0000 x86_64 GNU/Linux

I checked with alsa-restore.service and alsa-state.service. None of them work as expected.

My sound card is:

# lshw -C sound
  *-multimedia              
       description: Audio device
       product: 82801H (ICH8 Family) HD Audio Controller
       vendor: Intel Corporation
       physical id: 1b
       bus info: pci@0000:00:1b.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:29 memory:ffaf8000-ffafbfff

Every time that my system boots the volume levels are different than last time a powered off.

Filtering/manipulating MIDI messages

Hi, I'm using aconnect to send MIDI data from one USB MIDI device to another.

I need to filter the messages, so that only one MIDI channel gets sent through, or ideally, send data that comes in on one channel from device A out to device B on a different MIDI channel.

Is there any way to do this just with the command line tools?

Can't aplay/arecord simultaneously inside and outside of linux container

Hi,
I run into a problem that can't aplay/arecord simultaneously inside and outside of linux container.

Steps to reproduce:

  1. go into container's shell and exec a record command.

~ # lxc-attach -n Default -P /tmp/run/lxc
/ # arecord -d 60 /tmp/test.wav &
/ # Recording WAVE '/tmp/test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
/ # ps
PID USER TIME COMMAND
1 root 0:00 /sbin/init
3 root 0:00 /bin/sh
1519 root 0:00 arecord -d 60 /tmp/test.wav
1520 root 0:00 /bin/ash
1521 root 0:00 ps

  1. exit and exec another record command outside of container

/ # exit
~ # arecord -d 60 /tmp/test.wav &
~ # ALSA lib pcm_dsnoop.c:641:(snd_pcm_dsnoop_open) unable to open slave
arecord: main:830: audio open error: Device or resource busy

[1]+ Done(1) arecord -d 60 /tmp/test.wav

  1. playback has same problem as below

ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: audio open error: Device or resource busy

Expect:
It should be allowed to play/record simultaneously inside and outside of linux container.

Here's my asound.conf:

~ # cat etc/asound.conf
pcm.asymed {
type asym
playback.pcm "dmix:0,0"
capture.pcm "dsnoop:0,0"
}

pcm.!default {
type plug
slave.pcm "asymed"
}

ctl.!default {
type hw
card 0
}

Is there anyone has experience of how to address it? Thank you.

1.1.9: test suite issue: axfer/test -> container-test loops forever

Looks like it is some issue with axfer/test -> container-test.
This test cannot finishe and looks like it is looping and cannot finish.
Just in case: nothing is written on stdout/stderr or container-test.log. axfer/test/hoge file is constantly written and deleted.

[tkloczko@domek test]$ strace -f /bin/sh ../../test-driver --test-name container-test --log-file container-test.log --trs-file container-test.trs --color-tests yes --enable-hard-errors yes --expect-failure no -- ./container-test
execve("/bin/sh", ["/bin/sh", "../../test-driver", "--test-name", "container-test", "--log-file", "container-test.log", "--trs-file", "container-test.trs", "--color-tests", "yes", "--enable-hard-errors", "yes", "--expect-failure", "no", "--", "./container-test"], 0x7fff8aab0350 /* 67 vars */) = 0
brk(NULL)                               = 0x559a60017000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffce069bb50) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=188179, ...}) = 0
mmap(NULL, 188179, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e422c000
close(3)                                = 0
openat(AT_FDCWD, "/lib64/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\363\0\0\0\0\0\0"..., 832) = 832
lseek(3, 169216, SEEK_SET)              = 169216
read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=285768, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd3e422a000
lseek(3, 169216, SEEK_SET)              = 169216
read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
mmap(NULL, 190848, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd3e41fb000
mmap(0x7fd3e4209000, 61440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7fd3e4209000
mmap(0x7fd3e4218000, 53248, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7fd3e4218000
mmap(0x7fd3e4225000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29000) = 0x7fd3e4225000
close(3)                                = 0
openat(AT_FDCWD, "/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=56640, ...}) = 0
mmap(NULL, 24688, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd3e41f4000
mmap(0x7fd3e41f6000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fd3e41f6000
mmap(0x7fd3e41f8000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fd3e41f8000
mmap(0x7fd3e41f9000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fd3e41f9000
mmap(0x7fd3e41fa000, 112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd3e41fa000
close(3)                                = 0
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200p\2\0\0\0\0\0"..., 832) = 832
lseek(3, 64, SEEK_SET)                  = 64
read(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784) = 784
lseek(3, 848, SEEK_SET)                 = 848
read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
lseek(3, 880, SEEK_SET)                 = 880
read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\0052`U\224\217\3<\204\4\231e\235\313\324 "..., 68) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=5577040, ...}) = 0
lseek(3, 64, SEEK_SET)                  = 64
read(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784) = 784
lseek(3, 848, SEEK_SET)                 = 848
read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
lseek(3, 880, SEEK_SET)                 = 880
read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\0052`U\224\217\3<\204\4\231e\235\313\324 "..., 68) = 68
mmap(NULL, 1852600, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd3e402f000
mprotect(0x7fd3e4054000, 1662976, PROT_NONE) = 0
mmap(0x7fd3e4054000, 1359872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fd3e4054000
mmap(0x7fd3e41a0000, 299008, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x171000) = 0x7fd3e41a0000
mmap(0x7fd3e41ea000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7fd3e41ea000
mmap(0x7fd3e41f0000, 13496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd3e41f0000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd3e402c000
arch_prctl(ARCH_SET_FS, 0x7fd3e402c740) = 0
mprotect(0x7fd3e41ea000, 12288, PROT_READ) = 0
mprotect(0x7fd3e41f9000, 4096, PROT_READ) = 0
mprotect(0x7fd3e4225000, 16384, PROT_READ) = 0
mprotect(0x559a5eca6000, 16384, PROT_READ) = 0
mprotect(0x7fd3e4284000, 4096, PROT_READ) = 0
munmap(0x7fd3e422c000, 188179)          = 0
openat(AT_FDCWD, "/dev/tty", O_RDWR|O_NONBLOCK) = 3
close(3)                                = 0
brk(NULL)                               = 0x559a60017000
brk(0x559a60038000)                     = 0x559a60038000
brk(NULL)                               = 0x559a60038000
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2997, ...}) = 0
read(3, "# Locale name alias data base.\n#"..., 4096) = 2997
read(3, "", 4096)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=373, ...}) = 0
mmap(NULL, 373, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e4283000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26998, ...}) = 0
mmap(NULL, 26998, PROT_READ, MAP_SHARED, 3, 0) = 0x7fd3e4253000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e4252000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
mmap(NULL, 56, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e4251000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=158, ...}) = 0
mmap(NULL, 158, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e4250000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_NAME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_NAME", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
mmap(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e424f000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_PAPER", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e424e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=30, ...}) = 0
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=57, ...}) = 0
mmap(NULL, 57, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e424d000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_MONETARY", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=290, ...}) = 0
mmap(NULL, 290, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e424c000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_COLLATE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_COLLATE", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2586930, ...}) = 0
mmap(NULL, 2586930, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e3db4000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_TIME", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=3332, ...}) = 0
mmap(NULL, 3332, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e424b000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e424a000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.utf8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=340008, ...}) = 0
mmap(NULL, 340008, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd3e3d60000
close(3)                                = 0
getuid()                                = 1000
getgid()                                = 1000
geteuid()                               = 1000
getegid()                               = 1000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
ioctl(-1, TIOCGPGRP, 0x7ffce069b9b4)    = -1 EBADF (Bad file descriptor)
sysinfo({uptime=447376, loads=[64256, 115168, 149856], totalram=8272330752, freeram=130670592, sharedram=986529792, bufferram=106496, totalswap=0, freeswap=0, procs=1208, totalhigh=0, freehigh=0, mem_unit=1}) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
uname({sysname="Linux", nodename="domek", ...}) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.9/axfer/test", {st_mode=S_IFDIR|0755, st_size=532, ...}) = 0
stat(".", {st_mode=S_IFDIR|0755, st_size=532, ...}) = 0
stat("/home", {st_mode=S_IFDIR|0755, st_size=16, ...}) = 0
stat("/home/tkloczko", {st_mode=S_IFDIR|0755, st_size=2148, ...}) = 0
stat("/home/tkloczko/rpmbuild", {st_mode=S_IFDIR|0755, st_size=1464, ...}) = 0
stat("/home/tkloczko/rpmbuild/BUILD", {st_mode=S_IFDIR|0755, st_size=2344, ...}) = 0
stat("/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.9", {st_mode=S_IFDIR|0755, st_size=966, ...}) = 0
stat("/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.9/axfer", {st_mode=S_IFDIR|0755, st_size=1634, ...}) = 0
stat("/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.9/axfer/test", {st_mode=S_IFDIR|0755, st_size=532, ...}) = 0
stat("/home/tkloczko/rpmbuild/BUILD/alsa-utils-1.1.9/axfer", {st_mode=S_IFDIR|0755, st_size=1634, ...}) = 0
getpid()                                = 24893
getppid()                               = 24890
getpid()                                = 24893
getpgrp()                               = 24890
ioctl(2, TIOCGPGRP, [24890])            = 0
rt_sigaction(SIGCHLD, {sa_handler=0x559a5ebecd60, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd3e4069f40}, 8) = 0
prlimit64(0, RLIMIT_NPROC, NULL, {rlim_cur=31438, rlim_max=31438}) = 0
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_PAPER", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_MONETARY", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_TIME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/locale/en_GB.UTF-8/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
openat(AT_FDCWD, "../../test-driver", O_RDONLY) = 3
stat("../../test-driver", {st_mode=S_IFREG|0755, st_size=4645, ...}) = 0
ioctl(3, TCGETS, 0x7ffce069b940)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "#!/usr/bin/sh\n# test-driver - ba"..., 80) = 80
lseek(3, 0, SEEK_SET)                   = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) = 0
fcntl(255, F_GETFD)                     = -1 EBADF (Bad file descriptor)
dup2(3, 255)                            = 255
close(3)                                = 0
fcntl(255, F_SETFD, FD_CLOEXEC)         = 0
fcntl(255, F_GETFL)                     = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(255, {st_mode=S_IFREG|0755, st_size=4645, ...}) = 0
lseek(255, 0, SEEK_CUR)                 = 0
read(255, "#!/usr/bin/sh\n# test-driver - ba"..., 4645) = 4645
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP], [], 8) = 0
rt_sigaction(SIGHUP, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -1344, SEEK_CUR)             = 3301
clone(strace: Process 24894 attached
child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd3e402ca10) = 24894
[pid 24894] getpid( <unfinished ...>
[pid 24893] rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
[pid 24894] <... getpid resumed>)       = 24894
[pid 24893] <... rt_sigprocmask resumed>NULL, 8) = 0
[pid 24894] close(255 <unfinished ...>
[pid 24893] rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
[pid 24894] <... close resumed>)        = 0
[pid 24893] <... rt_sigprocmask resumed>[], 8) = 0
[pid 24894] rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
[pid 24893] rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
[pid 24894] <... rt_sigprocmask resumed>NULL, 8) = 0
[pid 24893] <... rt_sigprocmask resumed>NULL, 8) = 0
[pid 24894] rt_sigaction(SIGTSTP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40},  <unfinished ...>
[pid 24893] rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
[pid 24894] <... rt_sigaction resumed>{sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24893] <... rt_sigprocmask resumed>[], 8) = 0
[pid 24894] rt_sigaction(SIGTTIN, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40},  <unfinished ...>
[pid 24893] rt_sigaction(SIGINT, {sa_handler=0x559a5ebe9810, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40},  <unfinished ...>
[pid 24894] <... rt_sigaction resumed>{sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24893] <... rt_sigaction resumed>{sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] rt_sigaction(SIGTTOU, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40},  <unfinished ...>
[pid 24893] wait4(-1,  <unfinished ...>
[pid 24894] <... rt_sigaction resumed>{sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] rt_sigaction(SIGPIPE, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, {sa_handler=0x559a5ec06c40, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd3e4069f40}, {sa_handler=0x559a5ebecd60, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fd3e4069f40}, 8) = 0
[pid 24894] openat(AT_FDCWD, "container-test.log", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
[pid 24894] dup2(3, 1)                  = 1
[pid 24894] close(3)                    = 0
[pid 24894] dup2(1, 2)                  = 2
[pid 24894] fcntl(1, F_GETFD)           = 0
[pid 24894] execve("./container-test", ["./container-test"], 0x559a60029510 /* 67 vars */) = 0
[pid 24894] brk(NULL)                   = 0x55711c860000
[pid 24894] arch_prctl(0x3001 /* ARCH_??? */, 0x7ffff5c380a0) = -1 EINVAL (Invalid argument)
[pid 24894] access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
[pid 24894] openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
[pid 24894] fstat(3, {st_mode=S_IFREG|0644, st_size=188179, ...}) = 0
[pid 24894] mmap(NULL, 188179, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f302eae3000
[pid 24894] close(3)                    = 0
[pid 24894] openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
[pid 24894] read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200p\2\0\0\0\0\0"..., 832) = 832
[pid 24894] lseek(3, 64, SEEK_SET)      = 64
[pid 24894] read(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784) = 784
[pid 24894] lseek(3, 848, SEEK_SET)     = 848
[pid 24894] read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
[pid 24894] lseek(3, 880, SEEK_SET)     = 880
[pid 24894] read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\0052`U\224\217\3<\204\4\231e\235\313\324 "..., 68) = 68
[pid 24894] fstat(3, {st_mode=S_IFREG|0755, st_size=5577040, ...}) = 0
[pid 24894] mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f302eae1000
[pid 24894] lseek(3, 64, SEEK_SET)      = 64
[pid 24894] read(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784) = 784
[pid 24894] lseek(3, 848, SEEK_SET)     = 848
[pid 24894] read(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
[pid 24894] lseek(3, 880, SEEK_SET)     = 880
[pid 24894] read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\0052`U\224\217\3<\204\4\231e\235\313\324 "..., 68) = 68
[pid 24894] mmap(NULL, 1852600, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f302e91c000
[pid 24894] mprotect(0x7f302e941000, 1662976, PROT_NONE) = 0
[pid 24894] mmap(0x7f302e941000, 1359872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f302e941000
[pid 24894] mmap(0x7f302ea8d000, 299008, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x171000) = 0x7f302ea8d000
[pid 24894] mmap(0x7f302ead7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f302ead7000
[pid 24894] mmap(0x7f302eadd000, 13496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f302eadd000
[pid 24894] close(3)                    = 0
[pid 24894] openat(AT_FDCWD, "/lib64/libasound.so.2", O_RDONLY|O_CLOEXEC) = 3
[pid 24894] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260'\3\0\0\0\0\0"..., 832) = 832
[pid 24894] fstat(3, {st_mode=S_IFREG|0755, st_size=1157768, ...}) = 0
[pid 24894] mmap(NULL, 955152, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f302e832000
[pid 24894] mmap(0x7f302e85f000, 552960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2d000) = 0x7f302e85f000
[pid 24894] mmap(0x7f302e8e6000, 184320, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb4000) = 0x7f302e8e6000
[pid 24894] mmap(0x7f302e913000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe0000) = 0x7f302e913000
[pid 24894] close(3)                    = 0
[pid 24894] openat(AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
[pid 24894] read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\363\0\0\0\0\0\0"..., 832) = 832
[pid 24894] fstat(3, {st_mode=S_IFREG|0755, st_size=3315312, ...}) = 0
[pid 24894] mmap(NULL, 1331216, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f302e6ec000
[pid 24894] mmap(0x7f302e6fb000, 638976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f302e6fb000
[pid 24894] mmap(0x7f302e797000, 626688, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xab000) = 0x7f302e797000
[pid 24894] mmap(0x7f302e830000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x143000) = 0x7f302e830000
[pid 24894] close(3)                    = 0
[pid 24894] openat(AT_FDCWD, "/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
[pid 24894] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\"\0\0\0\0\0\0"..., 832) = 832
[pid 24894] fstat(3, {st_mode=S_IFREG|0755, st_size=56640, ...}) = 0
[pid 24894] mmap(NULL, 24688, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f302e6e5000
[pid 24894] mmap(0x7f302e6e7000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f302e6e7000
[pid 24894] mmap(0x7f302e6e9000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f302e6e9000
[pid 24894] mmap(0x7f302e6ea000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f302e6ea000
[pid 24894] mmap(0x7f302e6eb000, 112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f302e6eb000
[pid 24894] close(3)                    = 0
[pid 24894] openat(AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
[pid 24894] read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\202\0\0\0\0\0\0"..., 832) = 832
[pid 24894] lseek(3, 824, SEEK_SET)     = 824
[pid 24894] read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0=K\6\363\272\306<\320\35\37vOsr\212\341"..., 68) = 68
[pid 24894] fstat(3, {st_mode=S_IFREG|0755, st_size=695360, ...}) = 0
[pid 24894] lseek(3, 824, SEEK_SET)     = 824
[pid 24894] read(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0=K\6\363\272\306<\320\35\37vOsr\212\341"..., 68) = 68
[pid 24894] mmap(NULL, 131552, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f302e6c4000
[pid 24894] mmap(0x7f302e6cb000, 61440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f302e6cb000
[pid 24894] mmap(0x7f302e6da000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f302e6da000
[pid 24894] mmap(0x7f302e6df000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7f302e6df000
[pid 24894] mmap(0x7f302e6e1000, 12768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f302e6e1000
[pid 24894] close(3)                    = 0
[pid 24894] mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f302e6c2000
[pid 24894] arch_prctl(ARCH_SET_FS, 0x7f302e6c32c0) = 0
[pid 24894] mprotect(0x7f302ead7000, 12288, PROT_READ) = 0
[pid 24894] mprotect(0x7f302e6df000, 4096, PROT_READ) = 0
[pid 24894] mprotect(0x7f302e6ea000, 4096, PROT_READ) = 0
[pid 24894] mprotect(0x7f302e830000, 4096, PROT_READ) = 0
[pid 24894] mprotect(0x7f302e913000, 32768, PROT_READ) = 0
[pid 24894] mprotect(0x55711c760000, 4096, PROT_READ) = 0
[pid 24894] mprotect(0x7f302eb3b000, 4096, PROT_READ) = 0
[pid 24894] munmap(0x7f302eae3000, 188179) = 0
[pid 24894] set_tid_address(0x7f302e6c3590) = 24894
[pid 24894] set_robust_list(0x7f302e6c35a0, 24) = 0
[pid 24894] rt_sigaction(SIGRTMIN, {sa_handler=0x7f302e6cbc50, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f302e6d7d40}, NULL, 8) = 0
[pid 24894] rt_sigaction(SIGRT_1, {sa_handler=0x7f302e6cbcf0, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f302e6d7d40}, NULL, 8) = 0
[pid 24894] rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
[pid 24894] prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
[pid 24894] openat(AT_FDCWD, "/dev/urandom", O_RDONLY) = 3
[pid 24894] brk(NULL)                   = 0x55711c860000
[pid 24894] brk(0x55711c881000)         = 0x55711c881000
[pid 24894] brk(NULL)                   = 0x55711c881000
[pid 24894] read(3, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 4500) = 4500
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0D\254\0\0D\254\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\0\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0D\254\0\0D\254\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\0\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\0\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0D\254\0\0D\254\0\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\0\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\200\273\0\0\200\273\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\0\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\200\273\0\0\200\273\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\0\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\0\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\200\273\0\0\200\273\0\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\0\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\210X\1\0\210X\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\0\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\210X\1\0\210X\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\0\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\0\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\210X\1\0\210X\1\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\0\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\0w\1\0\0w\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\0\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\0w\1\0\0w\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\0\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\0\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\0w\1\0\0w\1\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\0\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\20\261\2\0\20\261\2\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\0\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\20\261\2\0\20\261\2\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\0\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\0\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\20\261\2\0\20\261\2\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\0\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\0\356\2\0\0\356\2\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\0\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\0\356\2\0\0\356\2\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\0\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\0\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\0\356\2\0\0\356\2\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\0\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25", 23) = 23
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] unlink("hoge")              = -1 ENOENT (No such file or directory)
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0D\254\0\0D\254\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\4\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0D\254\0\0D\254\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\4\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\4\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0D\254\0\0D\254\0\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\4\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\200\273\0\0\200\273\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\4\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\200\273\0\0\200\273\0\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\4\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\4\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\200\273\0\0\200\273\0\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\4\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\210X\1\0\210X\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\4\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\210X\1\0\210X\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\4\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\4\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\210X\1\0\210X\1\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\4\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\0w\1\0\0w\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\4\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\0w\1\0\0w\1\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\4\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDONLY|O_NONBLOCK) = 4
[pid 24894] read(4, "RIFF", 4)          = 4
[pid 24894] read(4, "_\4\0\0", 4)       = 4
[pid 24894] read(4, "WAVE", 4)          = 4
[pid 24894] read(4, "fmt \20\0\0\0", 8) = 8
[pid 24894] read(4, "\1\0\1\0\0w\1\0\0w\1\0\1\0\10\0", 16) = 16
[pid 24894] read(4, "data\27\4\0\0", 8) = 8
[pid 24894] read(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] close(4)                    = 0
[pid 24894] unlink("hoge")              = 0
[pid 24894] openat(AT_FDCWD, "hoge", O_RDWR|O_CREAT|O_TRUNC|O_NONBLOCK, 0644) = 4
[pid 24894] write(4, "RIFF\377\377\377\377", 8) = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\20\261\2\0\20\261\2\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\333\377\377\377", 8) = 8
[pid 24894] write(4, "\346\317xj\341.\354\2\213C9\370\240\320\216\3340=\366\27#\257\25\246\334W\337\222RK\262\200"..., 1047) = 1047
[pid 24894] lseek(4, 0, SEEK_SET)       = 0
[pid 24894] write(4, "RIFF_\4\0\0", 8)  = 8
[pid 24894] write(4, "WAVE", 4)         = 4
[pid 24894] write(4, "fmt \20\0\0\0\1\0\1\0\20\261\2\0\20\261\2\0\1\0\10\0", 24) = 24
[pid 24894] write(4, "data\27\4\0\0", 8) = 8
[pid 24894] fsync(4)                    = 0
[pid 24894] close(4)                    = 0

Bad vumeter data in aplay/arecord

In aplay.c the wrong count is passed to compute_max_peak(). Instead of "r * hwparams.channels" it should be "r * bits_per_frame / 8".

Also, the vumeter should really show an overall peak level percentage because the transitory 1/8 second one has very little value.

aplay: playing mono audio file alteres pulseaudio default Master left or right volume level

I am encountering an unexpected behaviour with pulse audio master volume in my application.

Description

If I set for example left channel to 100% and right channel 0%, and play mono audio file (i.e. audio file with 1 channel only), then I would expect to hear only the audio file on left channel.

The actual behaviour in the example of above is when playing the audio file, the Master volume right channel will be automatically adjusted to 50%. If play again it increases to 75% and so on.

This issue happens also with other R/L volume level, the case of above is just an example.

Important to note the case does not happen with stereo audio file where audio sounds on left only channel as we can expected.

Steps to repeat issue:

(a) Set mixer Lch to 100%, Rch to 0%

$ amixer -D default sset Master 65535,0
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 65535 [100%] [on]
  Front Right: Playback 0 [0%] [on]

(b) Play mono audio file

$ aplay -D default ringtone.wav
Playing WAVE 'ringtone.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

Request

(1) Is it by design expected ?
(2) Is there a way to prevent this phenomenon (command option) ?

Alsa Utils + Lib 1.2.2-1ubuntu2, 1.2.2-2.1ubuntu2.1 breaks sound on HP Envy x360 (Mint 20)

After update, sound no longer works and does not pick up my sound card.

Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
	Subsystem: Hewlett-Packard Company Family 17h (Models 10h-1fh) HD Audio 
Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

It now shows as a Dummy Device, under the upgrade so I have abstained from doing so.

Out of bounds array reference aplay.c playbackv_go function

I was looking through the aplay source file and came across an out of bounds reference. The reason I was looking through the code is that I am using an i2s amp and there is this code:
/usr/bin/aplay -D default -t raw -r 44100 -c 2 -f S16_LE /dev/zero /dev/zero
The reason for it is:

We've added an extra helper systemd script that will play quiet audio when the I2S peripheral isn't in use. This removes popping when playback starts or stops. It uses a tiny amount of CPU time (on a Pi Zero, 5%, on a Pi 2 or 3 its negligible).

I thought there must be a way to just open the device and not have to use any CPU time actually playing nothing.
If anyone knows if this is possible then let me know. Thanks.

Any way back to the out of bounds.

In the function playbackv_go function of aplay.c there is a call to perror(names[channel]). However, instead of channel being equal to zero it is equal to channels which is 1 + the number of names being passed to the function.

while (count > 0 && !in_aborting) {
size_t c = 0;
size_t expected = count / channels;
if (expected > vsize)
expected = vsize;
do {
channel = 0; // Code to fix out of bound
r = safe_read(fds[0], bufs[0], expected);
if (r < 0) {
perror(names[channel]); // Out of bounds reference
prg_exit(EXIT_FAILURE);
}
for (channel = 1; channel < channels; ++channel) {
if (safe_read(fds[channel], bufs[channel], r) != r) {
perror(names[channel]);
prg_exit(EXIT_FAILURE);
}
}
if (r == 0)
break;
c += r;
} while (c < expected);

amixer not setting Master volume at a given percentage value (check with 85% to 90%)

I am using Ubuntu 18.04 (alsa-utils/amixer version 1.1.3) and trying to set volume using amixer command but amixer not setting Master volume at the given percentage value.

$ amixer -M -c PCH sset Master 85%
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 81 [83%] [-4.50dB] [on]

$ amixer -M -c PCH sset Master 86%
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 82 [85%] [-3.75dB] [on]

$ amixer -M -c PCH sset Master 87%
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 82 [85%] [-3.75dB] [on]

$ amixer -M -c PCH sset Master 88%
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 82 [85%] [-3.75dB] [on]

$ amixer -M -c PCH sset Master 89%
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 83 [88%] [-3.00dB] [on]

$ amixer -M -c PCH sset Master 90%
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 83 [88%] [-3.00dB] [on]

axfer: FTBFS of axfer with glibc-2.11 or before due to missing definition of POLLRDNORM

Reported by Jay Foster in alsa-devel list.
http://mailman.alsa-project.org/pipermail/alsa-devel/2019-January/144024.html

The v1.1.8 release brings FTBFS of axfer in his legacy toolchain (glibc v2.9)
for arm platform, due to missing definition POLLRDNORM and the others, used in
axfer/waiter-select.c. An option of -D_GNU_SOURCE for CFLAGS can suppress
the issue. With glibc v2.22, no issues.

During development period of axfer, this issue has never been got. More recent
version of glibc (v2.28) was used and the macro is available without any explicit
options.

Error compiling alsatplg

With latest alsa-lib and alsa-utils sources I cannot compile alsatplg utility.

Steps followed:

Compile alsa-lib

  1. ./gitcompile --prefix=$HOME/work/sof_dir/alsa-lib-bins/
  2. make install #custom instalation to be later used by alsa-utils.

Compile alsa-utils

  1. /gitcompile --with-alsa-inc-prefix=$HOME/work/sof_dir/alsa-lib-bins/include/ --with-alsa-prefix=$HOME/work/sof_dir/alsa-lib-bins/lib
  2. I get the following errors:
-ldl -lpthread
topology.o: In function `load_topology':
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:135: undefined reference to `snd_tplg_create'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:141: undefined reference to `snd_tplg_load'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:145: undefined reference to `snd_tplg_free'
topology.o: In function `version':
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:63: undefined reference to `snd_tplg_version'
topology.o: In function `dump':
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:218: undefined reference to `snd_tplg_save'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:219: undefined reference to `snd_tplg_free'
topology.o: In function `compile':
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:245: undefined reference to `snd_tplg_build_bin'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:246: undefined reference to `snd_tplg_free'
topology.o: In function `decode':
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:268: undefined reference to `snd_tplg_create'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:273: undefined reference to `snd_tplg_decode'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:281: undefined reference to `snd_tplg_save'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:282: undefined reference to `snd_tplg_free'
/home/nxf25322/work/sof_dir/alsa-utils/topology/topology.c:276: undefined reference to `snd_tplg_free'
collect2: error: ld returned 1 exit status
Makefile:433: recipe for target 'alsatplg' failed

Similar with #33

Segmentation fault when using alsamixer to display a sof-soundwire card

The builtin soundcard on my XPS 9700 recently stopped working. I tried to use alsamixer to see what's going on, and it gives me a segmentation fault.

The program works segfaults as soon as I choose sof-soundwire as the sound card by pressing F6. But as long as I don't choose that, it works fine with other cards.

There's the backtrace:

(gdb) bt
#0  0x00007ffff7c32a12 in __strcmp_avx2 () from /usr/lib/libc.so.6
#1  0x00007ffff7e534c6 in snd_mixer_get_hctl (mixer=0x555555569410, name=0x55555556c770 "sysdefault:0", hctl=hctl@entry=0x7fffffffdee0) at mixer.c:302
#2  0x000055555555c925 in display_card_info () at mixer_display.c:162
#3  0x000055555555edab in select_card_by_name (device_name=<optimized out>) at mixer_widget.c:182
#4  0x0000555555558875 in on_key_enter () at card_select.c:55
#5  on_handle_key (key=<optimized out>) at card_select.c:67
#6  0x000055555555a8d3 in mainloop () at mainloop.c:126
#7  0x00005555555582c6 in main (argc=1, argv=0x7fffffffe0d8) at cli.c:166
(gdb) f 1
#1  0x00007ffff7e534c6 in snd_mixer_get_hctl (mixer=0x555555569410, name=0x55555556c770 "sysdefault:0", hctl=hctl@entry=0x7fffffffdee0) at mixer.c:302
302                     if (strcmp(name, snd_hctl_name(s->hctl)) == 0) {
(gdb) p s->hctl->ctl->name
$8 = 0x0
(gdb)
My hardware info
upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.5.0
!!################################

!!Script ran on: Sat Jun 26 19:22:28 UTC 2021


!!Linux Distribution
!!------------------

Arch Linux \r (\l) DISTRIB_ID=Arch DISTRIB_DESCRIPTION="Arch Linux" NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://bugs.archlinux.org/" LOGO=archlinux


!!DMI Information
!!---------------

Manufacturer:      Dell Inc.
Product Name:      XPS 17 9700
Product Version:   
Firmware Version:  1.8.2
System SKU:        098F
Board Vendor:      Dell Inc.
Board Name:        05JJ5P


!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/ACPI0003:00/status 	 15
/sys/bus/acpi/devices/ACPI000C:00/status 	 15
/sys/bus/acpi/devices/ACPI000E:00/status 	 15
/sys/bus/acpi/devices/DELL098F:00/status 	 15
/sys/bus/acpi/devices/DLLK098F:00/status 	 15
/sys/bus/acpi/devices/ELAN2097:00/status 	 15
/sys/bus/acpi/devices/ELAN2097:01/status 	 15
/sys/bus/acpi/devices/INT33A1:00/status 	 15
/sys/bus/acpi/devices/INT33D5:00/status 	 15
/sys/bus/acpi/devices/INT3400:00/status 	 15
/sys/bus/acpi/devices/INT3403:00/status 	 15
/sys/bus/acpi/devices/INT3403:01/status 	 15
/sys/bus/acpi/devices/INT3403:02/status 	 15
/sys/bus/acpi/devices/INT3403:03/status 	 15
/sys/bus/acpi/devices/INT3403:04/status 	 15
/sys/bus/acpi/devices/INT3403:05/status 	 15
/sys/bus/acpi/devices/INT340E:00/status 	 15
/sys/bus/acpi/devices/INT3450:00/status 	 15
/sys/bus/acpi/devices/INT3F0D:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXPOWER:01/status 	 15
/sys/bus/acpi/devices/LNXPOWER:02/status 	 1
/sys/bus/acpi/devices/LNXPOWER:03/status 	 1
/sys/bus/acpi/devices/LNXPOWER:04/status 	 1
/sys/bus/acpi/devices/LNXPOWER:05/status 	 1
/sys/bus/acpi/devices/LNXPOWER:06/status 	 1
/sys/bus/acpi/devices/LNXPOWER:07/status 	 1
/sys/bus/acpi/devices/LNXVIDEO:00/status 	 15
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:00/status 	 3
/sys/bus/acpi/devices/PNP0C02:04/status 	 3
/sys/bus/acpi/devices/PNP0C04:00/status 	 31
/sys/bus/acpi/devices/PNP0C09:00/status 	 15
/sys/bus/acpi/devices/PNP0C0A:00/status 	 31
/sys/bus/acpi/devices/PRP00001:00/status 	 11
/sys/bus/acpi/devices/STM0125:00/status 	 15
/sys/bus/acpi/devices/USBC000:00/status 	 15
/sys/bus/acpi/devices/device:16/status 	 15
/sys/bus/acpi/devices/device:84/status 	 15


!!Kernel Information
!!------------------

Kernel release:    5.12.12-arch1-1
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k5.12.12-arch1-1
Library version:    1.2.5.1
Utilities version:  1.2.5.1


!!Loaded ALSA modules
!!-------------------

snd_soc_sof_sdw (card 0)
snd_usb_audio (card 1)
snd_usb_audio (card 2)


!!Sound Servers on this system
!!----------------------------

PipeWire:
      Installed - Yes (/usr/bin/pipewire)
      Running - Yes

Jack:
      Installed - Yes (/usr/bin/jackd)
      Running - No

Jack2:
      Installed - Yes (/usr/bin/jackdbus)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [sofsoundwire   ]: sof-soundwire - sof-soundwire
                      Intel Soundwire SOF
 1 [USB            ]: USB-Audio - Razer Kraken X USB
                      Razer Razer Kraken X USB at usb-0000:3d:00.0-1.1, full speed
 2 [Dock           ]: USB-Audio - WD19 Dock
                      Dell-WD15-Dock


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Comet Lake PCH cAVS [8086:06c8]
	Subsystem: Dell Device [1028:098f]


!!Loaded sound module options
!!---------------------------

!!Module: snd_soc_sof_sdw
	quirk : -1

!!Module: snd_usb_audio
	autoclock : Y
	delayed_register : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	device_setup : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	ignore_ctl_error : N
	implicit_fb : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	pid : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	quirk_alias : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	skip_validation : N
	use_vmalloc : Y
	vid : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1

!!Module: snd_usb_audio
	autoclock : Y
	delayed_register : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	device_setup : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	ignore_ctl_error : N
	implicit_fb : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	pid : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	quirk_alias : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	skip_validation : N
	use_vmalloc : Y
	vid : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1


!!Sysfs card info
!!---------------

!!Card: /sys/class/sound/card0
Driver: /sys/bus/platform/drivers/sof_sdw
Tree:

!!Card: /sys/class/sound/card1
Driver: /sys/bus/usb/drivers/snd-usb-audio
Tree:

!!Card: /sys/class/sound/card2
Driver: /sys/bus/usb/drivers/snd-usb-audio
Tree:


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Intel Kabylake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x8086280b
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=1, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 3
     Dev 00: PD = 0, ELDV = 0, IA = 0, Connections [ 0x02* 0x03 0x04 ]
    *Dev 01: PD = 1, ELDV = 1, IA = 0, Connections [ 0x02* 0x03 0x04 ]
     Dev 02: PD = 0, ELDV = 0, IA = 0, Connections [ 0x02* 0x03 0x04 ]
  Connection: 3
     0x02* 0x03 0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!USB Descriptors
!!---------------
--startcollapse--

Bus 005 Device 004: ID 1532:0526 Razer USA, Ltd Razer Kraken X USB
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1532 Razer USA, Ltd
  idProduct          0x0526 
  bcdDevice            0.34
  iManufacturer           1 Razer
  iProduct                2 Razer Kraken X USB
  iSerial                 3 00000000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00fa
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength       0x004f
        bInCollection           2
        baInterfaceNr(0)        1
        baInterfaceNr(1)        2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               1
        bControlSize            1
        bmaControls(0)       0x42
          Volume Control
          Automatic Gain Control
        bmaControls(1)       0x00
        bmaControls(2)       0x00
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      5 (SELECTOR_UNIT)
        bUnitID                15
        bNrInPins               1
        baSourceID(0)           2
        iSelector               0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID              15
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             4
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 5
        bSourceID               4
        bControlSize            1
        bmaControls(0)       0x01
          Mute Control
        bmaControls(1)       0x02
          Volume Control
        bmaControls(2)       0x02
          Volume Control
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             6
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID               5
        iTerminal               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           3
        bDelay                  1 frames
        wFormatTag         0x0001 PCM
      AudioStreaming Interface Descriptor:
        bLength                20
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            4 Discrete
        tSamFreq[ 0]        24000
        tSamFreq[ 1]        32000
        tSamFreq[ 2]        44100
        tSamFreq[ 3]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x00c8  1x 200 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioStreaming Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay         0x0000
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           4
        bDelay                  3 frames
        wFormatTag         0x0001 PCM
      AudioStreaming Interface Descriptor:
        bLength                26
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            6 Discrete
        tSamFreq[ 0]         8000
        tSamFreq[ 1]        16000
        tSamFreq[ 2]        24000
        tSamFreq[ 3]        32000
        tSamFreq[ 4]        44100
        tSamFreq[ 5]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x00c0  1x 192 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioStreaming Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         1 Milliseconds
          wLockDelay         0x0004
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     109
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0025  1x 37 bytes
        bInterval               1

Bus 005 Device 008: ID 0bda:402e Realtek Semiconductor Corp. USB Audio
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x402e 
  bcdDevice            0.01
  iManufacturer           3 Generic
  iProduct                1 USB Audio
  iSerial                 2 200901010001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0137
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          4 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              6 
      AudioControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength       0x0080
        bInCollection           3
        baInterfaceNr(0)        1
        baInterfaceNr(1)        2
        baInterfaceNr(2)        3
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 3
        bSourceID               1
        bControlSize            2
        bmaControls(0)     0x0201
          Mute Control
          Loudness Control
        bmaControls(1)     0x0002
          Volume Control
        bmaControls(2)     0x0002
          Volume Control
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          1
        bSourceID               4
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                15
        bDescriptorType        36
        bDescriptorSubtype      8 (EXTENSION_UNIT)
        bUnitID                 4
        wExtensionCode     0x0bda
        bNrInPins               1
        baSourceID(0)           3
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        bControlSize            1
        bmControls(0)        0x01
        iExtension              0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID            14
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        iTerminal              18 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            15
        wTerminalType      0x0302 Headphones
        bAssocTerminal         14
        bSourceID              16
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                16
        bSourceID              14
        bControlSize            2
        bmaControls(0)     0x0001
          Mute Control
        bmaControls(1)     0x0002
          Volume Control
        bmaControls(2)     0x0002
          Volume Control
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID            17
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        iTerminal              19 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            18
        wTerminalType      0x0603 Line Connector
        bAssocTerminal         17
        bSourceID              19
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                19
        bSourceID              17
        bControlSize            2
        bmaControls(0)     0x0001
          Mute Control
        bmaControls(1)     0x0002
          Volume Control
        bmaControls(2)     0x0002
          Volume Control
        iFeature                0 
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               8
        bRefresh                0
        bSynchAddress           0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           2
        bDelay                  1 frames
        wFormatTag         0x0001 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           3
        bBitResolution         24
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0150  1x 336 bytes
        bInterval               4
        bRefresh                0
        bSynchAddress           0
        AudioStreaming Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay         0x0000
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink          14
        bDelay                  1 frames
        wFormatTag         0x0001 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           3
        bBitResolution         24
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x07  EP 7 OUT
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x0150  1x 336 bytes
        bInterval               4
        bRefresh                0
        bSynchAddress           0
        AudioStreaming Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay         0x0000
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink          17
        bDelay                  1 frames
        wFormatTag         0x0001 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           3
        bBitResolution         24
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x0150  1x 336 bytes
        bInterval               4
        bRefresh                0
        bSynchAddress           0
        AudioStreaming Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay         0x0000
--endcollapse--


!!USB Stream information
!!----------------------
--startcollapse--

Razer Razer Kraken X USB at usb-0000:3d:00.0-1.1, full speed : USB Audio

Playback:
  Status: Running
    Interface = 2
    Altset = 1
    Packet Size = 192
    Momentary freq = 48000 Hz (0x30.0000)
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (ADAPTIVE)
    Rates: 8000, 16000, 24000, 32000, 44100, 48000
    Bits: 16
    Channel map: FL FR

Capture:
  Status: Running
    Interface = 1
    Altset = 1
    Packet Size = 200
    Momentary freq = 48000 Hz (0x30.0000)
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 0x81 (1 IN) (ASYNC)
    Rates: 24000, 32000, 44100, 48000
    Bits: 16
    Channel map: FL FR
Dell-WD15-Dock : USB Audio

Playback:
  Status: Stop
  Interface 2
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x07 (7 OUT) (ADAPTIVE)
    Rates: 48000
    Data packet interval: 1000 us
    Bits: 24
    Channel map: FL FR

Capture:
  Status: Stop
  Interface 1
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x81 (1 IN) (ASYNC)
    Rates: 48000
    Data packet interval: 1000 us
    Bits: 24
    Channel map: FL FR
Dell-WD15-Dock : USB Audio #1

Playback:
  Status: Stop
  Interface 3
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x08 (8 OUT) (ADAPTIVE)
    Rates: 48000
    Data packet interval: 1000 us
    Bits: 24
    Channel map: FL FR
--endcollapse--


!!USB Mixer information
!!---------------------
--startcollapse--

USB Mixer: usb_id=0x15320526, ctrlif=0, ctlerr=0
Card: Razer Razer Kraken X USB at usb-0000:3d:00.0-1.1, full speed
  Unit: 2
    Control: name="Auto Gain Control", index=0
    Info: id=2, control=7, cmask=0x0, channels=1, type="BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 2
    Control: name="Mic Capture Volume", index=0
    Info: id=2, control=2, cmask=0x0, channels=1, type="S16"
    Volume: min=-7680, max=1280, dBmin=-3000, dBmax=500
  Unit: 5
    Control: name="PCM Playback Volume", index=0
    Info: id=5, control=2, cmask=0x3, channels=2, type="S16"
    Volume: min=-16384, max=0, dBmin=-6400, dBmax=0
  Unit: 5
    Control: name="PCM Playback Switch", index=0
    Info: id=5, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
USB Mixer: usb_id=0x0bda402e, ctrlif=0, ctlerr=0
Card: Dell-WD15-Dock
  Unit: 3
    Control: name="Loudness", index=0
    Info: id=3, control=10, cmask=0x0, channels=1, type="BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 3
    Control: name="Mic Capture Volume", index=0
    Info: id=3, control=2, cmask=0x3, channels=2, type="S16"
    Volume: min=-8576, max=7680, dBmin=-3350, dBmax=3000
  Unit: 3
    Control: name="Mic Capture Switch", index=0
    Info: id=3, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 4
    Control: name="Extension Unit Switch", index=0
    Info: id=4, control=1, cmask=0x0, channels=1, type="BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 16
    Control: name="Headphone Playback Volume", index=0
    Info: id=16, control=2, cmask=0x3, channels=2, type="S16"
    Volume: min=-16256, max=0, dBmin=-6350, dBmax=0
  Unit: 16
    Control: name="Headphone Playback Switch", index=0
    Info: id=16, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 19
    Control: name="Line Playback Volume", index=0
    Info: id=19, control=2, cmask=0x3, channels=2, type="S16"
    Volume: min=-16256, max=0, dBmin=-6350, dBmax=0
  Unit: 19
    Control: name="Line Playback Switch", index=0
    Info: id=19, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116, 10 Jun 25 18:25 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 13 Jun 25 18:25 /dev/snd/controlC1
crw-rw----+ 1 root audio 116, 17 Jun 25 18:25 /dev/snd/controlC2
crw-rw----+ 1 root audio 116,  9 Jun 25 18:25 /dev/snd/hwC0D2
crw-rw----+ 1 root audio 116,  2 Jun 25 18:25 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  3 Jun 25 18:25 /dev/snd/pcmC0D1c
crw-rw----+ 1 root audio 116,  4 Jun 25 18:25 /dev/snd/pcmC0D2p
crw-rw----+ 1 root audio 116,  5 Jun 25 18:25 /dev/snd/pcmC0D4c
crw-rw----+ 1 root audio 116,  6 Jun 25 18:25 /dev/snd/pcmC0D5p
crw-rw----+ 1 root audio 116,  7 Jun 25 18:25 /dev/snd/pcmC0D6p
crw-rw----+ 1 root audio 116,  8 Jun 26 14:59 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116, 12 Jun 25 18:25 /dev/snd/pcmC1D0c
crw-rw----+ 1 root audio 116, 11 Jun 25 18:25 /dev/snd/pcmC1D0p
crw-rw----+ 1 root audio 116, 15 Jun 26 14:59 /dev/snd/pcmC2D0c
crw-rw----+ 1 root audio 116, 14 Jun 26 14:59 /dev/snd/pcmC2D0p
crw-rw----+ 1 root audio 116, 16 Jun 26 14:59 /dev/snd/pcmC2D1p
crw-rw----+ 1 root audio 116,  1 Jun 25 18:25 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Jun 25 18:24 /dev/snd/timer

/dev/snd/by-id:
total 0
drwxr-xr-x 2 root root  80 Jun 25 18:25 .
drwxr-xr-x 4 root root 440 Jun 25 18:25 ..
lrwxrwxrwx 1 root root  12 Jun 25 18:25 usb-Generic_USB_Audio_200901010001-00 -> ../controlC2
lrwxrwxrwx 1 root root  12 Jun 25 18:25 usb-Razer_Razer_Kraken_X_USB_00000000-00 -> ../controlC1

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root 100 Jun 25 18:25 .
drwxr-xr-x 4 root root 440 Jun 25 18:25 ..
lrwxrwxrwx 1 root root  12 Jun 25 18:25 pci-0000:00:1f.3-platform-sof_sdw -> ../controlC0
lrwxrwxrwx 1 root root  12 Jun 25 18:25 pci-0000:3d:00.0-usb-0:1.1:1.0 -> ../controlC1
lrwxrwxrwx 1 root root  12 Jun 25 18:25 pci-0000:3d:00.0-usb-0:2.3.4:1.0 -> ../controlC2


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 0: Jack Out (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 2: Speaker (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 5: HDMI 1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 6: HDMI 2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 7: HDMI 3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USB [Razer Kraken X USB], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Dock [WD19 Dock], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Dock [WD19 Dock], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 1: Jack In (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 4: Microphone (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USB [Razer Kraken X USB], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Dock [WD19 Dock], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card sofsoundwire

Card sysdefault:0 'sofsoundwire'/'Intel Soundwire SOF'
  Mixer name	: 'Intel Kabylake HDMI'
  Components	: 'HDA:8086280b,80860101,00100000 cfg-spk:4 cfg-amp:2 hs:rt711 spk:rt1308 mic:rt715'
  Controls      : 73
  Simple ctrls  : 43
Simple mixer control 'Headphone',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Speaker',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Headset Mic',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'PGA1.0 1 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA2.0 2 Master',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 50 [62%] [0.00dB] [on]
  Front Right: Capture 50 [62%] [0.00dB] [on]
Simple mixer control 'PGA3.1 3 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA5.0 5 Master',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 50 [62%] [0.00dB] [on]
  Front Right: Capture 50 [62%] [0.00dB] [on]
Simple mixer control 'PGA6.0 6 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA7.0 7 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA8.0 8 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'rt1308-1 DAC L',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'rt1308-1 DAC R',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'rt1308-1 RX Channel Select',0
  Capabilities: enum
  Items: 'LR' 'LL' 'RL' 'RR'
  Item0: 'LL'
Simple mixer control 'rt1308-2 DAC L',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'rt1308-2 DAC R',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'rt1308-2 RX Channel Select',0
  Capabilities: enum
  Items: 'LR' 'LL' 'RL' 'RR'
  Item0: 'RR'
Simple mixer control 'rt711 ADC 08',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'rt711 ADC 09',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 23 [37%] [0.00dB] [off]
  Front Right: Capture 23 [37%] [0.00dB] [off]
Simple mixer control 'rt711 ADC 22 Mux',0
  Capabilities: enum
  Items: 'MIC2' 'LINE1' 'LINE2' 'DMIC'
  Item0: 'MIC2'
Simple mixer control 'rt711 ADC 23 Mux',0
  Capabilities: enum
  Items: 'MIC2' 'LINE1' 'LINE2' 'DMIC'
  Item0: 'MIC2'
Simple mixer control 'rt711 AMIC',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 1 [33%] [10.00dB]
  Front Right: 1 [33%] [10.00dB]
Simple mixer control 'rt711 DAC Surr',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB]
  Front Right: Playback 87 [100%] [0.00dB]
Simple mixer control 'rt711 DMIC1',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'rt711 DMIC2',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'rt715 ADC 07',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 0 [0%] [-17.25dB] [on]
  Front Right: Capture 23 [37%] [0.00dB] [on]
Simple mixer control 'rt715 ADC 08',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 0 [0%] [-17.25dB] [off]
  Front Right: Capture 23 [37%] [0.00dB] [off]
Simple mixer control 'rt715 ADC 09',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 0 [0%] [-17.25dB] [off]
  Front Right: Capture 23 [37%] [0.00dB] [off]
Simple mixer control 'rt715 ADC 22 Mux',0
  Capabilities: enum
  Items: 'MIC1' 'MIC2' 'LINE1' 'LINE2' 'DMIC1' 'DMIC2' 'DMIC3' 'DMIC4'
  Item0: 'LINE1'
Simple mixer control 'rt715 ADC 23 Mux',0
  Capabilities: enum
  Items: 'MIC1' 'MIC2' 'LINE1' 'LINE2' 'DMIC1' 'DMIC2' 'DMIC3' 'DMIC4'
  Item0: 'LINE2'
Simple mixer control 'rt715 ADC 24 Mux',0
  Capabilities: enum
  Items: 'MIC2' 'DMIC1' 'DMIC2' 'DMIC3' 'DMIC4'
  Item0: 'DMIC3'
Simple mixer control 'rt715 ADC 25 Mux',0
  Capabilities: enum
  Items: 'MIC1' 'DMIC1' 'DMIC2' 'DMIC3' 'DMIC4'
  Item0: 'DMIC4'
Simple mixer control 'rt715 ADC 27',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 0 [0%] [-17.25dB] [on]
  Front Right: Capture 23 [37%] [0.00dB] [on]
Simple mixer control 'rt715 DMIC1 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%]
  Front Right: 0 [0%]
Simple mixer control 'rt715 DMIC2 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%]
  Front Right: 0 [0%]
Simple mixer control 'rt715 DMIC3 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%]
  Front Right: 2 [67%]
Simple mixer control 'rt715 DMIC4 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%]
  Front Right: 2 [67%]
Simple mixer control 'rt715 LINE1 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%]
  Front Right: 0 [0%]
Simple mixer control 'rt715 LINE2 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%]
  Front Right: 0 [0%]
Simple mixer control 'rt715 MIC1 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%]
  Front Right: 0 [0%]
Simple mixer control 'rt715 MIC2 Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%]
  Front Right: 0 [0%]

!!-------Mixer controls for card USB

Card sysdefault:1 'USB'/'Razer Razer Kraken X USB at usb-0000:3d:00.0-1.1, full speed'
  Mixer name	: 'USB Mixer'
  Components	: 'USB1532:0526'
  Controls      : 6
  Simple ctrls  : 3
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: cvolume cvolume-joined
  Capture channels: Mono
  Limits: Capture 0 - 35
  Mono: Capture 30 [86%] [0.00dB]
Simple mixer control 'Auto Gain Control',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]

!!-------Mixer controls for card Dock

Card sysdefault:2 'Dock'/'Dell-WD15-Dock'
  Mixer name	: 'USB Mixer'
  Components	: 'USB0bda:402e'
  Controls      : 11
  Simple ctrls  : 5
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 127 [100%] [0.00dB] [on]
  Front Right: Playback 127 [100%] [0.00dB] [on]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 127 [100%] [0.00dB] [on]
  Front Right: Playback 127 [100%] [0.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: cvolume cswitch cswitch-joined
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 127
  Front Left: Capture 67 [53%] [0.00dB] [on]
  Front Right: Capture 67 [53%] [0.00dB] [on]
Simple mixer control 'Extension Unit',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Loudness',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]


!!Alsactl output
!!--------------

--startcollapse--
state.sofsoundwire {
	control.1 {
		iface MIXER
		name 'rt711 DAC Surr Playback Volume'
		value.0 87
		value.1 87
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'rt711 ADC 08 Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'rt711 ADC 09 Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.4 {
		iface MIXER
		name 'rt711 ADC 08 Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.5 {
		iface MIXER
		name 'rt711 ADC 09 Capture Volume'
		value.0 23
		value.1 23
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.6 {
		iface MIXER
		name 'rt711 AMIC Volume'
		value.0 1
		value.1 1
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 1000
			dbvalue.1 1000
		}
	}
	control.7 {
		iface MIXER
		name 'rt711 DMIC1 Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.8 {
		iface MIXER
		name 'rt711 DMIC2 Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.9 {
		iface MIXER
		name 'rt1308-1 RX Channel Select'
		value LL
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 LR
			item.1 LL
			item.2 RL
			item.3 RR
		}
	}
	control.10 {
		iface MIXER
		name 'rt1308-2 RX Channel Select'
		value RR
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 LR
			item.1 LL
			item.2 RL
			item.3 RR
		}
	}
	control.11 {
		iface MIXER
		name 'rt715 ADC 07 Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.12 {
		iface MIXER
		name 'rt715 ADC 08 Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.13 {
		iface MIXER
		name 'rt715 ADC 09 Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'rt715 ADC 27 Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.15 {
		iface MIXER
		name 'rt715 ADC 07 Capture Volume'
		value.0 0
		value.1 23
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 -1725
			dbvalue.1 0
		}
	}
	control.16 {
		iface MIXER
		name 'rt715 ADC 08 Capture Volume'
		value.0 0
		value.1 23
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 -1725
			dbvalue.1 0
		}
	}
	control.17 {
		iface MIXER
		name 'rt715 ADC 09 Capture Volume'
		value.0 0
		value.1 23
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 -1725
			dbvalue.1 0
		}
	}
	control.18 {
		iface MIXER
		name 'rt715 ADC 27 Capture Volume'
		value.0 0
		value.1 23
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 -1725
			dbvalue.1 0
		}
	}
	control.19 {
		iface MIXER
		name 'rt715 DMIC1 Boost'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.20 {
		iface MIXER
		name 'rt715 DMIC2 Boost'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.21 {
		iface MIXER
		name 'rt715 DMIC3 Boost'
		value.0 2
		value.1 2
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 2000
			dbvalue.1 2000
		}
	}
	control.22 {
		iface MIXER
		name 'rt715 DMIC4 Boost'
		value.0 2
		value.1 2
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 2000
			dbvalue.1 2000
		}
	}
	control.23 {
		iface MIXER
		name 'rt715 MIC1 Boost'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.24 {
		iface MIXER
		name 'rt715 MIC2 Boost'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.25 {
		iface MIXER
		name 'rt715 LINE1 Boost'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.26 {
		iface MIXER
		name 'rt715 LINE2 Boost'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.27 {
		iface MIXER
		name 'Headphone Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.28 {
		iface MIXER
		name 'Headset Mic Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.29 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.30 {
		iface CARD
		name 'Headset Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.31 {
		iface MIXER
		name 'Speaker Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.32 {
		iface CARD
		name 'HDMI/DP,pcm=5 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.33 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.34 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.35 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.36 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.37 {
		iface PCM
		device 5
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.38 {
		iface CARD
		name 'HDMI/DP,pcm=6 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.39 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.40 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.41 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.42 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.43 {
		iface PCM
		device 6
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.44 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.45 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.46 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.47 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.48 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.49 {
		iface PCM
		device 7
		name ELD
		value '100007006714000100000000000000004c2d4d0c553238453539300907070000'
		comment {
			access 'read volatile'
			type BYTES
			count 32
		}
	}
	control.50 {
		iface PCM
		device 5
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.51 {
		iface PCM
		device 6
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.52 {
		iface PCM
		device 7
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.53 {
		iface MIXER
		name 'rt711 ADC 22 Mux'
		value MIC2
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 MIC2
			item.1 LINE1
			item.2 LINE2
			item.3 DMIC
		}
	}
	control.54 {
		iface MIXER
		name 'rt711 ADC 23 Mux'
		value MIC2
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 MIC2
			item.1 LINE1
			item.2 LINE2
			item.3 DMIC
		}
	}
	control.55 {
		iface MIXER
		name 'PGA1.0 1 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.56 {
		iface MIXER
		name 'PGA2.0 2 Master Capture Volume'
		value.0 50
		value.1 50
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -9999999
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.57 {
		iface MIXER
		name 'PGA2.0 2 Master Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.58 {
		iface MIXER
		name 'PGA3.1 3 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.60 {
		iface MIXER
		name 'PGA5.0 5 Master Capture Volume'
		value.0 50
		value.1 50
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -9999999
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.61 {
		iface MIXER
		name 'PGA5.0 5 Master Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.63 {
		iface MIXER
		name 'PGA6.0 6 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.64 {
		iface MIXER
		name 'PGA7.0 7 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.65 {
		iface MIXER
		name 'PGA8.0 8 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.66 {
		iface MIXER
		name 'rt1308-1 DAC L Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.67 {
		iface MIXER
		name 'rt1308-1 DAC R Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.68 {
		iface MIXER
		name 'rt1308-2 DAC L Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.69 {
		iface MIXER
		name 'rt1308-2 DAC R Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.70 {
		iface MIXER
		name 'rt715 ADC 22 Mux'
		value LINE1
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 MIC1
			item.1 MIC2
			item.2 LINE1
			item.3 LINE2
			item.4 DMIC1
			item.5 DMIC2
			item.6 DMIC3
			item.7 DMIC4
		}
	}
	control.71 {
		iface MIXER
		name 'rt715 ADC 23 Mux'
		value LINE2
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 MIC1
			item.1 MIC2
			item.2 LINE1
			item.3 LINE2
			item.4 DMIC1
			item.5 DMIC2
			item.6 DMIC3
			item.7 DMIC4
		}
	}
	control.72 {
		iface MIXER
		name 'rt715 ADC 24 Mux'
		value DMIC3
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 MIC2
			item.1 DMIC1
			item.2 DMIC2
			item.3 DMIC3
			item.4 DMIC4
		}
	}
	control.73 {
		iface MIXER
		name 'rt715 ADC 25 Mux'
		value DMIC4
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 MIC1
			item.1 DMIC1
			item.2 DMIC2
			item.3 DMIC3
			item.4 DMIC4
		}
	}
}
state.USB {
	control.1 {
		iface PCM
		name 'Capture Channel Map'
		value.0 3
		value.1 4
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.2 {
		iface PCM
		name 'Playback Channel Map'
		value.0 3
		value.1 4
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.3 {
		iface MIXER
		name 'Mic Capture Volume'
		value 30
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 35'
			dbmin -3000
			dbmax 500
			dbvalue.0 0
		}
	}
	control.4 {
		iface MIXER
		name 'Auto Gain Control'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'PCM Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.6 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 64
		value.1 64
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
state.Dock {
	control.1 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.2 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.3 {
		iface PCM
		device 1
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.4 {
		iface MIXER
		name 'Mic Capture Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.5 {
		iface MIXER
		name 'Mic Capture Volume'
		value.0 67
		value.1 67
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 127'
			dbmin -3350
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.6 {
		iface MIXER
		name Loudness
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.7 {
		iface MIXER
		name 'Extension Unit Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.8 {
		iface MIXER
		name 'Headphone Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.9 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 127
		value.1 127
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 127'
			dbmin -6350
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.10 {
		iface MIXER
		name 'Line Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.11 {
		iface MIXER
		name 'Line Playback Volume'
		value.0 127
		value.1 127
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 127'
			dbmin -6350
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

ac97_bus
acpi_pad
acpi_tad
acpi_thermal_rel
aesni_intel
af_alg
agpgart
algif_hash
algif_skcipher
atkbd
blake2b_generic
bluetooth
bnep
br_netfilter
bridge
btbcm
btintel
btrfs
btrtl
btusb
cbc
cdc_ether
cec
cfg80211
cmac
coretemp
crc16
crc32_pclmul
crc32c_generic
crc32c_intel
crct10dif_pclmul
cros_ec
cros_ec_ishtp
cryptd
crypto_simd
crypto_user
dcdbas
dell_laptop
dell_smbios
dell_smm_hwmon
dell_wmi
dell_wmi_descriptor
dell_wmi_sysman
dm_crypt
dm_log
dm_mirror
dm_mod
dm_region_hash
drm
drm_kms_helper
ecc
ecdh_generic
ee1004
encrypted_keys
fb_sys_fops
fuse
ghash_clmulni_intel
hid_logitech_hidpp
hid_multitouch
hid_sensor_als
hid_sensor_custom
hid_sensor_hub
hid_sensor_iio_common
hid_sensor_trigger
i2c_algo_bit
i2c_hid
i2c_hid_acpi
i2c_i801
i2c_smbus
i8042
i915
iTCO_vendor_support
iTCO_wdt
idma64
industrialio
industrialio_triggered_buffer
int3400_thermal
int3403_thermal
int340x_thermal_zone
intel_cstate
intel_gtt
intel_hid
intel_ish_ipc
intel_ishtp
intel_ishtp_hid
intel_ishtp_loader
intel_lpss
intel_lpss_pci
intel_pch_thermal
intel_pmc_bxt
intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_soc_dts_iosf
intel_uncore
intel_wmi_thunderbolt
ip6_tables
ip6table_filter
ip6table_mangle
ip6table_nat
ip_tables
ipt_REJECT
iptable_filter
iptable_mangle
iptable_nat
irqbypass
iwlmvm
iwlwifi
joydev
kfifo_buf
kvm
kvm_intel
ledtrig_audio
libarc4
libcrc32c
libps2
llc
mac80211
mac_hid
mc
mei
mei_hdcp
mei_me
mei_wdt
mii
mmc_core
mousedev
nf_conntrack
nf_conntrack_netlink
nf_defrag_ipv4
nf_defrag_ipv6
nf_nat
nf_reject_ipv4
nfnetlink
nvidia
nvidia_drm
nvidia_modeset
pcspkr
processor_thermal_device
processor_thermal_mbox
processor_thermal_rapl
processor_thermal_rfim
psmouse
r8152
r8153_ecm
raid6_pq
rapl
regmap_sdw
rfcomm
rfkill
rng_core
roles
rtsx_pci
rtsx_pci_sdmmc
serio
serio_raw
snd
snd_compress
snd_hda_codec
snd_hda_codec_hdmi
snd_hda_core
snd_hda_ext_core
snd_hda_intel
snd_hrtimer
snd_hwdep
snd_intel_dspcfg
snd_intel_sdw_acpi
snd_pcm
snd_pcm_dmaengine
snd_rawmidi
snd_seq
snd_seq_device
snd_seq_dummy
snd_soc_acpi
snd_soc_acpi_intel_match
snd_soc_core
snd_soc_dmic
snd_soc_hdac_hda
snd_soc_hdac_hdmi
snd_soc_rt1308_sdw
snd_soc_rt711
snd_soc_rt715
snd_soc_skl
snd_soc_sof_sdw
snd_soc_sst_dsp
snd_soc_sst_ipc
snd_sof
snd_sof_intel_hda
snd_sof_intel_hda_common
snd_sof_pci
snd_sof_pci_intel_cnl
snd_sof_xtensa_dsp
snd_timer
snd_usb_audio
snd_usbmidi_lib
soundcore
soundwire_bus
soundwire_cadence
soundwire_generic_allocation
soundwire_intel
sparse_keymap
stp
syscopyarea
sysfillrect
sysimgblt
thunderbolt
tpm
tpm_crb
tpm_tis
tpm_tis_core
trusted
tun
typec
typec_ucsi
ucsi_acpi
usbhid
usbnet
uvcvideo
v4l2loopback
video
videobuf2_common
videobuf2_memops
videobuf2_v4l2
videobuf2_vmalloc
videodev
wmi
wmi_bmof
x86_pkg_temp_thermal
x_tables
xhci_pci
xhci_pci_renesas
xor
xt_CHECKSUM
xt_MASQUERADE
xt_addrtype
xt_conntrack
xt_tcpudp


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D2/init_pin_configs:
0x05 0x18560010
0x06 0x18560010
0x07 0x18560010

/sys/class/sound/hwC0D2/driver_pin_configs:

/sys/class/sound/hwC0D2/user_pin_configs:

/sys/class/sound/hwC0D2/init_verbs:

/sys/class/sound/hwC0D2/hints:


!!ALSA/HDA dmesg
!!--------------

Directions please...

Hello

I design and build audio equipment and would like to know where or how I would go about getting access to the sound states to control a GPIO for a raspberry Pi.

What I would like ideally is to control a GPIO state based upon actual non-zero data playback.
My desire is to use the GPIO to control a mute function to silence the interactive periods in DAC activity.
I know little to nothing about programming but imagine the function is intelligent enough to discern the difference between an open device and actual music playback.
Other methods keep open the device to keep from switching off and on, however, I am looking for a more professional and detailed method to create.

Any pointers helpful
thank you
S

arecord command stop when output file set /dev/null

How to reproduce it?

  1. Input the below command, then record go on
    arecord -r 96000 -c 4 -f S32_LE 1> /dev/null

  2. Wait for some minutes, it depended on system memory size.
    For example,system memory had 2G,
    (2102410241024)/(96k4*32/8)=1400s

The results:

  1. this command quit auto.

Expect:

  1. This command should not be interrupted.

Typo in 00main file?

Hello,

Looking at the 00main file, I think I found a typo

Shouldn't GOTO="00_mainend" be GOTO="00main_end"

Edit: git blame says that the change is 12years old

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.