Raspberry PiにUSBシリアルを繋いでCiscoのコンソールに接続する

今回はタイトルの通り、Raspberry PiにUSBシリアルケーブルを接続し、それを介してCiscoのコンソールに接続することを行いました。

USBシリアルケーブルが認識されたことを確認

Raspberry PiがUSBシリアルを認識しているか確認します。
dmesg | grep ttyUSB
ls -l /dev | grep ttyUSB

ttyUSB0として認識されていることがわかります。

cuのインストール

cuコマンドは標準では使えないので、インストールします。
sudo apt install cu

インストールが完了したので接続確認を行います。

sudo cu -l ttyUSB

「Permission denied」となりUSBシリアルにアクセスするPermissionが無いと怒られてしまいました。
ラズパイでログインするユーザのグループを確認し、そのグループに対してPermission(権限)を与える設定を行います。
id <ユーザー名>

「dialout」グループに属していることが確認出来たので、この「dialout」グループに権限を付与します。

sudo vi /etc/udev/rules.d/50-udev-default.rules

上記ファイルに

KERNEL=="ttyUSB[0-9]*", GROUP="dialout", MODE="0666"

を追記して保存します。

USBシリアルケーブルを抜き差しして権限を確認します。

ls -l /dev/ttyUSB0

再びcuコマンドを入力して確認します。

無事接続が確認出来ました。

コンソールから抜けるには「~.(チルダ + プリオド)」を入力します。

 

おまけ(Ciscoに対してキー入力できない場合)

この後Cisco機器(Catalyst9120)のコンソールポートに接続して通信確認を行ってみたところ、Catalystからのキャラクターは正しく見えることが確認出来たのですが、こちらからのキー入力が受け付けられていないことに気づきました。
いろいろとInternetを検索してみたところ下記の内容を行うことによって解決しました。
全ての環境で事象が発生するかは分かりませんが、同様の事象に遭遇された方はお試しください。

sudo vi  /etc/uucp/port

下記の内容を記述してセーブ

port usb-serial
type direct
device /dev/ttyUSB0
speed 9600
hardflow false
carrier false

無事キー入力を受け付けてくれました。
ちなみに私のMacBookでも同様の現象となりcuコマンドを使ってCiscoのコンソール接続を行う場合にはこの設定は必須なのかもしれません。