From: Clemens Ladisch <clemens@ladisch.de>
To: "Kalvas, Taneli" <taneli.v.m.kalvas@jyu.fi>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Subject: Re: RawMIDI behaviour with MidiFace 4x4
Date: Mon, 09 Mar 2015 09:43:56 +0100 [thread overview]
Message-ID: <54FD5D4C.3040204@ladisch.de> (raw)
In-Reply-To: <6A72E9C91650BD49A6D9B305755BC04C42D801FA@mbs1.ad.jyu.fi>
Kalvas, Taneli wrote:
> writing to the midi port with snd_rawmidi_write() seems to broken. The
> function accepts any size of data block and claims to have sent
> everything. In reality only a part of the message is sent.
>
> My hardware is Miditech Midiface 4x4, a USB midi interface:
> 1 [MIDI4x4 ]: USB-Audio - MIDI4x4
> MIDIPLUS MIDI4x4 at usb-0000:00:14.0-1, full speed
snd_rawmidi_write() never accepts more data than it can handle (in
blocking mode, it waits until the buffer is empty enough). The
snd-usb-audio driver waits until the device has accepted the data.
Are there any messages in the system log when this happens?
Please show the output of "lsusb -d 1acc:1a0b -v".
> I have tested the system by connecting the output port to an input
> port on the hardware and having another program output the received
> bytes on stdout. My observations:
> - As long as the buffer size is 276 bytes or less it gets sent ok
> - Larger buffer sizes cause corruption and roughly 300 bytes of received.
This sounds as if the device has a buffer size of 256 bytes, but does
not actually check if the buffer is full, and always accepts more data.
Does later data overwrite data that should have been sent earlier?
> Is there a way to connect two programs via a virtual RawMIDI port so
> that I could test without using the hardware?
Load the snd-virmidi module, and connect two of its ports with aconnect.
Regards,
Clemens
next prev parent reply other threads:[~2015-03-09 8:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-07 17:26 RawMIDI behaviour with MidiFace 4x4 Kalvas, Taneli
2015-03-09 8:38 ` Ricard Wanderlof
2015-03-09 8:47 ` Clemens Ladisch
2015-03-09 11:37 ` Kalvas, Taneli
2015-03-09 14:29 ` Ricard Wanderlof
2015-03-09 18:40 ` Clemens Ladisch
2015-03-09 8:43 ` Clemens Ladisch [this message]
2015-03-09 19:22 ` Kalvas, Taneli
2015-03-09 21:47 ` Clemens Ladisch
2015-03-10 7:32 ` Kalvas, Taneli
2015-03-10 8:02 ` Clemens Ladisch
2015-03-24 6:42 ` Kalvas, Taneli
2015-03-25 21:45 ` Clemens Ladisch
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=54FD5D4C.3040204@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=taneli.v.m.kalvas@jyu.fi \
/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.