emagic emi2|6 firmware loader for WinUSB

土曜日, 3月 05 2022 @ 08:30 午後 JST

投稿者: kazuhiro

かつて、Logic等の音楽制作ソフトを手がけていたemagicという会社がありました。 会社は2002年にアップルに買収され、LogicはLogic Proとして、現在もアップルが販売しています。 emagic社はいくつかのハードウェアも販売していましたが、そのひとつにemi 2|6というオーディオインターフェースがありました。

音質とか性能の話はおいておいて、このデバイスはUSB経由でファームウェアを読み込ませる事でUSB audio class compliantなデバイスとして動作します。 Linuxではドライバはただのfirmware loaderであり、ファームウェア読み込み後は標準のオーディオドライバで動作しています。 また、このデバイスはACアダプタからの電源供給も可能で、その場合、ファームウェア読み込み後は電源が切れるまでUSB audio class compliantなデバイスとして振る舞います。

Windowsへの対応については、メーカーがアップルに買収された事もあり、以降は新たな環境向けのドライバなどは提供されませんでした。 ただし、初期化さえ済ましてしまえば現在のWindowsでも動作は可能です。 そこで、現行のWindowsで動作するfirmware loaderを書いてみました。

ファームウェアを用意したり、デバイスをWinUSBデバイスとして認識させる等の準備は必要ですが、ドライバでは無くWinUSBクライアントにすることで、ドライバのインストールに署名が必要になる等の問題を回避しています。 使い方はリポジトリのREADMEを参照してください。

ちなみに、元になったLinuxのコードを見ていると、emi 6|2mのfirmware loaderもほぼ同様のロジックのようです。

コメント (0件)


Kazuhiro's blog
http://ikazuhiro.s206.xrea.com/article.php/2022030520305150