Hi,
I just saw your post and may have a usb quirk that could help, I don’t guarantee anything but it appears that the device has only one configuration for ISO streaming mode.
If this quirk produces some sound but is all static, you can try flipping _S24_3LE
with _S24_3BE
.
Good luck!
/* RME Digiface USB - UNTESTED */
{
USB_DEVICE(0x2a39, 0x3fa0),
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
.vendor_name = "RME",
.product_name = "DigifaceUSB",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]){
{
.ifnum = 0,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = &(const struct audioformat) {
.formats = SNDRV_PCM_FMTBIT_S24_3LE,
.channels = 32,
.iface = 0,
.altsetting = 1,
.altset_idx = 1,
.attributes = 0x1,
.endpoint = 0x02,
.ep_attr = USB_ENDPOINT_XFER_ISOC,
.maxpacksize = 0x380,
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
.rate_min = 44100,
.rate_max = 48000,
.nr_rates = 2,
.rate_table = (unsigned int[]) {
44100, 48000,
}
}
},
{
.ifnum = 0,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = &(const struct audioformat) {
.formats = SNDRV_PCM_FMTBIT_S24_3LE,
.channels = 34,
.iface = 0,
.altsetting = 1,
.altset_idx = 1,
.attributes = 0x1,
.endpoint = 0x81,
.ep_attr = USB_ENDPOINT_XFER_ISOC,
.maxpacksize = 0x3e8,
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000,
.rate_min = 44100,
.rate_max = 48000,
.nr_rates = 2,
.rate_table = (unsigned int[]) {
44100, 48000,
}
}
},
{
.ifnum = -1
}
}
}
}