MP07-IONA-US Support Site

MP07-IONA-US, Designed By Mellow PCB


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

ファームウェア更新


前置き

ファームウェア更新は、WebUSB APIを用いて、このページ上から行います。 ChromeまたはWebUSBの有効になったChromium系のブラウザにてご利用下さい。

準備(旧v1/v2ボード向け)

v3ボードではこの方法はサポートしておらず、v1/v2/v3いずれの場合も両端がType-Aの特殊ケーブルを使い、P1用のUSBポートを使ってPCと接続する方法が簡単です。 それでもなお、v1/v2ボードで通常のUSBケーブルを使って作業したい場合の追加作業になります。

下の写真で白丸で囲まれた部分にスルーホールが4つあります。 まずは電源を入れていない状態で、黄色で結んだ対と赤で結んだ対(距離が近い対)を短絡します。 これによりJVS端子にUSB用のデータ線(D+/D-)を接続し、コンピュータとのUSB接続を可能にします。

図 v1.xx 図 v2.xx

ここでは簡単な方法をいくつか紹介します。

まずは1枚目の写真も針金のような物をアーチ状に曲げて穴に刺す方法。 ホチキスの芯などでも作成可能ですが細すぎると接触が悪くなるかもしれません。

2枚目のピンセットを使った方法も、大胆に見えますが、作業も簡単でしっかり接続されるのでオススメです。 ただ、ピンセットを複数持っている人は少ないかも。

一番の正攻法は3枚目のピンヘッダを取り付けてジャンパーピンで繋ぐ方法です。 ただしハンダ付けが必要なので万人向けではありません。

針金 ピンセット ジャンパーピン

いずれの場合も、PCとの接続時以外は、元の状態に戻してご利用ください。

コンピュータとの接続

v1/v2ボードで上記の短絡方法を用いた場合、まずは基板上のSERVICEボタン(中央付近のボタン)を押しながらmicro USBから給電開始します。 SERVICEボタンが正しく認識されると、LEDランプが消灯したままのファームウェア更新モードになります。 点滅してしまった場合は通常モードで起動しているため、もう一度電源の接続からやり直します。

うまくファームウェア更新モードで起動したら、JVS端子を使ってコンピュータとUSBで接続します。 この際、USB端子にはゲームコントローラ等を挿さないで下さい。特に1P側の端子はJVS端子の信号と衝突します。

改造を行わず、USB Type AからType Aに繋ぐ特殊なケーブルを1P用端子に接続する場合には 電源接続は不要です。SERVICEを押しながらPCに接続するだけで更新可能です。

環境固有の設定

WinUSBの設定(Windowsで初回のみ)

デバイスを初めて接続した場合、デバイスマネージャーに不明なデバイスとして表示されます。 複数表示されている場合は、プロパティの詳細にUSB\VID_4348&PID_55E0\...と表示されているデバイスが対象とするデバイスです。 このデバイスに対し、システム提供のWinUSBと呼ばれる標準ドライバを割り当てる必要があります。

設定方法の詳細についてはMicrosoft公式のドキュメント 「システム提供のデバイス クラスを指定して WinUSB をインストールする」 に書かれていますので、この手順に従って設定して下さい。 Windows 11でのインストールの様子をキャプチャーした動画があるので、こちらも参考にしてください。 公式ページの説明が分かりにくいと感じる場合、役に立つかもしれません。10でも基本的には同じです。

インストール時にエラーが発生する場合、何回か試すと成功するとの報告があります。 またUSB3.0ポートに接続した場合に特に不安定との報告もありますので、USB2.0等のポートに接続するか、USB2.0のUSB Hubなどを通して接続してみてください。 この不具合に関してはチップ内蔵のブートローダ、あるいはWindows側の問題のため、改善策は今の所ありません。

デバイスマネージャー

またZadigというソフトウェアを使ってWinUSBのドライバを管理する方法もあります。 日本語の解説ページも探すとあるかと思いますので、必要に応じてご利用ください。 インストール操作が簡単なのと、インストールするドライバが選択できるので、互換性問題も回避できる可能性があります。

USB OTGの設定(Androidのみ)

Windowsで互換性問題が発生した方や、PCはないけどスマホならある、という方はAndroid Chromeが利用できます。 利用に際してはAndroidがOTG(USB Hostモード)をサポートしている必要があります。 また、端子がUSB Cの場合でもC to Aで接続しただけではデバイスモードになってしまいます。 まずはOTG対応のType Aのメスコネクタに変換するアダプタを接続し、そこからA to Aで接続してください。

udevの設定(Linuxのみ)

多くのLinux環境では接続したUSBのアクセス権限を適切に制御するためにudevと呼ばれるシステムが利用されています。 /etc/udev/ ディレクトリが存在している場合は、こちらのファイルを/etc/udev/rules.d/99-ch559-bootloader.rulesとして保存してからデバイスを再接続して下さい。

あるいは同ファイル名で以下の内容を保存して下さい。

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

ファームウェアの選択

ページ一番下のメニューから書き込みたいファームウェアのバージョンを選びます。 選択後に書き込みボタンを押すと、以下のようなプロンプトが現れます。

USBのベンダーIDと製品IDで絞って選択画面を出していますので、基本ここには1つの選択肢しか現れません。 複数出た場合は、同じチップを搭載したデバイスがファームウェア更新モードで接続されていないか確認して下さい。 この状況はまず無いかとは思いますが……。 一方で、何も表示されない場合には以下の点を確認してみて下さい。

出荷時のファームウェア書き込みも同等の方法を使っているため、初期不良の可能性はありません。 かならず上記のいずれかの問題が起きているはずですので、ゆっくりと確認してみましょう。

プロンプトが正しく表示されていたら、表示されているデバイスを選択し「接続」ボタンを押します。 書き込みが始まり、プログレスバーが更新されます。 書き込み中のトラブルで更新が失敗しても壊れませんので安心して下さい。 継続して再書き込みを行えば問題ありません。 もし、繰返しエラーが発生する場合には連絡を頂けたら調査します。

プロンプト

動作確認

ファームウェア更新が正常終了したら、コンピュータから切断し、micro USBからの電源を供給し直して下さい。 通常モードで起動した際にLEDが正しく点滅するようなら、更新は成功です。 JVS I/Oとして利用する前、特にジャンパーピンを実装した人は、忘れずにスルーホールの短絡を解除して下さい。 うっかり短時間の間ならJVSとして認識されない程度で済むと想います。 気づかずに長時間通電した場合、USB用の信号とJVS用の信号が衝突し、システムボードやIONA-USの故障に繋がります。

ファームウェア更新履歴

ファームウェアの互換性

V3系基板は、v1.48とv2.11以降のファームウェアのみ動作します。v1/v2系基板は全てのファームウェアが動作します。 Xbox 360、Xbox Oneシリーズの規格に対応したコントローラは基本的に安定して動くはずです。 それ以外のUSB HIDデバイスについては、別のコントローラに対応する際に、うまく動作しなくなる可能性がゼロではありません。 以下に挙げたデバイスについては、デスクリプタの内容を把握し、実機ではないですが自動テストで互換性を確認するようにしています。 報告していただいたデバイスについても随時追加予定ですので、ここにないデバイスを継続的に使いたい場合は報告して頂けると幸いです。

またファームウェア1.40から保存する設定のフォーマットが変更されたため、異なるフォーマットを使用するファームウェアに更新した場合、設定は全て初期化されます。

デバイス名称 確認バージョン 備考
(Xbox 360規格コントローラ) 1.00 1.02a以降推奨
(XInput規格コントローラ) 1.00 1.47以降推奨
GP2040 (*2) 1.47 Xbox 360互換モードで確認
(Xbox Oneシリーズ規格コントローラ) 1.00 1.02a以降推奨
8BitDo SNK NEOGEOコントローラ 2.15  
Brook XB Fighting Board 1.44 標準のX-Oneモードで動作、X-360モード指定でも動作可能
Brook Universal Fighting Board 1.47 PS4モードで動作
Brook PS4+ Fighting Board 1.47 PS4モードで動作
(Bootモード対応キーボード) 1.20 NAOMI麻雀モードに対応
REAL ARCADE PRO V3.SA 1.47 後期モデル(v1.2基板)は2.19から動作
REAL ARCADE PRO.N HAYABUSA 2.19  
ガンコン3 2.01  
DUALSHOCK 3 2.17 接続後にPSボタンを押す必要あり
ホリパッドFPSプラス for PlayStation 4 1.00 PS3モードも対応
ワイヤレスコントローラー(DUALSHOCK 4 - CUH-ZCT1J) 1.02  
ワイヤレスコントローラー(DUALSHOCK 4 - CUH-ZCT2J) 1.03  
GT Force Pro 2.20  
G29 Driving Force Race Wheel 2.14 PS3/PS4両モード対応
HORI FLIGHTSTICK for PlayStation4 2.18  
ホリパッドミニ for Nintendo Switch 1.00  
マリオカートレーシングホイール for Nintendo Switch 2.19  
Nintendo Switch Proコントローラー 1.04  
Nintendo Switch Joy-Con 充電グリップ 1.04  
Brook ZERO-PI Fighting Board 1.44 標準のSwitchモードで動作
CYBER・アーケードスティック 1.23  
6B Controller (メガドライブミニ) 1.02a  
CYBER STICK (メガドライブミニ2) 2.13  
Xin-Mo Controller (*1) 1.20  

(*1) パソケード フルHDテーブル筐体 PS3ドッキングモデル にて仕様されているコントローラ

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


ファームウェア更新

以下は実際にファームウェア更新を行うためのUIです。書き込みボタンにより実際に更新されます。

V1系からV2系のファームウェアに変更した際は、設定ページから初期化を行う必要があります。

   
書き込み 0% 100%
検証 0% 100%

結果