Anyway... I thought this was going to be pretty easy. Akai has a software package called Vyzex, which can edit MPD24 presets and also has a function for downloading arbitrary sysex (the firmware update comes in the form of one, very long sysex string). Both PC and Mac OSX versions are available. I downloaded the Mac version of Vyzex, installed it, downloaded the firmware update, fired up Vyzex, and sent the update. And... it didn't work. The data appeared to be sending too fast for the MPD24; it would stop receiving data mid-update, at some random point which was different each time. At first I thought it had to do with the USB hub I was using, so I tried my other one. No difference. Then I tried bypassing the hub and plugging it directly into one of the USB ports in the back of the Mac. That didn't work either. Bad USB cable? I tried a different one. No difference.
I then tried slowing down the transmission using some rate throttling parameters in Vyzex. They were hard to figure out, but I managed to figure out how to get some delays put in. No help. I went through the routine with the different USB ports and cables again, with no results.
So at this point I figured maybe I needed to try using my laptop PC for the update. It certainly wouldn't be the first time a vendor released a "dual platform" app with a botched Mac version. Oops... the old boot ROMs on my MPD24 aren't compatible with the Vista SP1 USB class driver. So Vyzex couldn't find the MPD24 port. So I started thinking: Since the firmware update was in the form of a big sysex, couldn't it be sent using the actual MIDI ports on the MPD24? I got out my little Edirol 1x1 interface, connected its USB to the laptop, and its MIDI connections to the MPD24.
And downloaded. It took a while at MIDI cable speeds, but eventually it finished, and the display told me it was done and to press ENTER to bring up the new firmware. So I pressed ENTER and... nothing. Absolutely nothing happened. It just sat there, telling me to press ENTER. I figured maybe it just needed to be power cycled at this point, but when I did so, it went back to asking for an update again.
Of which I should elaborate on... the update process for the MPD24 begins with erasing the existing firmware from its flash memory. So once you've done this, the MPD24 is unusuable until you succeed at getting a firmware update loaded. So at this point, my MPD24 was bricked. After a bunch of Googling, I found a post claiming that the MIDI cable method could be made to work by switching from USB power to external power after the update loads. I got a universal, voltage-selectable wall wart (which I normally use with my Roland DR-202 drum box) and connected it after the update finished, disconnected the USB, and pressed ENTER. Nothing.
At this point I was desparate. I decided to try some different software. I tried a bunch of things -- using my DAW (Metro) on the Mac, a version of Uniquest on the PC, another PC freeware application. Nothing helped. I even considered writing my own app on the Mac just to do this, but I eventually convinced myself that the software that was doing the sending wasn't the problem. After all, it really doesn't have to do much -- open a port, send one sysex string to it. The problem seemed to be in the connections to the MPD24. But I had tried all kinds of connection combinations.
Out of sheer desparation, I decided to try something random. Because my printer is away from the Mac, I have a USB cord with an extender to reach it. With the extender, the cord is actually a few feet longer than the maximum length allowed in the USB standard. But it works with the printer. I decided to try that one. Going back to Vyzex on the Mac, I sent the sysex without any special parameter settings. It ran and at the end, the MPD24's display showed "ERROR 0010", and the "press ENTER" light lit on the display. Well, at least this was different. I pressed ENTER, prepared to try something else, and...
The new firmware came up! I checked in the global edit mode and verified that 1.10 was running. Then I went to edit the transport controls. This part of the code appears to be a quick-n-dirty hack; when you go into edit mode and then press a transport key, it tells you to press ENTER. When you do, the display goes blank. To change the controls from MIDI machine control mode to MIDI CC mode, you turn the data knob to the right; to change it back, you turn it to the left. The display gives you no indication of what mode you have selected while in edit mode. To verify it, you go back to preset mode, press a transport button, and then look at the display to see what it sent. Unlike all of the other controls on the MPD24, you have no choice as to what CC sequences it sends; they are fixed in the CC mode. Fortunately, Akai chose some CC numbers high in the range that are seldom used, and I had no conflicts. The CC numbers used are:
- Reverse: 115
- Forward: 116
- Stop: 117
- Play: 118
- Record: 119
So that was quite an adventure. And I'm not sure what the lesson is, other than that before you do a firmware update on your MPD24, you should think long and hard about whether you really need the features of the firmware update, considering that there appears to be a non-trivial chance that you could wind up with a bricked unit. Doing some further reading on the net, it appears that the only reliable platforms for doing the update with are a Windows machine running XP, or a Mac running OSX 10.4. Apparently, with Windows 98/2000/Me, there is a driver incompatibility that will blue-screen the computer if the MPD24's USB is connected to it; Vista cannot see the boot port on MPD24's with older boot ROMs, and there is some kind of port compatibility problem with OSX 10.5. (Some users report that they have been able to do the update with OSX 10.5 by using Sysex Librarian. Note that there is a problem with 10.5.6 in which Audio Midi Setup will see the MPD24 itself, but not its external MIDI ports.)