Windows10にWSLが実装され, Ubuntuが利用できるようになったのでbashをつかったルータ等にシリアルコンソールで接続するにはどうしたらよいのか調べたところ, すごく簡単だった。
Windows上でコンソールポートが「Com1」だった場合,
$ sudo screen /dev/ttyS1
で接続できる。Comポートの番号とttySXの「X」が紐ついている。
Ctrl-A -> k
でターミナル終了。デフォルトで9600になっているからオプションなくて大丈夫なはず。
なお, screenは標準でインストールされているが, MSのページではcu コマンドで紹介している。
Serial Support on the Windows Subsystem for Linux
cu コマンドでやる場合は, ターミナル設定のFlow controlを無効にしないと反応が返ってこない。
/etc/uucp/port を新規作成する。
port ttyS2 # Port name
type direct # Direct connection to other system
device /dev/ttyS2 # Port device node
hardflow false # No hardware flow control
speed 9600 # Line speedつd
/dev/ttyS1 のアクセス権がroot/dialout となっている。ユーザをdialoutグループに参加させる必要がる。
$ sudo gpasswd ubuntu dialout
上記設定後に
$ cu -l /dev/ttyS1
で接続できる。終了するときは「~.」。