Chromebook でシリアルコンソールケーブルを使えるようにする方法
前書き
外に持っていくパソコンは Chromebook 。それが僕のスタイルだ。理由は、軽くてバッテリーの持ちが良いから。AC アダプターなんて持ち歩かない。
しかも今年 (2021 年) の正月に買ったもので、購入価格は新品で送料込みで 30,000 未満だった。レノボのこのようなもの ↓
Chromebook から ssh で我が家の Linux サーバ等にログインして、などの操作はできているが、Yamaha ルータの設定でコンソール接続したいことがあり、Chromebook でシリアルコンソールケーブル (以下、コンソールケーブルと略すことあり。正式にはシリアルケーブルと言う可能性があるがそこには触れないことにする) が使えるようにできないかを調べたのでまとめることにした。
コンソールケーブルは、Windows で使うことが割合としてはほとんどと思われますが、我が家には Windows はないし、Mac はあるけど別に Mac でコンソールケーブル使えなくて良いし。
出先でコンソールケーブルを使うこともあるので、そう考えると僕の場合は、普段持ち歩くノートパソコンである Chromebook でコンソールケーブルが使えると都合が良いのである。
コンソールケーブルを使えるようにするまでの大きな流れ
- コンソールケーブル一式を購入する
- Linux 開発環境 を ON にする
- Linux 開発環境に cu コマンドをインストールしてコンソール接続する
ポイントは Chromebook 上で動く Linux (Linux 開発環境) に cu コマンドをインストールして、コンソールケーブルを使えるようにするところだ。
コンソールケーブル一式を購入した
どんなのを変えば良いのか?今回買ったものを紹介しておこう。
USB シリアルケーブル
USB と D-sub 9 ピンに変換するケーブル。USB コネクター側を Chromebook に接続して使う。
RS-232C シリアルリバースケーブル
D-sub 9 ピンの [メス] – [メス] ケーブル。これを USB シリアルケーブルとヤマハルータ (D-Sub 9 ピン [オス] の console ポート具備しているモデル) に接続して使う。
よくあるコンソールケーブル
Cisco 使いには必須なケーブル。これを買うことになるとは思わなかったが今回私物として購入した。
LAN ケーブル延長コネクタ
LAN ケーブルを延伸したいときに使うコネクタ。これがなくて困ることがたまにあったりする。通称 JJ (ジェイジェイ)。これも買っておいた。
Linux 開発環境を ON にする
Chromebook でコンソールケーブルを使えるようにする手順として、まず Linux 開発環境を有効にする。
やり方としては Chromebook の画面右下にある時計の箇所をクリックして、ギザギザマークの設定をクリックする。
設定を下へ下へ (詳細設定よりも更に下) と進んでいくと [デベロッパー] のところに [Linux 開発環境] というのが見つかるだろう。そこをクリックすることで Linux 開発環境を有効化する。
うろ覚えだが 10G の容量があることを推奨するとかしないみたいな表示が出て、Chromebook でこの機能を ON にして大丈夫か?と思ったが、今の所問題は見受けられない。
Linux 開発環境を有効化している時の様子がこちら。↓
この Linux 開発環境と言っても、実際的には Chromebook 上で動いている Linux を使う感じに近い。ざっくり言えば Windows における WSL (Windows Subsystem for Linux) みたいなものと考えてもいいだろう。
Linux 開発環境のターミナルを立ち上げる
Linux 開発環境を ON にした直後は、自動的に立ち上がったと思うが基本は以下の画面から、アプリをクリックして起動させるのだと思う。もっと楽に起動する方法がある気がする。
そうすると、Linux のターミナルが起動する。
cu コマンドをインストールしてコンソールケーブルを使えるようにする
cu コマンドをインストールする。
Linux 開発環境は Debian っぽいので、apt を使う。
$ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 10 (buster)" NAME="Debian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" $ $ sudo apt-get install cu Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: cu 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 149 kB of archives. After this operation, 271 kB of additional disk space will be used. Get:1 https://deb.debian.org/debian buster/main amd64 cu amd64 1.07-24 [149 kB] Fetched 149 kB in 0s (446 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package cu. (Reading database ... 33309 files and directories currently installed.) Preparing to unpack .../archives/cu_1.07-24_amd64.deb ... Unpacking cu (1.07-24) ... Setting up cu (1.07-24) ... Processing triggers for man-db (2.8.5-2) ... $
Chromebook にコンソールケーブルを接続する
コンソールケーブル (USB シリアルケーブルの USB コネクター側) を Chromebook に接続すると以下のメッセージが表示される。
[Linux に接続] をクリックする。
Linux がどのように認識したかを確認します。
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ ls -l /dev/tty* crw-rw-rw- 1 nobody nogroup 5, 0 Sep 25 11:13 /dev/tty crw-rw-rw- 1 root root 188, 0 Sep 25 13:36 /dev/ttyUSB0 $ date Sat 25 Sep 2021 01:37:02 PM JST $
/dev のしたに ttyUSB0 として認識されるようです。認識されたタイムスタンプが記録されるので date コマンドの実行結果と比較しても /dev/ttyUSB0 がそれだとわかります。
これで、Linux のターミナルから cu コマンドでコンソール接続ができるようになったわけです。
cu コマンドでコンソール接続する
コンソールケーブルの先にヤマハルータ RTX810 のコンソールポートを接続しました。ここで cu コマンドを実行します。
$ cu -l ttyUSB0
Connected.
Password:
RTX810 BootROM Ver. 1.00
RTX810 FlashROM Table Ver. 1.01
RTX810 Rev.11.01.34 (Tue Nov 26 18:39:12 2019)
Copyright (c) 1994-2019 Yamaha Corporation. All Rights Reserved.
To display the software copyright statement, use 'show copyright' command.
00:a0:de:cb:6f:17, 00:a0:de:cb:6f:18
Memory 128Mbytes, 2LAN
>
Connected. のあと反応が内容ならもう一回エンターを押します。
Password: は、RTX810 がパスワードの入力を求めているものです。つまりすでに接続できているわけです。正しいパスワードを入力すると RTX810 へログインができます。
コンソール接続から抜けるには、まず RTX810 から exit し、そこで ~. (チルダー ドット) と入力してエンターを押します。
> exit ~. Disconnected. $
これで RTX810 からログアウトし、コンソール接続も終了し、Linux のプロンプトに戻ってきました。