Linux OSでシリアルコンソール接続

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

で接続できる。終了するときは「~.」。