Windows Subsystem for Linuxでのシリアルポートサポート

情報源: Serial Support on the Windows Subsystem for Linux – Windows Subsystem for Linux

Windows 10 Insider Previewの最新ビルドで、WSL上からのCOMポート使用がサポートされたようです。これでTTYが必要なアプリケーションも動作させれるようになったほか、VT-100とかつなげられますね:P

仕組み的には以下の図のようになっているようです。

Lxcore.sys内部に持つttyS.libがWindowsのCOMポートを中継する黒魔術です。

WSLではWindowsのCOM1がLinuxの/dev/ttyS1にCOM2が/dev/ttyS2と言うようにマップされます。WSLから使用する際のCOMポートのボーレート、ストップビット、フロー制御などについてはデバイスマネージャもしくはレジストリにより設定するようです。

MSではWSL上からラズベリーPiのシリアルポートに対して、以下のシナリオで動作のテストをしているようです。

  • Hyper-V virtual COM port
  • FTDI USB to serial converter
  • Prolific USB to serial converter
  • Physical COM port

まぁターミナル繋ぐのは今となってはネタですが、シリアル接続が必要なデバイスはそれなりに今もあるので、そのようなデバイスのプログラミングやデバッグをするのには良いかもしれませんね。