13.2-RELEASE vs. ESI U24XL

From: Craig Leres <leres_at_freebsd.org>
Date: Fri, 01 Mar 2024 00:50:23 UTC
I've been using a U24XL with FreeBSD for the last 8 years to 
simultaneously record and play back S/PDIF (using in-house C programs). 
The system had been running 13.2-RELEASE-p8 since December 15th but when 
I rebooted today, switching to -p10, I lost the ability to record 
digital audio; playback still works. I've double checked my digital 
input, reverted the kernel to p8 (and p5), etc. but whatever I try the 
data I see is just 16 bits of zeros or ones. The data appears to be the 
same with a S/PDIF cable plugged in or not. It makes me suspect


I've poked at kernel changes between p8 and p10 and don't see anything 
relevant. I have a spare U24XL but it behaves the same way.

I thought I'd try the ESI control panel on linux but they don't support 
it. Same for osx but no sonoma support... So I figured up a windows 10 
pro box and that worked! And the control panel lets me switch from 
analog (apparently the default) to digital.

So my question is, how do I select the digital input on a U24XL?

Some info appended.

		Craig

tiny 42 # cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC283 (Rear Analog)> (play/rec) default
pcm1: <Intel Skylake (HDMI/DP 8ch)> (play)
pcm2: <USB audio> (play/rec)
No devices installed from userspace.
tiny 43 # sysctl dev.pcm.2
dev.pcm.2.feedback_rate: 0
dev.pcm.2.mixer.mute_4.desc:
dev.pcm.2.mixer.mute_4.max: 1
dev.pcm.2.mixer.mute_4.min: 0
dev.pcm.2.mixer.mute_4.val: 0
dev.pcm.2.mixer.vol_3_1.desc:
dev.pcm.2.mixer.vol_3_1.max: 0
dev.pcm.2.mixer.vol_3_1.min: -14080
dev.pcm.2.mixer.vol_3_1.val: -256
dev.pcm.2.mixer.vol_3_0.desc:
dev.pcm.2.mixer.vol_3_0.max: 0
dev.pcm.2.mixer.vol_3_0.min: -14080
dev.pcm.2.mixer.vol_3_0.val: -256
dev.pcm.2.mixer.mute_2.desc:
dev.pcm.2.mixer.mute_2.max: 1
dev.pcm.2.mixer.mute_2.min: 0
dev.pcm.2.mixer.mute_2.val: 0
dev.pcm.2.mixer.vol_1_1.desc:
dev.pcm.2.mixer.vol_1_1.max: 3072
dev.pcm.2.mixer.vol_1_1.min: -10240
dev.pcm.2.mixer.vol_1_1.val: -256
dev.pcm.2.mixer.vol_1_0.desc:
dev.pcm.2.mixer.vol_1_0.max: 3072
dev.pcm.2.mixer.vol_1_0.min: -10240
dev.pcm.2.mixer.vol_1_0.val: -256
dev.pcm.2.mixer.selector_0.desc:
dev.pcm.2.mixer.selector_0.max: 2
dev.pcm.2.mixer.selector_0.min: 1
dev.pcm.2.mixer.selector_0.val: 1
dev.pcm.2.mode: 7
dev.pcm.2.bitperfect: 1
dev.pcm.2.buffersize: 0
dev.pcm.2.rec.vchans: 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: 1
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