[alsa-devel] usb-audio: Reloop Play support (TI TUSB3200AC)
Daniel Mack
zonque at gmail.com
Sat Oct 20 15:06:54 CEST 2012
On 20.10.2012 15:03, Didier 'Ptitjes' Villevalois wrote:
> I'm making some progress!! :)
Very good.
> I did not yet tried what you suggested below. But I did add that to
> quirk-table.h:
>
> #if 1
> /* Reloop Play */
> {
> USB_DEVICE(0x200c, 0x100b),
> .bInterfaceClass = USB_CLASS_PER_INTERFACE,
> .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
> .vendor_name = "Reloop",
> .product_name = "Play",
> .ifnum = QUIRK_ANY_INTERFACE,
> .type = QUIRK_COMPOSITE,
> .data = &(const struct snd_usb_audio_quirk[]) {
> {
> .ifnum = 0,
> .type = QUIRK_IGNORE_INTERFACE,
> },
> {
> .ifnum = 1,
> .type = QUIRK_AUDIO_FIXED_ENDPOINT,
> .data = &(const struct audioformat) {
> .formats = SNDRV_PCM_FMTBIT_S24_LE,
> .channels = 4,
> .iface = 1,
> .altsetting = 1,
> .altset_idx = 1,
> .attributes = 0,
> .endpoint = 0x01,
> .ep_attr = 0x05,
> .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
> }
> }
> }
> },
> #endif
>
> Did some:
> rmmod snd-usb-audio && make modules && cp -v
> sound/usb/snd-usb*.ko /lib/modules/3.5.7-mbp83+/kernel/sound/usb/
>
> Added this to my .asoundrc:
>
> pcm.play {
> type plug
> slave {
> pcm "hw:1"
> format S24_LE
> channels 4
> }
> }
>
> And now I don't have strange sounds when plugin the card but silence.
> And I can hear a distant "Front Center" above some noise (but no noise
> in-beetween the words) when doing :
Ok, but you still need the firmware I guess? Or does this even work
after you plugged in the device under Linux?
> didier at didier-laptop ~ $ cat /proc/asound/card1/stream0 && aplay
> -Dplay /usr/share/sounds/alsa/Front_Center.wav
> Reloop Play at usb-0000:00:1a.7-1.3, full speed : USB Audio
>
> Playback:
> Status: Stop
> Interface 1
> Altset 1
> Format: S24_LE
> Channels: 4
> Endpoint: 1 OUT (ADAPTIVE)
> Rates: 44100, 48000
> Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit
> Little Endian, Rate 48000 Hz, Mono
>
> I guess now is just finding the correct values for:
>
> - .formats (which can any of the 24 bits formats)
> - .maxPacketSize (not clear to me what this is)
> - .ep_attr (not clear to me what a endpoint is and what are those ASYNC,
> ADAPTIVE, ISOCHRONOUS attributes are nor the hex value table)
>
> Am I right ??
Possibly yes. You can try and blindly guess them, or really dive into
the logs and try to understand the reason.
Daniel
More information about the Alsa-devel
mailing list