No sound from USB headset but it IS recognized by system

I have a USB-C Jabra headset/microphone combination that isn't outputting any sound. I can see the system recognizes it by the output:

# cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC256 (Analog 2.0+HP/2.0)> (play/rec) default
pcm1: <Realtek ALC256 (Rear Analog Line-out)> (play)
pcm2: <Intel Alder Lake (HDMI/DP 8ch)> (play)
pcm3: <GN Netcom A/S Jabra EVOLVE LINK> (play/rec)
Installed devices from userspace:
dsp: <virtual_oss device> (play/rec)
dsp.loop: <virtual_oss device> (play/rec)

I issue this command:

# cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC256 (Analog 2.0+HP/2.0)> (play/rec)
pcm1: <Realtek ALC256 (Rear Analog Line-out)> (play)
pcm2: <Intel Alder Lake (HDMI/DP 8ch)> (play)
pcm3: <GN Netcom A/S Jabra EVOLVE LINK> (play/rec) default
Installed devices from userspace:
dsp: <virtual_oss device> (play/rec)
dsp.loop: <virtual_oss device> (play/rec)

I then issue this command:

# sysctl -w hw.snd.default_unit=3

and the command executes fine, but after reboot, it goes right back to

# sysctl hw.snd.default_unit
hw.snd.default_unit: 0

I have installed both pavucontrol pulseaudio packages, and they don't seem to see the headset. The system tray icon only says "Dummy" output.

What am I missing?

Thank you,
Ed
 
Any change you make with sysctl will go back to its default after a reboot, you can put it in /etc/sysctl.conf to make it permanent, you can also set it up to automatically change whenever you connect the usb.
 
Thank you.

I guess I don't know what the command in the sysctl.conf file should be.

I added: sysctl -w hw.snd.default_unit=3 to the bottom of the file, but it reverts back to:

sysctl hw.snd.default_unit
hw.snd.default_unit: 0

Suggestions?

Ed
 
I figured out that I just needed to add: hw.snd.default_unit=3 to the bottom of the file, but the system still doesn't seem use the headset. My systray volume control still says "Dummy" output and nothing more.

Suggestions?

Ed
 
If you add
Code:
hw.snd.default_auto=2
to /etc/sysctl.conf, it will cause the sound driver to use the most recently plugged in sound device. So if you usb card isn't plugged in it will use the onboard sound card, but if it's plugged in it will use the usb soundcard. That's the best way I've found, then you don't need to hardwire the default unit to any particular card. It's documented in the 'sound' manpage, it takes a bit of searching for. Of course you can also run that sysctl manually.

If you still haven't got any sound, you need to check the mixer volume and check it's not muted. Just running 'mixer' by itself should let you set volume etc for the current default card.

Try
$ mixer pcm=1.00
and
$ mixer vol=1.00

Or if you want a nice curses type front end, try 'mixertui' which does the same thing.

And for some easy test data, there is a handy set of 'lofi' scripts here https://forums.freebsd.org/threads/useful-scripts.737/page-19#post-773836 that lets you steam the yt lofi channels from the terminal . You need mpv and yt-dlp installed to use them, I always get the latest yt-dlp from github https://github.com/yt-dlp/yt-dlp and install it manually .
 
Back
Top