Disabling onboard sound so that I can use ASUS Strix Soar as default sound card
Pulseaudio murdered my last Audigy 2 soundcard, it did this because it kept turning the PCM to maximum volume on the sound card, and it kept changing the audio levels automatically every time i switched audio application — e.g. from a Firefox youtube video to Audacious. It was an old card anyway and the caps were getting dry but resetting the volume to high was the final nail in the coffin and eventually it started to sound like Eric Cartman flatulating into a trombone. Then the audio on one side of some of the line outs died and the sound quality started going on all the other outputs. I’ve got rid of pulseaudio so that this doesn’t repeat and I’m not going to use pulseaudio again. I’ve recently bought a Asus Strix Soar 7.1 sound card. It’s detected by ALSA if and only if the Realtek onboard sound card is enabled. If the onboard sound is disabled in the system UEFI, then no sound cards are detected. Asus Strix Soar is a USB based soundcard that sits on a PCIe PCB. I’ve tested it, it works fine, and sounds reasonable when i tell Audacious to use the PCM from that card. But many applications are going to want to use the default soundcard which is inevitably going to be the 1st sound device. If I blacklist all the kernel modules for the onboard sound, then Alsa stops detecting my Strix Soar and it reports «no mixer device» and will not open any sound controls. The same happens when I disable it in the BIOS; it’s not detected by ALSA. I also have an NVidia graphics card, and this wants to output sound through HDMI and this tries to be the default sound card. I’ve stopped the HDMI output from being the default with the following config:
options snd_hda_intel index=3 model=auto
In /etc/modprobe.d/alsa-base.conf and this moves the hdmi output to card 3, so that it’s at the back of the list and never becomes the default soundcard. Hurray! But now the realtek sound card is listed as the first device. I don’t know what the kernel module is for the realtek sound card is, so i can’t move it. When I do an lspci -k | grep -A2 Audio i get the following:
09:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1) Subsystem: ASUSTeK Computer Inc. GK208 HDMI/DP Audio Controller Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel -- 0b:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller Subsystem: ASUSTeK Computer Inc. Family 17h (Models 00h-0fh) HD Audio Controller Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel
snd_hda_codec_hdmi 61440 1 snd_hda_codec_generic 86016 1 snd_usb_audio 262144 1 snd_hda_intel 49152 1 snd_usbmidi_lib 36864 1 snd_usb_audio snd_hda_codec 151552 3 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel snd_rawmidi 40960 1 snd_usbmidi_lib snd_seq_device 16384 1 snd_rawmidi snd_hda_core 94208 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec snd_pcm 114688 5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core snd_timer 36864 1 snd_pcm snd 94208 15 snd_hda_codec_generic,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_pcm,snd_rawmidi soundcore 16384 1 snd usbcore 294912 5 xhci_hcd,snd_usb_audio,usbhid,snd_usbmidi_lib,xhci_pci
**** List of PLAYBACK Hardware Devices **** card 0: Generic [HD-Audio Generic], device 0: Generic Analog [Generic Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Generic [HD-Audio Generic], device 1: Generic Digital [Generic Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: CARD [STRIX SOUND CARD], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: CARD [STRIX SOUND CARD], device 1: USB Audio [USB Audio #1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: CARD [STRIX SOUND CARD], device 2: USB Audio [USB Audio #2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 3: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 3: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0
- The onboard audio is currently detected as the first sound card.
- I can’t disable the onboard sound without disabling my Strix Soar as well.
- I can’t blacklist the onboard sound kernel modules without disabling my Strix Soar.
- I can’t work out which kernel modules i need in alsa-base.conf to move the realtek soundcard away from default.
What I want to do:
What I am trying to do, is either disable the onboard audio or banish it from being the default sound device, so that my Strix Soar is the default sound card. But I don’t know the kernel module for this.
Is there some way to find out what the kernel module is so that I can move it? Or some way to disable the onboard audio without disabling the Strix Soar?
I can’t be the only person with this problem.
Edit thanks for Nik’s accepted answer which put me on the right path, the solution was to change /etc/modprobe.d/alsa-base.conf to read:
options snd_usb_audio index=0 model=auto options snd_hda_intel index=3 model=auto options snd_hda_intel index=4 model=auto
And this fixed everything. Strix is now first.
Arch Linux
I’ve been struggling with the ASUS Strix sound card mounted to the PCI-E slot and extremely low mic gain. The microphone works fine on Windows when dual-booting, where I use the Sonic Studio software. However on Linux, the mic input volume is so low that the sound can be barely heard on any recording or voice chatting software. So far I’ve been swapping between the sound card’s mic jack and the motherboard’s mic jack, which works fine on Linux. Would be great to have the sound card input working though, to not swap every time if I need to dual boot. (Though thanks to Proton, haven’t really needed to do that so often). I’m using Pipewire with both ALSA and Pipewire’s Pulseaudio addon (pipewire-pulse and pipewire-alsa) installed.
So far the first time I noticed this, I have tried to adjust the mic gain first to maximum of 100% on the OS side and also using Discord’s input audio. After searching a bit and I attempted to adjust the input volume manually using pavucontrol to the maximum of 153%. It made the mic a bit more audible but it is still so quiet that it doesn’t really work for conversing with others. The device profile is set as Analog Surround 7.1 Output + Analog Stereo Input in pavucontrol.
After reading amixer manpages, I also attempted to set the decibel level manually using amixer sset -command as well, but these changes didn’t take any effect when attempting to set it above 12dB.
Might be a bit unrelated, but still worth mentioning if it could be related still, that there’s also an issue that sometimes the system does not recognize the sound card on boot. I need to reset the device using
manually after which it works properly.
[10937.070513] usb 1-1: new high-speed USB device number 14 using xhci_hcd [10937.238020] usb 1-1: New USB device found, idVendor=0b05, idProduct=180d, bcdDevice= 1.03 [10937.238027] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [10937.238029] usb 1-1: Product: STRIX SOUND CARD [10937.238031] usb 1-1: Manufacturer: ASUSTeK [10937.252210] hid-generic 0003:0B05:180D.0007: No inputs registered, leaving [10937.252268] hid-generic 0003:0B05:180D.0007: hidraw6: USB HID v1.00 Device [ASUSTeK STRIX SOUND CARD] on usb-0000:04:00.0-1/input4 [10937.265359] mc: Linux media interface: v0.10 [10937.383590] usbcore: registered new interface driver snd-usb-audio
❯ lsusb -d 0b05:180d Bus 001 Device 014: ID 0b05:180d ASUSTek Computer, Inc. STRIX SOUND CARD
❯ lsusb -t -d 0b05:180d /: Bus 10.Port 1: Dev 1, Driver=xhci_hcd/4p, 10000M |__ Port 3: Dev 2, If 0, Driver=hub/3p, 5000M /: Bus 09.Port 1: Dev 1, Driver=xhci_hcd/4p, 480M |__ Port 3: Dev 2, If 0, Driver=hub/6p, 480M |__ Port 1: Dev 3, If 0, Interface Device, Driver=usbhid, 12M |__ Port 1: Dev 3, If 1, Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 13, If 1, Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 13, If 2, Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 13, If 0, Interface Device, Driver=usbhid, 12M |__ Port 6: Dev 8, If 0, Interface Device, Driver=usbhid, 480M /: Bus 08.Port 1: Dev 1, Driver=xhci_hcd/4p, 10000M /: Bus 07.Port 1: Dev 1, Driver=xhci_hcd/2p, 480M /: Bus 06.Port 1: Dev 1, Driver=xhci_hcd/4p, 10000M /: Bus 05.Port 1: Dev 1, Driver=xhci_hcd/6p, 480M |__ Port 6: Dev 2, If 0, Specific Class, Driver=btusb, 12M |__ Port 6: Dev 2, If 1, Specific Class, Driver=btusb, 12M |__ Port 6: Dev 2, If 2, Specific Class, Driver=btusb, 12M |__ Port 6: Dev 2, If 3, Specific Interface, Driver=, 12M /: Bus 04.Port 1: Dev 1, Driver=xhci_hcd/4p, 10000M /: Bus 03.Port 1: Dev 1, Driver=xhci_hcd/6p, 480M /: Bus 02.Port 1: Dev 1, Driver=xhci_hcd/2p, 5000M /: Bus 01.Port 1: Dev 1, Driver=xhci_hcd/2p, 480M |__ Port 1: Dev 14, If 0, Driver=snd-usb-audio, 480M |__ Port 1: Dev 14, If 1, Driver=snd-usb-audio, 480M |__ Port 1: Dev 14, If 2, Driver=snd-usb-audio, 480M |__ Port 1: Dev 14, If 3, Driver=snd-usb-audio, 480M |__ Port 1: Dev 14, If 4, Interface Device, Driver=usbhid, 480M
lsusb -v -d 0b05:180d Bus 001 Device 014: ID 0b05:180d ASUSTek Computer, Inc. STRIX SOUND CARD Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0b05 ASUSTek Computer, Inc. idProduct 0x180d bcdDevice 1.03 iManufacturer 1 ASUSTeK iProduct 2 STRIX SOUND CARD iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x03f2 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 4 bFunctionClass 1 Audio bFunctionSubClass 0 bFunctionProtocol 32 iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 32 iInterface 0 AudioControl Interface Descriptor: bLength 17 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0201 Microphone bAssocTerminal 0 bCSourceID 22 bNrChannels 2 bmChannelConfig 0x00000003 Front Left (FL) Front Right (FR) iChannelNames 0 bmControls 0x0044 Connector Control (read-only) Cluster Control (read-only) iTerminal 0
❯ udevadm info /dev/bus/usb/001/001 P: /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:02.0/0000:04:00.0/usb1 M: usb1 R: 1 U: usb T: usb_device D: c 189:0 N: bus/usb/001/001 L: 0 V: usb E: DEVPATH=/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:02.0/0000:04:00.0/usb1 E: DEVNAME=/dev/bus/usb/001/001 E: DEVTYPE=usb_device E: DRIVER=usb E: PRODUCT=1d6b/2/518 E: TYPE=9/0/1 E: BUSNUM=001 E: DEVNUM=001 E: MAJOR=189 E: MINOR=0 E: SUBSYSTEM=usb E: USEC_INITIALIZED=10696364 E: ID_VENDOR=Linux_5.18.16-arch1-1_xhci-hcd E: ID_VENDOR_ENC=Linux\x205.18.16-arch1-1\x20xhci-hcd E: ID_VENDOR_ID=1d6b E: ID_MODEL=xHCI_Host_Controller E: ID_MODEL_ENC=xHCI\x20Host\x20Controller E: ID_MODEL_ID=0002 E: ID_REVISION=0518 E: ID_SERIAL=Linux_5.18.16-arch1-1_xhci-hcd_xHCI_Host_Controller_0000:04:00.0 E: ID_SERIAL_SHORT=0000:04:00.0 E: ID_BUS=usb E: ID_USB_INTERFACES=:090000: E: ID_VENDOR_FROM_DATABASE=Linux Foundation E: ID_AUTOSUSPEND=1 E: ID_MODEL_FROM_DATABASE=2.0 root hub E: ID_PATH=pci-0000:04:00.0 E: ID_PATH_TAG=pci-0000_04_00_0 E: ID_FOR_SEAT=usb-pci-0000_04_00_0 E: TAGS=:seat: E: CURRENT_TAGS=:seat:
❯ amixer sget 'Capture' 0 Simple mixer control 'Capture',0 Capabilities: cvolume cswitch cswitch-joined Capture channels: Front Left - Front Right Limits: Capture 0 - 65536 Front Left: Capture 99957 [153%] [on] Front Right: Capture 99957 [153%] [on]
So the issue seems a bit odd and nothing really stands out, other than the device not always working on boot, but it’s unrelated to the mic gain issue I believe. I’d like to continue investigating this a bit further. What could be next good steps, logs, commands, or other options to investigate next? Thanks!
Last edited by erdine (2022-08-23 20:03:53)