# No sound with USB Schiit Audio stack



## saamir (Mar 8, 2021)

Hello,

I'm trying to make working a Schiit Audio Modi 3 USB dac with my laptop running FreeBSD (13.0-BETA3, the problem was the same before upgrading from 12.2-RELEASE). The dac is connected (and so forming the "Schiit stack") to a Schiit Audio Magni Heresy head-amp, on which are connected headphones.

No sound is coming out the headphones (it is working on an other laptop, with a different OS).

When plugging the Dac:


```
ugen0.5: <Schiit Audio Schiit Modi 3+> at usbus0
uaudio0 on uhub0
uaudio0: <Schiit Audio Schiit Modi 3+, class 239/2, rev 2.00/1.00, addr 12> on usbus0
uaudio0: Play[0]: 192000 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 176400 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 96000 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 88200 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 48000 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 44100 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: No recording.
uaudio0: No MIDI sequencer.
pcm2: <USB audio> on uaudio0
uaudio0: No HID volume keys found.
```

I then ran the command: `sysctl hw.snd.default_unit=2` to make the dac the default output.

Some info of the current setup:


```
# cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC256 (Analog 2.0+HP/2.0)> (play/rec)
pcm1: <Intel Kaby Lake (HDMI/DP 8ch)> (play)
pcm2: <USB audio> (play) default
No devices installed from userspace.
```


```
# mixer
Mixer vol      is currently set to  75:75
Mixer pcm      is currently set to  75:75
```


```
# sysctl hw.snd
hw.snd.maxautovchans: 16
hw.snd.default_unit: 2
hw.snd.version: 2009061500/amd64
hw.snd.default_auto: 0
hw.snd.verbose: 4
hw.snd.vpc_mixer_bypass: 1
hw.snd.feeder_rate_quality: 1
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.feeder_rate_polyphase_max: 183040
hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97
hw.snd.feeder_eq_exact_rate: 0
hw.snd.feeder_eq_presets: PEQ:16000,0.2500,62,0.2500:-9,9,1.0:44100,48000,88200,96000,176400,192000
hw.snd.basename_clone: 1
hw.snd.compat_linux_mmap: 0
hw.snd.syncdelay: -1
hw.snd.usefrags: 0
hw.snd.vpc_reset: 0
hw.snd.vpc_0db: 45
hw.snd.vpc_autoreset: 1
hw.snd.timeout: 5
hw.snd.latency_profile: 1
hw.snd.latency: 2
hw.snd.report_soft_matrix: 1
hw.snd.report_soft_formats: 1
```


```
# sysctl dev.pcm.2
dev.pcm.2.feedback_rate: 46875
dev.pcm.2.mixer.mute_0.desc:
dev.pcm.2.mixer.mute_0.max: 1
dev.pcm.2.mixer.mute_0.min: 0
dev.pcm.2.mixer.mute_0.val: 0
dev.pcm.2.bitperfect: 0
dev.pcm.2.buffersize: 0
dev.pcm.2.play.vchanformat: s16le:2.0
dev.pcm.2.play.vchanrate: 48000
dev.pcm.2.play.vchanmode: fixed
dev.pcm.2.play.vchans: 2
dev.pcm.2.hwvol_mixer: vol
dev.pcm.2.hwvol_step: 5
dev.pcm.2.%parent: uaudio0
dev.pcm.2.%pnpinfo:
dev.pcm.2.%location:
dev.pcm.2.%driver: pcm
dev.pcm.2.%desc: USB audio
```

With some debug activated, with `sysctl hw.usb.uaudio.debug=15` and `sysctl hw.snd.verbose=4`, I have an output containing that kind of lines in dmesg:


```
pcm2: chn_resizebuf(): PCMDIR_PLAY (hardware) timeout=21 b[6144/3072/2] bs[4096/2048/2] limit=0
sndbuf_remalloc(): b=0xfffff80005c03c00 16384 [4096] NOCHANGE
pcm2: chn_resizebuf(): PCMDIR_PLAY (virtual) timeout=21 b[0/0/0] bs[16384/2048/8] limit=7526
pcm2: chn_resizebuf(): PCMDIR_PLAY (hardware) timeout=21 b[6144/3072/2] bs[4096/2048/2] limit=0
pcm2: chn_resizebuf(): PCMDIR_PLAY (virtual) timeout=21 b[0/0/0] bs[16384/2048/8] limit=7526
pcm2: chn_resizebuf(): PCMDIR_PLAY (hardware) timeout=21 b[6144/3072/2] bs[4096/2048/2] limit=0
sndbuf_remalloc(): b=0xfffff80005c03c00 16384 [16384] NOCHANGE
pcm2: chn_resizebuf(): PCMDIR_PLAY (virtual) timeout=21 b[0/0/0] bs[16384/4096/4] limit=7526
pcm2: chn_start(): PCMDIR_PLAY (virtual) threshold i=1 j=0
pcm2: chn_start(): VCHAN PARENT starting! (PCMDIR_PLAY/running) (ready=6144 force=1 i=1 j=0 intrtimeout=21 latency=16ms)
pcm2: chn_trigger() pcm2:play:dsp2.p0: calling go=0x00000001 , prev=0xffffffff
pcm2: chn_trigger() pcm2:virtual:dsp2.vp0: calling go=0x00000001 , prev=0xffffffff
uaudio_chan_play_callback: short transfer, 0 of 3072 bytes
pcm2: WARNING: PCMDIR_PLAY DMA completion too fast/slow ! hwptr=0, old=0 delta=0 amt=0 ready=6144 free=0
uaudio_chan_play_callback: transferring 3072 bytes
uaudio_chan_play_callback: short transfer, 0 of 3072 bytes
uaudio_chan_play_callback: transferring 3072 bytes
uaudio_chan_play_callback: transferring 3072 bytes
uaudio_chan_play_callback: transferring 3072 bytes
```

I do not known how can I debug it more to find what could be the cause of the issue.


----------

