Jump to content

Issue found with Apple RTP-MIDI driver

Recommended Posts

Hello all,


I wanted to inform the MB fourm members using the RTP-MIDI OEM that a small issue has been found with the RTP-MIDI driver in 10.8, 10.9 and partly 10.10. This issue is not critical at all but it can give you a lot of stress to try to find the root cause :hyper:

The symptom is simple : under some circumstances, the MIDI communication starts only after 10 to 30 seconds after the session has been opened. The Apple driver indicates that everything is fine, but you see the first MIDI data some time after the session is opened (the MIDI data are not delayed, the MIDI communication really starts after this period, so no MIDI data being received or exchanged meanwhile)


Here is a decription of the problem:

The RTP-MIDI OEM board can be a session initiator and a session listener. In other terms, it can be invited by the Mac and it can also invite the Mac.

When the Mac is the session initiator (meaning that you use the "MIDI Network Control Panel"), everything is fine: when you click on Connect button, you are able to exchange MIDI data with the KissBox OEM in the next second.


When the OEM module becomes session intiator (meaning you have entered the Mac address in the KissBox Editor as a destination for the session), you will see that the Mac is being invited and accepts the invitation just after the OEM module is powered, but you are unable to exchange any MIDI data for a period around 10 seconds (I have even seen some exceptionnal cases where it was taking 30 seconds). The Apple Control Panel also becomes quite unresponsive during this time, giving you the feeling that the driver is crashed.


We have found the origin of the problem and we have a solution for it :sweat:


The root cause is a different behaviour in the clock synchronization period when the Mac is session initiator or when it is invited.

When the Mac is initiator, it starts a synchronization sequence immediately after the session is opened, and the KissBox OEM is able to synchronize with this first message.


When the Mac is invited, it gets the same synchronization sequence, but from the OEM module this time. For a strange reason, the Apple driver waits until it gets something like 15 or 20 messages from the OEM until it starts accepting MIDI data. During this period, on 10.8 and 10.9 machines, the Control Panel seems stuck (in fact, it works again as soon as there are enough CK messages received)

Do not ask me why the Apple driver acts like this...


This problem does not happen with the Windows rtpMIDI driver.


I have modified the synchronization sequence of the OEM, to make sure it sends enough CK messages in a short time to "unlock" the driver. This change is implemented in V2.2 of the OEM firmware. I will release it on the KissBox website probably today or tomorrow





Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...