!!################################ !!ALSA Information Script v 0.5.3 !!################################ !!Script ran on: Mon Jan 20 09:13:01 UTC 2025 !!Linux Distribution !!------------------ NAME="Arch Linux ARM" PRETTY_NAME="Arch Linux ARM" ID=archarm ID_LIKE=arch HOME_URL="https://archlinuxarm.org/" DOCUMENTATION_URL="https://archlinuxarm.org/wiki" SUPPORT_URL="https://archlinuxarm.org/forum" BUG_REPORT_URL="https://github.com/archlinuxarm/PKGBUILDs/issues" LOGO=archlinux-logo !!DMI Information !!--------------- Manufacturer: Product Name: Product Version: Firmware Version: System SKU: Board Vendor: Board Name: !!ACPI Device Status Information !!--------------- !!ACPI SoundWire Device Status Information !!--------------- !!Kernel Information !!------------------ Kernel release: #1 SMP PREEMPT_RT Wed Aug 28 12:41:53 CEST 2024 Operating System: GNU/Linux Architecture: aarch64 Processor: unknown SMP Enabled: Yes !!ALSA Version !!------------ Driver version: k6.6.47-rt39-2-rpi Library version: 1.2.12 Utilities version: 1.2.12 !!Loaded ALSA modules !!------------------- snd_aloop (card 0) snd_soc_rpi_wm8804_soundcard (card 1) !!Sound Servers on this system !!---------------------------- Jack: Installed - Yes (/usr/bin/jackd) Running - No !!Soundcards recognised by ALSA !!----------------------------- 0 [Loopback ]: Loopback - Loopback Loopback 1 1 [sndrpihifiberry]: RPi-WM8804 - snd_rpi_hifiberry_digi snd_rpi_hifiberry_digi !!PCI Soundcards installed in the system !!-------------------------------------- !!Modprobe options (Sound related) !!-------------------------------- snd_bcm2835: enable_headphones=0 !!Loaded sound module options !!--------------------------- !!Module: snd_aloop enable : Y,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 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) 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 pcm_notify : 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 pcm_substreams : 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8 timer_source : (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) !!Module: snd_soc_rpi_wm8804_soundcard * : !!Sysfs card info !!--------------- !!Card: /sys/class/sound/card0 Driver: /sys/bus/platform/drivers/snd_aloop Tree: !!Card: /sys/class/sound/card1 Driver: /sys/bus/platform/drivers/snd-rpi-wm8804 Tree: !!ALSA Device nodes !!----------------- crw-rw---- 1 root audio 116, 6 Oct 9 18:46 /dev/snd/controlC0 crw-rw---- 1 root audio 116, 9 Oct 9 18:46 /dev/snd/controlC1 crw-rw---- 1 root audio 116, 3 Oct 9 18:46 /dev/snd/pcmC0D0c crw-rw---- 1 root audio 116, 2 Oct 9 18:46 /dev/snd/pcmC0D0p crw-rw---- 1 root audio 116, 5 Oct 9 18:46 /dev/snd/pcmC0D1c crw-rw---- 1 root audio 116, 4 Oct 9 18:46 /dev/snd/pcmC0D1p crw-rw---- 1 root audio 116, 8 Oct 9 18:46 /dev/snd/pcmC1D0c crw-rw---- 1 root audio 116, 7 Oct 9 18:46 /dev/snd/pcmC1D0p crw-rw---- 1 root audio 116, 1 Oct 9 18:46 /dev/snd/seq crw-rw---- 1 root audio 116, 33 Oct 9 18:46 /dev/snd/timer /dev/snd/by-path: total 0 drwxr-xr-x 2 root root 80 Oct 9 18:46 . drwxr-xr-x 3 root root 260 Oct 9 18:46 .. lrwxrwxrwx 1 root root 12 Oct 9 18:46 platform-snd_aloop.0 -> ../controlC0 lrwxrwxrwx 1 root root 12 Oct 9 18:46 platform-soc:sound -> ../controlC1 !!ALSA configuration files !!------------------------ !!User specific config file (~/.asoundrc) # Here you can put your special configuration. Below an example to make the card 1 default # (remove # in front to enable) # defaults.pcm.card 1 # defaults.ctl.card 1 # This declares an ALSA device that you can specify to playback programs. # You can use any name you wish that ALSA supports not just camilladsp. # To use it you specify it to alsa like "aplay -D camilladsp" pcm.camilladsp { # type cdsp must be present - it declares to use this plugin. # The type is NOT a variable name you can choose. # You can however create multiple type cdsp plugins with different names # if you want to specify different parameters selected by specifying a # different ALSA device. type cdsp ####################################################################### ####################################################################### # Required parameters. # The parameters in this section must be specified as a valid set. ####################################################################### ####################################################################### # cpath specifies the absolute path to the CamillaDSP executable. # CamillaDSP must have executable permission for any user that runs an # audio program that uses this plugin. cpath "/usr/bin/camilladsp" # config_out is the absolute path that will be passed to CamillaDSP as # the YAML config file argument. The file must be readable by any user # that runs an audio program that uses this plugin. If the config_in # or config_cmd options are chosen (see below) it must also be writable # by those users. config_out "/home/audiolinux/.config/camilladsp/config_out.yaml" ####################################################################### # Parameter Passing Options # # There are three mutually exclusive ways to send the updated hw_params # and extra_samples to CamillaDSP. One and only one method must be # specified. The three methods are config_in, config_cmd, and # config_cdsp. ####################################################################### # config_in is an absolute path to a YAML template the plugin will read # and pass along to CamillaDSP after making simple token substitutions. # It must be readable by any user that runs an audio program that uses # this plugin. config_in "/home/audiolinux/.config/camilladsp/config_in.yaml" # config_in processing does a simple search and replace of four tokens # representing format, channels, sample rate, and extra samples # replacing the tokens with the appropriate parameters. The following # entries show the default tokens. They can be changed to custom # tokens by uncommenting the lines below and replacing the default # tokens with the desired tokens wrapped in quotes. #format_token "$format$" #samplerate_token "$samplerate$" #channels_token "$channels$" #extrasamples_token "$extrasamples$" # config_cmd is the absolute path to a command that will be called # whenever the hw_params change with arguments "format rate channels". # It should create the YAML file CamillaDSP will load and place it in # the location specified by the config_out parameter. # Note that the extra_samples parameters specified below are NOT # passed in any way to this command. #config_cmd "/path/to/more_complex_yaml_creator" # config_cdsp says to use the new CamillaDSP internal substitutions. # When config_cdsp is set to an integer != 0 the hw_params and # extra samples are passed to CamillaDSP on the command line as # -f format -r samplerate -n channels -e extra_samples #config_cdsp 1 ####################################################################### # End Parameter Passing Options ####################################################################### ####################################################################### # Capability Enumeration # # The plugin will announce the hw_params it supports based on the # following settings. Channels and sample rates must be specified. # The plugin will automatically enumerate all the formats that # CamillaDSP supports. ####################################################################### # Channels can be specified as a single value like this. channels 2 # Or a range like this. (Uncomment the lines.) #min_channels 1 #max_channels 2 # But only one method can be used. # Sample rates can be configured as a specific list like this. # (Up to 100 entries.) rates = [ 44100 48000 88200 96000 176400 192000 # 352800 # 384000 ] # Or as a range like this. (Uncomment the lines.) #min_rate 44100 #max_rate 384000 # Note that if you use a range like this ALSA will accept ANYTHING in # that range. Even something odd like 45873. If you aren't using # CamillaDSP's resampler and don't have a very unusual DAC you are # probably better off with the list format above. ####################################################################### # End Capability Enumeration ####################################################################### ####################################################################### ####################################################################### # End Required Parameters ####################################################################### ####################################################################### ####################################################################### ####################################################################### # Optional Parameters ####################################################################### ####################################################################### # If you wish to specify additional arguments to CamillaDSP you can # specify them using the cargs array. Numeric arguments must be quoted # in strings or the plugin will fail to load. You should not specify # the hw_params arguments here as the plugin will take care of that as # they change. cargs [ -p "1234" -a "0.0.0.0" -l warn ] # Extra samples can be provided in a rate scaling way for the two most # common audio base rates. This is under the assumption your filters # will be N times as long at N times the base rate. Any of the # following three values can be set or excluded in any combination. # If no valid extra_samples parameter is set for a given sample rate # the extra_samples token replacement will not occur in config_in mode # and the -e argument will not be issued in config_cdsp mode. # All extra_samples arguments must be integers >= 0. # extra_samples is used when the sample rate is not an integer multiple # of 44100 or 48000 or when the corresponding rate matching # extra_samples option is not set. # # If using config_cdsp this is the only version of extra_samples # that should be specified as CamillaDSP does its own sample rate # based scaling of the extra samples. extra_samples 0 # extra_samples_44100 is used when the sample rate is an integer # multiple of 44100. In this case {extrasamples} will be replaced with # {samplerate/44100 * extra_samples_44100}. extra_samples_44100 8192 # extra_samples_48000 is used when the sample rate is an integer # multiple of 48000. In this case {extrasamples} will be replaced with # {samplerate/48000 * extra_samples_48000}. extra_samples_48000 8916 # An option not directly related to camilladsp. A command to run when # the plugin is first created. (Meaning when a playback program opens # the audio device.) Use it for whatever you want. Set gpio pins on a # raspberry pi to turn on your amp for example. start_cmd "/path/to/start_command" }# This declares an ALSA device that you can specify to playback programs. # You can use any name you wish that ALSA supports not just camilladsp. # To use it you specify it to alsa like "aplay -D camilladsp" pcm.camilladsp { # type cdsp must be present - it declares to use this plugin. # The type is NOT a variable name you can choose. # You can however create multiple type cdsp plugins with different names # if you want to specify different parameters selected by specifying a # different ALSA device. type cdsp ####################################################################### ####################################################################### # Required parameters. # The parameters in this section must be specified as a valid set. ####################################################################### ####################################################################### # cpath specifies the absolute path to the CamillaDSP executable. # CamillaDSP must have executable permission for any user that runs an # audio program that uses this plugin. cpath "/path/to/camilladsp" # config_out is the absolute path that will be passed to CamillaDSP as # the YAML config file argument. The file must be readable by any user # that runs an audio program that uses this plugin. If the config_in # or config_cmd options are chosen (see below) it must also be writable # by those users. config_out "/path/to/config_out.yaml" ####################################################################### # Parameter Passing Options # # There are three mutually exclusive ways to send the updated hw_params # and extra_samples to CamillaDSP. One and only one method must be # specified. The three methods are config_in, config_cmd, and # config_cdsp. ####################################################################### # config_in is an absolute path to a YAML template the plugin will read # and pass along to CamillaDSP after making simple token substitutions. # It must be readable by any user that runs an audio program that uses # this plugin. config_in "/path/to/config_in.yaml" # config_in processing does a simple search and replace of four tokens # representing format, channels, sample rate, and extra samples # replacing the tokens with the appropriate parameters. The following # entries show the default tokens. They can be changed to custom # tokens by uncommenting the lines below and replacing the default # tokens with the desired tokens wrapped in quotes. #format_token "$format$" #samplerate_token "$samplerate$" #channels_token "$channels$" #extrasamples_token "$extrasamples$" # config_cmd is the absolute path to a command that will be called # whenever the hw_params change with arguments "format rate channels". # It should create the YAML file CamillaDSP will load and place it in # the location specified by the config_out parameter. # Note that the extra_samples parameters specified below are NOT # passed in any way to this command. #config_cmd "/path/to/more_complex_yaml_creator" # config_cdsp says to use the new CamillaDSP internal substitutions. # When config_cdsp is set to an integer != 0 the hw_params and # extra samples are passed to CamillaDSP on the command line as # -f format -r samplerate -n channels -e extra_samples #config_cdsp 1 ####################################################################### # End Parameter Passing Options ####################################################################### ####################################################################### # Capability Enumeration # # The plugin will announce the hw_params it supports based on the # following settings. Channels and sample rates must be specified. # The plugin will automatically enumerate all the formats that # CamillaDSP supports. ####################################################################### # Channels can be specified as a single value like this. channels 2 # Or a range like this. (Uncomment the lines.) #min_channels 1 #max_channels 2 # But only one method can be used. # Sample rates can be configured as a specific list like this. # (Up to 100 entries.) rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 ] # Or as a range like this. (Uncomment the lines.) #min_rate 44100 #max_rate 384000 # Note that if you use a range like this ALSA will accept ANYTHING in # that range. Even something odd like 45873. If you aren't using # CamillaDSP's resampler and don't have a very unusual DAC you are # probably better off with the list format above. ####################################################################### # End Capability Enumeration ####################################################################### ####################################################################### ####################################################################### # End Required Parameters ####################################################################### ####################################################################### ####################################################################### ####################################################################### # Optional Parameters ####################################################################### ####################################################################### # If you wish to specify additional arguments to CamillaDSP you can # specify them using the cargs array. Numeric arguments must be quoted # in strings or the plugin will fail to load. You should not specify # the hw_params arguments here as the plugin will take care of that as # they change. cargs [ -p "1234" -a "0.0.0.0" -l warn ] # Extra samples can be provided in a rate scaling way for the two most # common audio base rates. This is under the assumption your filters # will be N times as long at N times the base rate. Any of the # following three values can be set or excluded in any combination. # If no valid extra_samples parameter is set for a given sample rate # the extra_samples token replacement will not occur in config_in mode # and the -e argument will not be issued in config_cdsp mode. # All extra_samples arguments must be integers >= 0. # extra_samples is used when the sample rate is not an integer multiple # of 44100 or 48000 or when the corresponding rate matching # extra_samples option is not set. # # If using config_cdsp this is the only version of extra_samples # that should be specified as CamillaDSP does its own sample rate # based scaling of the extra samples. extra_samples 0 # extra_samples_44100 is used when the sample rate is an integer # multiple of 44100. In this case {extrasamples} will be replaced with # {samplerate/44100 * extra_samples_44100}. extra_samples_44100 8192 # extra_samples_48000 is used when the sample rate is an integer # multiple of 48000. In this case {extrasamples} will be replaced with # {samplerate/48000 * extra_samples_48000}. extra_samples_48000 8916 # An option not directly related to camilladsp. A command to run when # the plugin is first created. (Meaning when a playback program opens # the audio device.) Use it for whatever you want. Set gpio pins on a # raspberry pi to turn on your amp for example. start_cmd "/path/to/start_command" } !!System wide config file (/etc/asound.conf) # Here you can put your special configuration. Below an example to make the card 1 default # (remove # in front to enable) # defaults.pcm.card 1 # defaults.ctl.card 1 !!Aplay/Arecord output !!-------------------- APLAY **** List of PLAYBACK Hardware Devices **** card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 1: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HiFiBerry Digi Pro HiFi wm8804-spdif-0 [HiFiBerry Digi Pro HiFi wm8804-spdif-0] Subdevices: 0/1 Subdevice #0: subdevice #0 ARECORD **** List of CAPTURE Hardware Devices **** card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM] Subdevices: 7/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 1: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HiFiBerry Digi Pro HiFi wm8804-spdif-0 [HiFiBerry Digi Pro HiFi wm8804-spdif-0] Subdevices: 1/1 Subdevice #0: subdevice #0 !!Amixer output !!------------- !!-------Mixer controls for card Loopback Card sysdefault:0 'Loopback'/'Loopback 1' Mixer name : 'Loopback Mixer' Components : '' Controls : 98 Simple ctrls : 2 Simple mixer control 'PCM',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 245 [96%] [-2.00dB] Front Right: Playback 245 [96%] [-2.00dB] Simple mixer control 'Digital',0 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 120 Front Left: Capture 120 [100%] [30.00dB] Front Right: Capture 120 [100%] [30.00dB] !!-------Mixer controls for card sndrpihifiberry Card sysdefault:1 'sndrpihifiberry'/'snd_rpi_hifiberry_digi' Mixer name : '' Components : '' Controls : 1 Simple ctrls : 1 Simple mixer control 'Tx Source',0 Capabilities: enum Items: 'S/PDIF RX' 'AIF' Item0: 'AIF' !!Alsactl output !!-------------- --startcollapse-- state.Loopback { control.1 { iface PCM name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.2 { iface PCM name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.3 { iface PCM name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.4 { iface PCM name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.5 { iface PCM name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.6 { iface PCM name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.7 { iface PCM subdevice 1 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.8 { iface PCM subdevice 1 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.9 { iface PCM subdevice 1 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.10 { iface PCM subdevice 1 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.11 { iface PCM subdevice 1 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.12 { iface PCM subdevice 1 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.13 { iface PCM subdevice 2 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.14 { iface PCM subdevice 2 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.15 { iface PCM subdevice 2 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.16 { iface PCM subdevice 2 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.17 { iface PCM subdevice 2 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.18 { iface PCM subdevice 2 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.19 { iface PCM subdevice 3 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.20 { iface PCM subdevice 3 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.21 { iface PCM subdevice 3 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.22 { iface PCM subdevice 3 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.23 { iface PCM subdevice 3 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.24 { iface PCM subdevice 3 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.25 { iface PCM subdevice 4 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.26 { iface PCM subdevice 4 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.27 { iface PCM subdevice 4 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.28 { iface PCM subdevice 4 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.29 { iface PCM subdevice 4 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.30 { iface PCM subdevice 4 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.31 { iface PCM subdevice 5 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.32 { iface PCM subdevice 5 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.33 { iface PCM subdevice 5 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.34 { iface PCM subdevice 5 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.35 { iface PCM subdevice 5 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.36 { iface PCM subdevice 5 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.37 { iface PCM subdevice 6 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.38 { iface PCM subdevice 6 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.39 { iface PCM subdevice 6 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.40 { iface PCM subdevice 6 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.41 { iface PCM subdevice 6 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.42 { iface PCM subdevice 6 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.43 { iface PCM subdevice 7 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.44 { iface PCM subdevice 7 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.45 { iface PCM subdevice 7 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.46 { iface PCM subdevice 7 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.47 { iface PCM subdevice 7 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.48 { iface PCM subdevice 7 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.49 { iface PCM device 1 name 'PCM Rate Shift 100000' value 100003 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.50 { iface PCM device 1 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.51 { iface PCM device 1 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.52 { iface PCM device 1 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.53 { iface PCM device 1 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.54 { iface PCM device 1 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.55 { iface PCM device 1 subdevice 1 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.56 { iface PCM device 1 subdevice 1 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.57 { iface PCM device 1 subdevice 1 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.58 { iface PCM device 1 subdevice 1 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.59 { iface PCM device 1 subdevice 1 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.60 { iface PCM device 1 subdevice 1 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.61 { iface PCM device 1 subdevice 2 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.62 { iface PCM device 1 subdevice 2 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.63 { iface PCM device 1 subdevice 2 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.64 { iface PCM device 1 subdevice 2 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.65 { iface PCM device 1 subdevice 2 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.66 { iface PCM device 1 subdevice 2 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.67 { iface PCM device 1 subdevice 3 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.68 { iface PCM device 1 subdevice 3 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.69 { iface PCM device 1 subdevice 3 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.70 { iface PCM device 1 subdevice 3 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.71 { iface PCM device 1 subdevice 3 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.72 { iface PCM device 1 subdevice 3 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.73 { iface PCM device 1 subdevice 4 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.74 { iface PCM device 1 subdevice 4 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.75 { iface PCM device 1 subdevice 4 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.76 { iface PCM device 1 subdevice 4 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.77 { iface PCM device 1 subdevice 4 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.78 { iface PCM device 1 subdevice 4 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.79 { iface PCM device 1 subdevice 5 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.80 { iface PCM device 1 subdevice 5 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.81 { iface PCM device 1 subdevice 5 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.82 { iface PCM device 1 subdevice 5 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.83 { iface PCM device 1 subdevice 5 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.84 { iface PCM device 1 subdevice 5 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.85 { iface PCM device 1 subdevice 6 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.86 { iface PCM device 1 subdevice 6 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.87 { iface PCM device 1 subdevice 6 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.88 { iface PCM device 1 subdevice 6 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.89 { iface PCM device 1 subdevice 6 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.90 { iface PCM device 1 subdevice 6 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.91 { iface PCM device 1 subdevice 7 name 'PCM Rate Shift 100000' value 100000 comment { access 'read write' type INTEGER count 1 range '80000 - 120000 (step 1)' } } control.92 { iface PCM device 1 subdevice 7 name 'PCM Notify' value false comment { access 'read write' type BOOLEAN count 1 } } control.93 { iface PCM device 1 subdevice 7 name 'PCM Slave Active' value false comment { access read type BOOLEAN count 1 } } control.94 { iface PCM device 1 subdevice 7 name 'PCM Slave Format' value 2 comment { access read type INTEGER count 1 range '0 - 52 (step 1)' } } control.95 { iface PCM device 1 subdevice 7 name 'PCM Slave Rate' value 48000 comment { access read type INTEGER count 1 range '0 - 1536000 (step 1)' } } control.96 { iface PCM device 1 subdevice 7 name 'PCM Slave Channels' value 2 comment { access read type INTEGER count 1 range '1 - 1024 (step 1)' } } control.97 { iface MIXER name 'Digital Capture Volume' value.0 120 value.1 120 comment { access 'read write user' type INTEGER count 2 range '0 - 120' tlv '0000000100000008fffff44800000032' dbmin -3000 dbmax 3000 dbvalue.0 3000 dbvalue.1 3000 } } control.98 { iface MIXER name 'PCM Playback Volume' value.0 245 value.1 245 comment { access 'read write user' type INTEGER count 2 range '0 - 255' tlv '0000000100000008ffffec1400000014' dbmin -5100 dbmax 0 dbvalue.0 -200 dbvalue.1 -200 } } } state.sndrpihifiberry { control.1 { iface MIXER name 'Tx Source' value AIF comment { access 'read write' type ENUMERATED count 1 item.0 'S/PDIF RX' item.1 AIF } } } --endcollapse-- !!All Loaded Modules !!------------------ aes_arm64 aes_generic backlight bcm2835_codec bcm2835_isp bcm2835_mmal_vchiq bcm2835_v4l2 ccm cfg80211 ctr dm_mod drm drm_panel_orientation_quirks fuse i2c_bcm2835 ip_tables ipv6 joydev libaes libarc4 mac80211 mc nfnetlink nvmem_rmem raspberrypi_gpiomem raspberrypi_hwmon raspberrypi_ts regmap_i2c rfkill rpi_backlight rtl8192c_common rtl8192cu rtl_usb rtlwifi sch_cake snd snd_aloop snd_bcm2835 snd_compress snd_pcm snd_pcm_dmaengine snd_soc_bcm2835_i2s snd_soc_core snd_soc_rpi_wm8804_soundcard snd_soc_wm8804 snd_soc_wm8804_i2c snd_timer tcp_bbr uio uio_pdrv_genirq v4l2_mem2mem vc_sm_cma videobuf2_common videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 videobuf2_vmalloc videodev x_tables !!ALSA/HDA dmesg !!-------------- [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083] [ 0.000000] Linux version 6.6.47-rt39-2-rpi (audiolinux@audiolinuxrpi4) (clang version 18.1.8, LLD 18.1.8) #1 SMP PREEMPT_RT Wed Aug 28 12:41:53 CEST 2024 [ 0.000000] KASLR enabled -- [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 bcm2708_fb.fbwidth=800 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:E4:54:C1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 root=UUID=245ddcdd-a5cc-4e91-b771-0eca69cbcfe2 rw rootwait console=ttyAMA0,115200 console=tty1 fsck.repair=yes audit=0 nohz_full=1,2,3,4 rcu_nocbs=1,2,3,4 rcu_nocb_poll [ 0.000000] audit: disabled (until reboot) -- [ 9.451141] systemd[1]: Detected architecture arm64. [ 9.499813] systemd[1]: Hostname set to . [ 9.556234] systemd[1]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set -- [ 11.698389] bcmgenet fd580000.ethernet end0: renamed from eth0 [ 11.934908] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned. [ 11.950341] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.