Am 07.07.2010 14:44, schrieb Clemens Ladisch:
The descriptors already list these rates, so in theory, the existing code that sets UAC_EP_CS_ATTR_SAMPLE_RATE should already have enabled this. Didn't it? In other words, what is the difference in the explicitly specified audioformat?
I can only tell you the difference to the behaviour of latest git Alsa before this patch:
44100 and 88200 Hz had already been enabled. But the device could not properly be used at these sampling rates. Everything would sound distorted. After a while of running the device at these sample rates, my systems had a tendency to crash/freeze.
(I have the suspicion that we don't actually need a AUDIO_FIXED_ENDPOINT quirk for these devices.)
Something must be in this AUDIO_FIXED_ENDPOINT quirk, since the device now works properly and stable @44.1/88.2 kHz. I don't know the exact reason, since I really don't understand all this stuff. I just have this device and try to fix it's behaviour.
- apparently, fixes some crashes, too
When do these crashes happen?
See above: System crashes occured when using the device at 44.1/88.2 kHz.
If you don't have the exclusive copyright for the code in this patch, there needs to be a Signed-off-by line from him, too. OTOH, a table like this probably isn't copyrightable at all.
If the patch is copyrightable then its copyright belongs to you: The patch I send some time ago to enable basic support for these devices was an updated version of *your* patch send some time ago to a mailing list. The patch dhubsith posted was explicitly based on existing code in quirks-table.h and the existing quirk.
Take a look at the entry for the Digidesign Mbox (credited to you): It's essentially the same.
- USB_DEVICE(0x0763, 0x2080),
USB_DEVICE(0x0763, 0x2081),
...
This replaces the ID of the Ultra 8 ID with that of the Ultra 8R ...
Ooops. I've messed it up... (I've just got the 8R version so I didn't notice...)
USB_DEVICE(0x0763, 0x2081),
- .driver_info = ...
.driver_info = ...
... and this just changes the other 8R entry. So now the 8 doesn't have an entry.
Actually both quirk blocks shoud be the same except for the USB_DEVICE lines:
USB_DEVICE(0x0763, 0x2080) <- Fast Track Ultra USB_DEVICE(0x0763, 0x2081) <- Fast Track Ultra 8R
(Actually there's no "Fast Track Ultra 8")
Sorry for having messed the patch up and sending it too soon. Shall I send a new patch, or would you consider manually editing it yourself before eventually putting it into git?
Kind regards,
Felix