I've been using an ESI U24XL for about 8 years to simultaneously record
and play back S/PDIF (using in-house C programs under FreeBSD). Recently
recording stopped working (playback is still fine) and I believe the
cause is that the device has somehow switched to using its analog input.
I installed the driver and control panel on a windows system and it can
easily switch between inputs. I installed wireshark and usbpcap and made
some short captures one for switching from digital to analog and another
switching back to digital:
https://xse.com/leres/scratch/u24xl-analog.pcapng
https://xse.com/leres/scratch/u24xl-digital.pcapng
I believe the "URB_CONTROL out" packet is used to switch inputs; looking
at the two versions of that packet I see "data fragment" is 01 when
going to analog and 02 when going to digital.
Could someone please give me some hints on how I might send these
packets under FreeBSD?
Craig