From: Ricard Wanderlof <ricard.wanderlof@axis.com>
To: alsa-devel <alsa-devel@alsa-project.org>
Subject: Roland/Edirol M-16DX
Date: Fri, 23 Oct 2015 10:27:51 +0200 [thread overview]
Message-ID: <alpine.DEB.2.02.1510231017080.14239@lnxricardw1.se.axis.com> (raw)
The Roland/Edirol M-16DX is a digital mixer which can also function as a
18 channel capture / 2 channel playback USB 2.0 interface. The device has
been added to quirks-table.h and has been reported as working with one
problem: when playing back there's severe audio distortion at regular
intervals (several seconds), which has been traced to the fact that the
device utilizes the IN endpoint as an implicit feedback channel; see the
output from lsusb -vvv from a 7 year old post by Lasse Kärkkäinen below
for reference:
> Bus 007 Device 025: ID 0582:00c4 Roland Corp.
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 0
> bDeviceProtocol 255
> bMaxPacketSize0 64
> idVendor 0x0582 Roland Corp.
> idProduct 0x00c4
> bcdDevice 0.00
> iManufacturer 1 EDIROL
> iProduct 2 M-16DX
> iSerial 0
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 167
> bNumInterfaces 3
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xc0
> Self Powered
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 1
> bInterfaceProtocol 2
> iInterface 0
> ** UNRECOGNIZED: 06 24 f1 01 00 00
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 2
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 01 00 01 00
> ** UNRECOGNIZED: 0b 24 02 01 02 04 18 01 80 bb 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x02 EP 2 OUT
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x0038 1x 56 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 1
> bInterfaceProtocol 2
> iInterface 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 1
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 07 00 01 00
> ** UNRECOGNIZED: 0b 24 02 01 12 04 18 01 80 bb 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 37
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Implicit feedback Data
> wMaxPacketSize 0x01f8 1x 504 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 1
> bInterfaceProtocol 3
> iInterface 0
> ** UNRECOGNIZED: 06 24 f1 02 01 01
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x04 EP 4 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 1
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x83 EP 3 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 1
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 1
> bInterfaceProtocol 3
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x04 EP 4 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 1
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x83 EP 3 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 1
On Fri, 14 Nov 2008, Clemens confirmed this in a post:
> James Trevelyan wrote:
> > ...
> > However, what I did notice is that in all circumstances the windows
> > driver was capturing at the same time as playback, even when I was not
> > asking it to record. This suggests to me that the comment in the driver
> > source about synchronising playback to capture has some relevance ...
>
> Indeed. The driver would have to send the data at the exact speed of
> the device's internal clock, and the only way to determine that clock's
> speed is to capture data.
>
> So far I haven't found the time to rewrite the driver to support this
> synchronization mechanism.
I seem to recall reading posts not to long ago that refer to using an
implicit feedback path; my question is, was this in fact implemented,
meaning that a device like the M-16DX should function as expected also for
playback?
/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30
next reply other threads:[~2015-10-23 8:27 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-23 8:27 Ricard Wanderlof [this message]
2015-10-23 11:01 ` Roland/Edirol M-16DX Clemens Ladisch
2015-10-23 14:44 ` Ricard Wanderlof
2015-10-23 15:08 ` Clemens Ladisch
2015-10-24 5:51 ` Ricard Wanderlof
2015-11-12 7:58 ` Ricard Wanderlof
2015-11-12 12:38 ` Clemens Ladisch
-- strict thread matches above, loose matches on Subject: below --
2008-07-24 2:17 Lasse Kärkkäinen
2008-07-24 2:38 ` Jon Smirl
2008-07-17 9:29 Lasse Kärkkäinen
2008-07-24 8:17 ` Clemens Ladisch
2008-11-10 3:53 ` Lasse Kärkkäinen
[not found] ` <491C6E10.7090308@trn.iki.fi>
[not found] ` <1226624101.4836.95.camel@localhost>
2008-11-14 8:12 ` Clemens Ladisch
2009-03-15 2:06 ` Lasse Kärkkäinen
2009-03-16 7:04 ` Takashi Iwai
2009-05-27 20:49 ` Lasse Kärkkäinen
2009-05-27 21:08 ` Takashi Iwai
2009-05-28 11:03 ` Lasse Kärkkäinen
2009-05-29 6:35 ` Takashi Iwai
2009-05-29 10:53 ` Lasse Kärkkäinen
2009-06-01 9:11 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.02.1510231017080.14239@lnxricardw1.se.axis.com \
--to=ricard.wanderlof@axis.com \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.