MP07-IONA-US Support Site

MP07-IONA-US, Designed By Mellow PCB


Project maintained by toyoshim Hosted on GitHub Pages — Theme by mattgraham

Firmware Updates


Caution

You can update your device’s firmware to support more devices or fix issues here. But as this page uses WebUSB API, you need to visit by Google Chrome or Chromium based browser that enables WebUSB API support.

Preparation (for older v1/v2 boards)

The latest v3 board doesn’t support this hack and in any versions of PCBs, recommended easiest way is to use a non-standard USB Type-A to Type-A cable and connect P1 USB port to your PC. If you still want to connect your v1 or v2 board to your PC with a standard USB cable, you will need following additional works to make it work.

There are 4 through-hole on the IONA board as you can see in the white circle below. Before supplying power, you need to shorten the yellow hole pair and the red hole pair respectively. This allows the JVS port to use USB data line, D+ and D-, to communicate with PC over USB protocol.

Figure v1.xx Figure v2.xx

Here, we introduce some simple ways to shorten the holes.

The first approach is to use a thin wire arch. You may be able to use a staple, but it might be too thin to provide a stable connection.

The second one is to use two pairs of tweezers. It may look a wild way, but actually it’s very easy to get a stable connection. It’s recommended if you have two pairs of tweezers.

The last one is the ideal approach. You install pin headers, and connect them with jumpper pins. As it needs soldering, it isn’t a good way for end users.

Wires Tweezers Jumpper

In any case, you need to restore the original state when you don’t connect it to your PC.

Connect to PC

If you chosen the v1/v2 board mods above, you need to keep the SERVICE button on the board pressed, then start supplying the power. If the SERVICE button is correctly kept pressed until it boots, LED will not be on. This is the signal that IONA boots to the firmware update mode. If LED blinks, IONA runs in a normal mode, and you need to power off, and retry.

Once it boots to the firmware update mode, connect IONA to your PC over USB via JVS port. You should not connect a gamepad to the P1 USB port. It conflicts with the USB connection to the PC host, and makes communication unstable.

If you chosen the recommended approach, using the special Type-A to A cable, you don’t need a dedicated power supply. You can connect your PC and 1P connector by such cable with pressing SERVICE to enter the firmware update mode.

Platform Specific Preparations

WinUSB Settings (only for the first time on Windows)

When you connect IONA to your PC first time, it appears as an unknown device in the device manager. If there are multiple unknown devices, IONA is the one that shows USB\VID_4348&PID_55E0\... at the property in details tab. You need to install the system provinding default driver called as WinUSB for the device.

You can follow the instruction explained at the Microsoft official site, Installing WinUSB by specifying the system-provided device class. Here is a movie that captures how to install the WinUSB driver on Windows 11. If you feel the explanation in the site is difficult, this may help. You wouldn’t see anything different on Windows 10.

Some users said retry will help if installation failed. As this firmware update mode is provided by the chip vendor, I have no other ideas to mitigate this problem.

Device Manager

You may want to use Zadig that manages WinUSB drivers and so on for you. It will make the installation process easy and quick, and potentially it can workaround the compatibility issue by choosing a suitable version of drivers.

USB OTG Settings (for Android)

If you cannot solve the compability issue on Windows, or you don’t have a PC, but have an Android phone, Android Chrome is available. Your phone needs to support USB OTG mode to work as a USB host, and also you need an OTG connector that convert the phone’s USB port to a USB Type A female converter. You need to use A to A cable behind the converter. Even if you have a direct cable from e.g. C to A, it will not work as the phone runs in a device mode rather than host mode unless you use a right connector that activate the host mode.

udev Settings (for Linux)

Most Linux system uses udev to manage hot-plugged USB device access permissions. If the system has /etc/udev/ directory, you can copy this file as /etc/udev/rules.d/99-ch559-bootloader.rules, then connect IONA again.

Or you can directry edit and place following content there.

ATTRS{idVendor}=="4348", ATTRS{idProduct}=="55e0", MODE="0666"

Firmware Selection

You can pick up any firmware version you install. When you push the flash button after selecting the firmware version, you will see a prompt as below.

You will see only devices that have a specified vendor ID and product ID. Thus, you will see only one choice here usually. If you see multiple choices, another device that uses the same chip by chance would be connected in a firmware update mode to your PC. It should rarely happen, but just in case.

If you can see no choice, please check if there are following errors.

As the initial firmware is also flashed at this site, you can expect it just works unless it is damanged after shipping. So, probably you can find one of these issue, and will solve it.

If you can see the prompt as expected, select the device and press the connect button. It starts flashing, and following UIs show it’s progress. Even if it fails during flashing, device won’t be broken, and you can just retry safely. Boot mode should not be broken by flashing.

If you see a persistent issue, please contact the author.

Prompt

Confirmation

One the firmware update finishes, please disconnect IONA from your PC, and stop supplying power to reboot. If it bookts and starts blinking after supplying power again, you succeeded the update. Please ensure the shortened pins are open again before connecting it to JVS systems. It may be ok if it does not long, but it may damage the device to connect over JVS with through-holls shortened.

Firmware History

Firmware Compatibility

For v3 based PCBs, only v1.48 and v2.11+ work. For v1/v2 based PCBs, all firmwares work. All controllers that conform Xbox 360, or Xbox One series protocols are expected to work fine. Other USB HID devices support might get to be broken unexpectedly on supporting other new devices. We know HID descriptors on following devices, and have some automated unit tests. So, it’s expected to keep better compatibility. We can add more automated tests when you report device information. If you find a device that isn’t in the list, but works, it’s a good idea to report information to get stable supports.

Also, the internal format to hold the user settings is changed at firmware Ver 1.40. As a reuslt, if you write a firmware those format is different from one for current firmware, all your configurations will be reset.

Device Name Confirmed Version Note
(Xbox 360 protocol controllers) 1.00 1.02a and later are recommended
(XInput compatible controllers) 1.00 1.47 and later are recommended
GP2040 (*2) 1.47 Confirmed with Xbox 360 compatible mode
(Xbox One series protocol controllers) 1.00 1.02a and later are recommended
8BitDo SNK NEOGEO controller 2.15  
Brook XB Fighting Board 1.44 Work with the default X-One mode, and manual X-360 mode
Brook Universal Fighting Board 1.47 Work with the default PS4 mode
Brook PS4+ Fighting Board 1.47 Work with the default PS4 mode
(Keyboard supporting boot mode) 1.20 Supported by NAOMI Mahjong mode
REAL ARCADE PRO V3.SA 1.47 Later model (v1.2PCB) works only on 2.19+
REAL ARCADE PRO.H HAYABUSA 2.19  
Guncon3 2.01  
DUALSHOCK 3 2.17 Need to press PS button after the connection
Horipad FPS plus for PlayStation 4 1.00 PS3 mode also works
Wireless Controller(DUALSHOCK 4 - CUH-ZCT1J) 1.02  
Wireless Controller(DUALSHOCK 4 - CUH-ZCT2J) 1.03  
GT Force Pro 2.20  
G29 Driving Force Race Wheel 2.14 Both PS3/PS4 modes
HORI FLIGHTSTICK for PlayStation4 2.18  
Horipad mini for Nintendo Switch 1.00  
MARIKART Racing Wheel for Nintendo Switch 2.18  
Nintendo Switch Pro Controller 1.04  
Nintendo Switch Joy-Con Charger Glip 1.04  
Brook ZERO-PI Fighting Board 1.44 Work with the default Switch mode
CYBER Arcade Stick 1.23  
6B Controller (MEGADRIVE mini) 1.02a  
CYBER STICK (MEGADRIVE mini2) 2.13  
Xin-Mo Controller (*1) 1.20  

(*1) Controller used by the Pasocade full HD table cab. PS3 dock model

(*2) Raspberry Pi Pico based open source firmware; https://gp2040.info/


Firmware Update

This is the real UI to update firmware. Flash button will actually flash the chosen firmware.

When you update your firmware from v1 series to v2 series, you need to update the setting from the setting page. The latest 1.4x series, selected by default, is expected to be the latest stable version.

   
Write 0% 100%
Verify 0% 100%

Result