USB soundcard Creative Sound Blaster HD not always recognized after boot

Hey, I have troubles getting my USB soundcard to get recognized on every boot. I'm on Zorin OS 18.2 with X11 and PipeWire and it's a Sound Blaster SBX HD Model No. SB1240. I have some experience with Linux, Debian, Ubuntu and Linux Mint in particular, but I'm mostly just copy pasting commands, which was not enough to find a solution for this.

It usually works fine, but every now and then, like every 3-5 reboots, it's not used or listed as a output device. Unplugging and replugging it resolves the issue most of the time, sometimes I need to restart, which ist getting pretty annoying. I have searched for solutions but most are for different issues and aren't using PipeWire. I want to stay on PipeWire if possible, but I if nothing else works, I'm willing to switch to Pulseaudio in the hopes that that works.

Here are some more infos and what I tried to resolve this:

jan@mindfunk:~$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xdf140000 irq 136
 1 [HD             ]: USB-Audio - USB Sound Blaster HD
                      Creative Technology USB Sound Blaster HD at usb-0000:00:14.0-9, full speed
 2 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xdf080000 irq 17
 3 [camera         ]: USB-Audio - USB  Live camera
                      Sonix Technology Co., Ltd. USB  Live camera at usb-0000:00:14.0-13.1, high spee
 4 [Talk           ]: USB-Audio - KLIM Talk
                      KLIM Talk at usb-0000:00:14.0-13.3, full speed
jan@mindfunk:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1038:1720 SteelSeries ApS Mouse
Bus 001 Device 003: ID 046a:0023 CHERRY Keyboard
Bus 001 Device 004: ID 041e:3232 Creative Technology, Ltd Sound Blaster Premium HD [SBX]
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 006: ID 0c45:636b Microdia USB  Live camera
Bus 001 Device 007: ID 0c76:1468 JMTek, LLC. KLIM Talk
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0626 Genesys Logic, Inc. Hub
jan@mindfunk:~$ lsmod | grep usb
snd_usb_audio         573440  3
snd_usbmidi_lib        57344  1 snd_usb_audio
snd_ump                45056  1 snd_usb_audio
snd_hwdep              24576  2 snd_usb_audio,snd_hda_codec
snd_rawmidi            57344  3 snd_seq_midi,snd_usbmidi_lib,snd_ump
snd_pcm               200704  11 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_compress,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd                   143360  30 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_hda_codec_realtek_lib,snd_compress,snd_soc_core,snd_ump,snd_pcm,snd_rawmidi
mc                     81920  5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
usbhid                 77824  0
hid                   262144  3 usbhid,hid_generic,hid_cherry
jan@mindfunk:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HD [USB Sound Blaster HD], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HD [USB Sound Blaster HD], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HD [USB Sound Blaster HD], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 3: HDMI 0 [ED273UR]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 7: HDMI 1 [ED270U P]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Checking for errors after boot with no sound:

jan@mindfunk:~$ sudo dmesg | grep -C1 -E 'ALSA|HDA|HDMI|snd[_-]|sound|hda.codec|hda.intel'
[    3.671843] usbcore: registered new interface driver uvcvideo
[    3.850602] snd_hda_intel 0000:01:00.1: Disabling MSI
[    3.850609] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    3.867519] snd_hda_codec_alc662 hdaudioC0D0: ALC892: picked fixup  for PCI SSID 1849:5892
[    3.867852] snd_hda_codec_alc662 hdaudioC0D0: autoconfig for ALC892: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[    3.867854] snd_hda_codec_alc662 hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.867856] snd_hda_codec_alc662 hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[    3.867858] snd_hda_codec_alc662 hdaudioC0D0:    mono: mono_out=0x0
[    3.867859] snd_hda_codec_alc662 hdaudioC0D0:    inputs:
[    3.867860] snd_hda_codec_alc662 hdaudioC0D0:      Rear Mic=0x18
[    3.867862] snd_hda_codec_alc662 hdaudioC0D0:      Front Mic=0x19
[    3.867863] snd_hda_codec_alc662 hdaudioC0D0:      Line=0x1a
[    3.876649] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input10
[    3.876749] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input11
[    3.876829] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input12
[    3.876880] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input13
[    3.882304] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input14
[    3.882370] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15
[    3.882901] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input16
[    3.882954] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17
[    3.883002] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18
[    4.021364] nvidia: loading out-of-tree module taints kernel.
--
[    8.985766] usb 1-13.3: [50] FU [Mic Capture Volume] ch = 1, val = 0/7936/16
[    8.985959] usbcore: registered new interface driver snd-usb-audio
[    8.995665] usb 1-9: 2:0: cannot get min/max values for control 2 (id 2)

And after unplugging and plugging it back in, so it got recognized:

jan@mindfunk:~$ sudo dmesg | grep -C1 -E 'ALSA|HDA|HDMI|snd[_-]|sound|hda.codec|hda.intel'
[    3.671843] usbcore: registered new interface driver uvcvideo
[    3.850602] snd_hda_intel 0000:01:00.1: Disabling MSI
[    3.850609] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    3.867519] snd_hda_codec_alc662 hdaudioC0D0: ALC892: picked fixup  for PCI SSID 1849:5892
[    3.867852] snd_hda_codec_alc662 hdaudioC0D0: autoconfig for ALC892: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[    3.867854] snd_hda_codec_alc662 hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.867856] snd_hda_codec_alc662 hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[    3.867858] snd_hda_codec_alc662 hdaudioC0D0:    mono: mono_out=0x0
[    3.867859] snd_hda_codec_alc662 hdaudioC0D0:    inputs:
[    3.867860] snd_hda_codec_alc662 hdaudioC0D0:      Rear Mic=0x18
[    3.867862] snd_hda_codec_alc662 hdaudioC0D0:      Front Mic=0x19
[    3.867863] snd_hda_codec_alc662 hdaudioC0D0:      Line=0x1a
[    3.876649] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input10
[    3.876749] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input11
[    3.876829] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input12
[    3.876880] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input13
[    3.882304] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input14
[    3.882370] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15
[    3.882901] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input16
[    3.882954] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17
[    3.883002] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18
[    4.021364] nvidia: loading out-of-tree module taints kernel.
--
[    8.985766] usb 1-13.3: [50] FU [Mic Capture Volume] ch = 1, val = 0/7936/16
[    8.985959] usbcore: registered new interface driver snd-usb-audio
[    8.995665] usb 1-9: 2:0: cannot get min/max values for control 2 (id 2)

I can't really see any issues here...

I also tried running

sudo udevadm trigger
instead of unplugging und plugging the soundcard, which didn't help.

And I tried modprobe which supposedly will throw an initialization error if the module was already loaded, which didn't happen no matter how often I ran it. Also didn't solve the issue, though. Trying to remove snd_usb_audio on the other hand did throw an error.

jan@mindfunk:~$ sudo modprobe snd_usb_audio
jan@mindfunk:~$ sudo modprobe snd_usb_audio
jan@mindfunk:~$ sudo rmmod snd_usb_audio
rmmod: ERROR: Module snd_usb_audio is in use

Any ideas what else to do?

Did You already tried Pulse Audio Volume Control? It is a Tool for setting up Audio Output and Input. You can install it with sudo apt install pavucontrol via Terminal or look for it in Gnome Software.

When installed, check the Configuration and Output Tabs for Audio Options and Profiles. Because this is an Issues what seems to happen here and there, it might need some Time to check if it helps.

I haven't tried Pulse Audio Volume Control, because 18.2 has PipeWire instead of PulseAudio. Or am I missing something here?

Pavucontrol also works with pipewire.

1 Like

I see. Alright, installed it and ran it.

I disabled the other output devices for convenience. We'll see what happens!

After the first restart the disabled entries reappear in the output selection, which doesn't spark confidence, but at least no other issues until now.

Hi, I suggest you create a blacklist.conf for the sources you don't want showing, then also install ALSA packages (apart from OSS and JACK), and qashctrl, qasmixer, qasconfig. Also install Audacious and in Settings, change audio to ALSA.

For a bit of background:

Please be sure to read the entire thread on that Tutorial. :wink:

They are listed because they are ''existing'' but turned off. This is normal. What You also can do: On the Output Tab make sure that on Your Audio Device on the right Side the Marker is active.

Thanks for the recommendation! I don't think it's that big of an issue, I just assumed that disabling them in the pavucontrol would hide them from the selection. Actually, I was convinced that they were gone after disabling them. Oh well...

I'm very hesitant to just install a bunch of stuff in the vague hopes of improving the audio situation. I'll come back to it, should this not have already resolved the issue.

Oh also, my /proc/asound/modules entries look a bit weird:

 0 snd_usb_audio
 1 snd_usb_audio
 2 snd_hda_intel
 3 snd_hda_intel
 4 snd_usb_audio

If I understand right 0 snd_usb_audio is the default device, which would be the usb Sound Blaster. 1 and 4 are probably my usb mic and webcam. The snd_hda_intel entries should then be for my screens, which are connected with HDMI and DisplayPort respectively. I don't see my onboard soundcard here, though.

Just out of curiosity, could I just blacklist just one snd_hda_intel? Can I define which one? Do I need to blacklist snd_hda_intel twice to disable them both?

I would disable them both.

What normally happens when you have an onboard sound card (Desktop machine) the Linux kernel tends to put HDMI top of the list. This is where I had to blacklist the Intel entry in my blacklist.conf file, otherwise the kernel will be pulling in two directions.

With regard to your internal card, is this a Notebook or a Desktop machine?

It's a desktop.

To disable them both I just create a blacklist with the entries:

blacklist snd_hda_intel
blacklist snd_hda_intel

Right?

I went back to my tutorial post. I would just do the one entry, save the file and then reboot. Then run the sound module command to see if it shows up.

If you install qasmixer, qashctrl and qas config, when you open qasmixer you should see a panel on the right and if you select 'card:' it should show what is present and snd-hda-intel should not show.

Issue still remains. I've now installed qasconfig qasmixer qastools-common. Couldn't find qashctrl on apt.

qasmixer doesn't find the device at all.

Makes me think the problem is somewhere else. Maybe the usb port is faulty?

With out the r: qashctl

1 Like

Got it! Will installing all this do anything directly or what should I be doing with this?

I have switches usb ports in the hopes that was the issue.

No improvement :confused:

Oops! My bad!:blush:

Did you install ALSA packages? The best way to get such packages is to use Synaptic Package Manager.

I covered it briefly (Synaptic) in the Unofficial Manual for Zorin 18.

I have done a search using Ubuntu 24.04 in search criteria on Brave search engine as that is what Zorin is based on. Brave A.I. result always comes back at top of results:

" Getting a USB SoundBlaster card to work reliably on Ubuntu 24.04 after each reboot typically requires addressing PulseAudio or PipeWire default device switching and ensuring ALSA settings persist.

1. Prevent Default Device Switching Ubuntu 24.04 may switch audio sinks/sources on boot. Edit the PulseAudio configuration to lock the device:

  • Open /etc/pulse/default.pa with a text editor.
  • Comment out the line load-module module-switch-on-connect by adding a # at the start.
  • Add set-default-sink and set-default-source lines with your specific SoundBlaster device names (find these via pactl list short sinks ).

2. Persist ALSA Mixer Settings ALSA mixer settings often reset on reboot. To save them:

  • Install alsa-utils if not present.
  • Use alsamixer to set your desired levels and unmute inputs.
  • Save the current ALSA mixer settings to a file: sudo alsa save .
  • Ensure the alsa-utils service is enabled to load these settings on boot: sudo systemctl enable alsa-state.service .

3. Handle USB Initialization Delays (Workaround) If the card fails to initialize quickly enough, create a startup script:

  • Create a script (e.g., ~/bin/setmic.sh ) that runs amixer commands to set the correct capture source (e.g., "External Mic") for your specific SoundBlaster model.
  • Add this script to your Startup Applications or a systemd user service with a slight delay to ensure the USB device is fully recognized before the script runs.

4. Blacklist Conflicting Drivers If integrated audio conflicts with the USB SoundBlaster:

  • Edit /etc/modprobe.d/alsa-base.conf .
  • Add options snd-usb-audio index=0 to prioritize the USB card.
  • Optionally blacklist conflicting HDMI audio drivers: blacklist snd_hda_codec_hdmi .
  • Run sudo update-initramfs -u and reboot.

AI-generated answer. Please verify critical facts."

In respect of editing files I prefer using nano so in the terminal you would always start with sudo nano:

sudo nano /etc/pulse/default.pa