Wrong audio driver being loaded. How to blacklist it?

My audio output device - an external USB DAC, sometimes loads with a generic(?) driver instead of the manufacturer driver. I know it’s possible to blacklist certain modules, but I’m not sure how to identify and blacklist a specific driver…

Proper driver: https://linux-hardware.org/?id=usb:262a-1122
Generic driver: https://linux-hardware.org/?id=usb:262a-9027

I think inxi -A should show what drive is being in use:

inxi -A 
Audio:
  Device-1: Intel Cannon Point-LP High Definition Audio driver: snd_hda_intel
  Sound Server-1: ALSA v: k5.16.0-zen1-1-zen running: yes
  Sound Server-2: PipeWire v: 0.3.43 running: yes

For blacklisting modules:

https://wiki.archlinux.org/title/Blacklist#Blacklisting

Edit: Perhaps inxi -Aa to also get a list of alternative modules for the device if available.

 inxi -Aa
Audio:
  Device-1: Intel Cannon Point-LP High Definition Audio vendor: Dell
    driver: snd_hda_intel v: kernel
    alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
    chip-ID: 8086:9dc8 class-ID: 0403
  Sound Server-1: ALSA v: k5.16.0-zen1-1-zen running: yes
  Sound Server-2: JACK v: 1.9.20 running: no
  Sound Server-3: PulseAudio v: 15.0 running: no
  Sound Server-4: PipeWire v: 0.3.43 running: yes

1 Like

That’s a good tip! Here is my output:

$ inxi -Aa
Audio:
  Device-1: Intel 200 Series PCH HD Audio vendor: ASUSTeK 
  driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a2f0 
  Device-2: AMD Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] 
  vendor: Gigabyte driver: snd_hda_intel v: kernel bus ID: 01:00.1 
  chip ID: 1002:aae0 
  Device-3: JDS Labs Element DAC type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus ID: 3-2:2 chip ID: 262a:1048 
  Sound Server: ALSA v: k5.15.13-051513-generic 

I’m not seeing “alternate” as in the above example, but it does appear there are three separate entries under “driver” for device #3.

Not sure which one is the generic kernel module. Perhaps snd-usb-audio?

What does

lsmod | grep usb

say?

https://wiki.archlinux.org/title/Kernel_module

Edit:

Kernel Drivers

The device is supported by kernel versions 2.6.14 and newer according to the LKDDb:

Tested Kernels

The following drivers have been loaded in submitted probes:

Driver Kernel
snd_usb_audio 5.4 - 2 probes