No sound on headphones with external adc/dac

No audio output on my Steelseries Arctis Nova Pro. Also, it seems like I can only get audio on the internal sound card if I plug my headphones in. I must note that the Steelseries Arctis Nova Pro are using their own external DAC/ADC. To check on the status of audio through USB I tried also plugging in my external speakers, which seem to be working just fine.

% cat /dev/sndstat

outputs

Code:
Installed devices:
pcm0: <NVIDIA (0x009f) (HDMI/DP 8ch)> (play)
pcm1: <NVIDIA (0x009f) (HDMI/DP 8ch)> (play)
pcm2: <NVIDIA (0x009f) (HDMI/DP 8ch)> (play) default
pcm3: <Realtek ALC255 (Analog)> (play/rec)
pcm4: <Intel Tiger Lake (HDMI/DP 8ch)> (play)
pcm5: <SteelSeries Arctis Nova Pro> (play/rec)
pcm6: <ACTIONS Pebble V3> (play)
No devices installed from userspace.

To test the different devices I tried

% cat /dev/random > /dev/dspN

for all of the devices. I couldn't hear noise through any of these:
  • pcm0
  • pcm3 (if no headphones are plugged in)
  • pcm4
  • pcm5
I do have
Code:
 snd_driver_load="YES"
on /boot/loader.conf and the corresponding kernel modules do seem to be loaded:

% kldstat

outputs (truncated)
Code:
Id Refs Address                Size Name
 2    1 0xffffffff82138000     45c0 snd_driver.ko
 3    2 0xffffffff8213d000    1b6a0 snd_uaudio.ko
 4    2 0xffffffff82159000     72c0 snd_vibes.ko
 5    2 0xffffffff82161000     5c10 snd_via82c686.ko
 6    2 0xffffffff82167000     5cc0 snd_t4dwave.ko
 7    4 0xffffffff8216d000     3238 snd_spicds.ko
 8    2 0xffffffff82171000     7650 snd_solo.ko
 9    2 0xffffffff82179000    12298 snd_neomagic.ko
10    2 0xffffffff8218c000     c048 snd_maestro3.ko
11    2 0xffffffff82199000     a268 snd_hdspe.ko
12    2 0xffffffff821a4000     4808 snd_fm801.ko
13    2 0xffffffff821a9000     8cf8 snd_envy24ht.ko
14    2 0xffffffff821b2000     a078 snd_envy24.ko
15    2 0xffffffff821bd000     5ca8 snd_cs4281.ko
16    2 0xffffffff821c3000     7c98 snd_atiixp.ko
17    2 0xffffffff821cb000     61d0 snd_als4000.ko

Also, something that might have to do with it: # dmesg | grep pcm outputs
Code:
pcm5: chn_write(): pcm5:virtual:dsp5.vp1: play interrupt timeout, channel dead
pcm5: chn_write(): pcm5:virtual:dsp5.vp0: play interrupt timeout, channel dead
 
First of all, do not load the drivers in /boot/loader.conf. That's rarely necessary and as in your case, you'll miss the attach messages in dmesg | grep pcm. Most common drivers load automatically.

What could be helpful for troubleshooting:
  • This is a USB audio device, right? Are there specs for it, what are the supported audio formats?
  • Is it USB audio class compatible, or does it need a driver under e.g. Windows?
  • Look for messages in dmesg when you reboot without snd_driver preloaded.
  • Post the output of sysctl hw.snd.verbose=2; cat /dev/sndstat.
 
First of all, do not load the drivers in /boot/loader.conf. That's rarely necessary and as in your case, you'll miss the attach messages in dmesg | grep pcm. Most common drivers load automatically.

What could be helpful for troubleshooting:
  • This is a USB audio device, right? Are there specs for it, what are the supported audio formats?
  • Is it USB audio class compatible, or does it need a driver under e.g. Windows?
  • Look for messages in dmesg when you reboot without snd_driver preloaded.
  • Post the output of sysctl hw.snd.verbose=2; cat /dev/sndstat.
Hey! Thanks for the swift reply.
I'm coming from Linux and don't remember needing any special drivers. I don't believe Windows requires any either.
As for audio format support.. I'm not sure where to check but I'm pretty sure it should support all the popular and most common formats.
After commenting out the line that preloads the drivers on /boot/loader.conf , # dmesg | grep "pcm\|uaudio" reports:
Code:
pcm0: <NVIDIA (0x009f) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm1: <NVIDIA (0x009f) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm2: <NVIDIA (0x009f) (HDMI/DP 8ch)> at nid 7 on hdaa0
pcm3: <Realtek ALC255 (Analog)> at nid 33 and 18 on hdaa1
pcm4: <Intel Tiger Lake (HDMI/DP 8ch)> at nid 4 on hdaa2
uaudio0 on uhub2
uaudio0: <SteelSeries Arctis Nova Pro, class 0/0, rev 2.00/0.28, addr 4> on usbus1
uaudio0: Play[0]: 96000 Hz, 2 ch, 24-bit S-LE PCM format, 2x4ms buffer. (selected)
uaudio0: Play[0]: 48000 Hz, 2 ch, 24-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Play[0]: 44100 Hz, 2 ch, 24-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 48000 Hz, 1 ch, 24-bit S-LE PCM format, 2x4ms buffer. (selected)
uaudio0: No MIDI sequencer.
pcm5 on uaudio0
uaudio0: No HID volume keys found.
And the output of # sysctl hw.snd.verbose=2; cat /dev/sndstat:

Code:
FreeBSD Audio Driver (64bit 2009061500/amd64)
Installed devices:
pcm0: <NVIDIA (0x009f) (HDMI/DP 8ch)> on hdaa0 (1p:1v/0r:0v)
    snddev flags=0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
    [pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010, flags 0x00006100, 0x00000004
    interrupts 0, underruns 0, feed 0, ready 0 [b:2048/1024/2|bs:2048/1024/2]
    channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
    {userland} -> feeder_mixer(0x00200010) -> {hardware}
    pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
    interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
    channel flags=0x10000000<VIRTUAL>
    {userland} -> feeder_root(0x00000000) -> {hardware}
pcm1: <NVIDIA (0x009f) (HDMI/DP 8ch)> on hdaa0 (1p:1v/0r:0v)
    snddev flags=0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
    [pcm1:play:dsp1.p0]: spd 48000, fmt 0x00200010, flags 0x00006100, 0x00000004
    interrupts 0, underruns 0, feed 0, ready 0 [b:2048/1024/2|bs:2048/1024/2]
    channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
    {userland} -> feeder_mixer(0x00200010) -> {hardware}
    pcm1:play:dsp1.p0[pcm1:virtual:dsp1.vp0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
    interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
    channel flags=0x10000000<VIRTUAL>
    {userland} -> feeder_root(0x00000000) -> {hardware}
pcm2: <NVIDIA (0x009f) (HDMI/DP 8ch)> on hdaa0 (1p:1v/0r:0v)
    snddev flags=0x200002e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC,PRIO_WR>
    [pcm2:play:dsp2.p0]: spd 48000, fmt 0x00200010, flags 0x00006100, 0x00000004
    interrupts 108, underruns 0, feed 108, ready 0 [b:2048/1024/2|bs:2048/1024/2]
    channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
    {userland} -> feeder_mixer(0x00200010) -> {hardware}
    pcm2:play:dsp2.p0[pcm2:virtual:dsp2.vp0]: spd 8000/48000, fmt 0x00100008/0x00200010, flags 0x10000000, 0x0000006b
    interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:512/64/8]
    channel flags=0x10000000<VIRTUAL>
    {userland} -> feeder_root(0x00100008) -> feeder_format(0x00100008 -> 0x00100010) -> feeder_rate(0x00100010 q:1 8000 -> 48000) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}
pcm3: <Realtek ALC255 (Analog)> on hdaa1 (1p:1v/1r:1v) default
    snddev flags=0x2e2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
    [pcm3:play:dsp3.p0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000004
    interrupts 170, underruns 0, feed 170, ready 0 [b:2048/1024/2|bs:2048/1024/2]
    channel flags=0x2100<BUSY,HAS_VCHAN>
    {userland} -> feeder_mixer(0x00200010) -> {hardware}
    pcm3:play:dsp3.p0[pcm3:virtual:dsp3.vp0]: spd 8000/48000, fmt 0x00100008/0x00200010, flags 0x10000000, 0x0000006b
    interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:512/64/8]
    channel flags=0x10000000<VIRTUAL>
    {userland} -> feeder_root(0x00100008) -> feeder_format(0x00100008 -> 0x00100010) -> feeder_rate(0x00100010 q:1 8000 -> 48000) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}
    [pcm3:record:dsp3.r0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000005
    interrupts 0, overruns 0, feed 0, hfree 512, sfree 512 [b:512/256/2|bs:512/256/2]
    channel flags=0x2100<BUSY,HAS_VCHAN>
    {hardware} -> feeder_root(0x00200010) -> feeder_mixer(0x00200010) -> {userland}
    pcm3:record:dsp3.r0[pcm3:virtual:dsp3.vr0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
    interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
    channel flags=0x10000000<VIRTUAL>
    {hardware} -> feeder_root(0x00000000) -> {userland}
pcm4: <Intel Tiger Lake (HDMI/DP 8ch)> on hdaa2 (1p:1v/0r:0v)
    snddev flags=0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
    [pcm4:play:dsp4.p0]: spd 48000, fmt 0x00200010, flags 0x00006100, 0x00000004
    interrupts 0, underruns 0, feed 0, ready 0 [b:2048/1024/2|bs:2048/1024/2]
    channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
    {userland} -> feeder_mixer(0x00200010) -> {hardware}
    pcm4:play:dsp4.p0[pcm4:virtual:dsp4.vp0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
    interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
    channel flags=0x10000000<VIRTUAL>
    {userland} -> feeder_root(0x00000000) -> {hardware}
pcm5: <SteelSeries Arctis Nova Pro> on uaudio0 (1p:1v/1r:1v)
    snddev flags=0x2e2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
    [pcm5:play:dsp5.p0]: spd 48000, fmt 0x00200010/0x00210000, flags 0x00002100, 0x00000006
    interrupts 0, underruns 0, feed 0, ready 0 [b:2304/1152/2|bs:2048/1024/2]
    channel flags=0x2100<BUSY,HAS_VCHAN>
    {userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 -> 0x00210000) -> {hardware}
    pcm5:play:dsp5.p0[pcm5:virtual:dsp5.vp0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
    interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
    channel flags=0x10000000<VIRTUAL>
    {userland} -> feeder_root(0x00000000) -> {hardware}
    [pcm5:record:dsp5.r0]: spd 48000, fmt 0x00200010/0x00110000, flags 0x00002100, 0x00000047
    interrupts 0, overruns 0, feed 0, hfree 1152, sfree 2048 [b:1152/576/2|bs:2048/1024/2]
    channel flags=0x2100<BUSY,HAS_VCHAN>
    {hardware} -> feeder_root(0x00110000) -> feeder_format(0x00110000 -> 0x00100010) -> feeder_matrix(1.0 -> 2.0) -> feeder_mixer(0x00200010) -> {userland}
    pcm5:record:dsp5.r0[pcm5:virtual:dsp5.vr0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
    interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
    channel flags=0x10000000<VIRTUAL>
    {hardware} -> feeder_root(0x00000000) -> {userland}
No devices installed from userspace.
 
I don't see anything obvious in the logs. If you still get the
pcm5: chn_write(): pcm5:virtual:dsp5.vp1: play interrupt timeout, channel dead
pcm5: chn_write(): pcm5:virtual:dsp5.vp0: play interrupt timeout, channel dead
messages while trying to play sound, this smells like a USB issue which is a bit more involved to debug.
Apart from that you could try the following things:
  • Check the mixer() values of pcm5.
  • Change the USB setup, no hubs and other devices on the same controller.
  • Record some sound.
  • Run duplex mode, play and record at the same time.
  • Change audio format, e.g. sysctl dev.pcm.5.play.vchanformat=s24le:2.0 and sysctl dev.pcm.5.play.vchanrate=96000.
 
I have Arctis 7 and used wifi transmitter as sound card on my pc and used pavucontrol to choose my Arctis 7 usb soundcard as i had my speakers plugged in.
I have Aorus FI32U with ESS SABRE just dont know model but it says HiFi and you have ESS Sabre 9218PQ40 - i will try tomorrow or day after tomorrow to test it if i have sound and i will try to figure it out what model i have as i cant find in the documentation.
Long shot but who knows : tried this ? it wont hurt
Also this.
 
Back
Top