Well, I solved part of my own problem -- by removing the .endpoint and .ep_addr settings from the quirk it now works for capture under .ifnum=1. In fact, I now see the interface in JACK listed as hw:R16(#1) which it never had done before.
MIDI is also working properly on .ifnum=3
So, I am now certain that interface 2 is playback... however, playback does not work with the following:
{ .ifnum = 2, .type = QUIRK_AUDIO_FIXED_ENDPOINT, .data = & (const struct audioformat) { .formats = SNDRV_PCM_FMTBIT_S24_LE, .channels = 2, .iface = 1, .altsetting = 1, .altset_idx = 1, .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE, .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000, .rate_min = 44100, .rate_max = 96000, .nr_rates = 4, .rate_table = (unsigned int[]) { 44100, 48000, 88200, 96000 } } },
This totally freezes the computer... I am certain that the device is 24 bit, supports all four sample rates, and is capable of full duplex operation. Any suggestions for this playback section?
Thanks, Jason