From: Clemens Ladisch <clemens@ladisch.de>
To: Willem Jan Palenstijn <wjp@usecode.org>
Cc: alsa-devel@alsa-project.org
Subject: Re: unpadded USB MIDI commands
Date: Thu, 11 Feb 2010 08:43:20 +0100 [thread overview]
Message-ID: <4B73B518.1000706@ladisch.de> (raw)
In-Reply-To: <20100210171714.GA5280@usecode.org>
Willem Jan Palenstijn wrote:
> I recently investigated some trouble with sending MIDI via a USB MIDI cable
> (15ca:1806) to a Roland MT-32. In some cases, commands were being dropped.
>
> (This is what is reported on
> https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3752 . I'm the colleague
> mentioned by druon in note 0021737 there.)
Apparently, the bug tracker drops some email notifications.
> After we experimented a bit, it turned out that packets of 2 MIDI commands (8
> bytes total) were being sent to the USB MIDI cable, and that if the first of
> these was a 2-byte MIDI command (such as a 0xC0 or 0xD0 command), the second
> command in the packet would get dropped.
>
> A workaround is to limit the packet size to 4 bytes, as is already happening on
> at least one other device (the ESI M4U referred to in usbmidi.c).
>
> I played with it some more this week, and it turns out that if the zero-padding
> from the USB MIDI commands is removed (violating the specs, as far as I
> understand),
Indeed.
> the second command does actually not get dropped.
I'd guess a certain other OS never sends more than 4 bytes in one packet.
> What do you think would be the right way to handle this problem? Don't zero-pad
> the outgoing packets for this specific device (and maybe a few others mentioned
> on bug #3752, if they end up suffering from the same bug)?
This would be possible, but there is no existing driver that actually
uses such a protocol, so I wouldn't want to rely on some implementation
detail that is likely to be changed in some other firmware revision.
> Limit the outgoing packets to 4 bytes like with the ESI M4U for these
> devices?
This is what the device expects. The driver can have multiple active
packets, so this shouldn't reduce MIDI bandwidth.
> Add an option to the snd-usb-audio module to toggle this behaviour?
This might be useful if other such devices are found. Or we could use
a whitelist of vendors whose devices work correctly.
Regards,
Clemens
prev parent reply other threads:[~2010-02-11 7:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-10 17:17 unpadded USB MIDI commands Willem Jan Palenstijn
2010-02-11 7:43 ` Clemens Ladisch [this message]
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=4B73B518.1000706@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=wjp@usecode.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.