ネットワーク機器等でシリアルコンソール設定を行う場合、USBシリアル変換ケーブルを使用すると便利です。
秋月電子通商のUSB・シリアル変換ケーブルが簡単に入手でき、FreeBSDのGENERICカーネル(7.1-RELEASEで確認)で設定無しで使用できます。カーネルモジュールの組み込みや、デバイスファイルの作成は不要です。
接続時のusbdevsコマンドの出力は以下のようになります。
# usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA(0x0000), rev 1.00
port 1 addr 2: full speed, power 500 mA, config 1, USB-Serial Controller(0x2303), Prolific Technology Inc.(0x067b), rev 3.00
生成されるデバイスファイルは cuaU*になります。
# ls -l /dev/cuaU*
crw-rw---- 1 uucp dialer 0, 96 Mar 3 08:28 /dev/cuaU0
crw-rw---- 1 uucp dialer 0, 97 Mar 3 08:28 /dev/cuaU0.init
crw-rw---- 1 uucp dialer 0, 98 Mar 3 08:28 /dev/cuaU0.lock
USBコネクタを接続、切断した場合のシステムログは以下の通りです。
Mar 3 09:53:19 mate01 kernel: ucom0: on uhub0
Mar 3 09:54:29 mate01 kernel: ucom0: at uhub0 port 1 (addr 2) disconnected
Mar 3 09:54:29 mate01 kernel: ucom0: detached
tipコマンドを使ってシリアル接続するには、/etc/remotoファイルに追記が必要です。
以下の例のように記載します。(4個接続する場合)
ucom1:dv=/dev/cuaU0:br#9600:pa=none:
ucom2:dv=/dev/cuaU1:br#9600:pa=none:
ucom3:dv=/dev/cuaU2:br#9600:pa=none:
ucom4:dv=/dev/cuaU3:br#9600:pa=none:
tipコマンドでシリアル接続機器(Apresia)につないだ結果。
# tip ucom1
connected
Ethernet Switch Apresia3124GT2
login:
FreeBSDで簡単にマルチシリアルサーバを構成できます。 4個のUSB・シリアル変換ケーブルを接続してみました。
# usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA(0x0000), rev 1.00
port 1 addr 2: full speed, power 500 mA, config 1, USB-Serial Controller(0x2303), Prolific Technology Inc.(0x067b), rev 3.00
port 2 addr 3: full speed, power 500 mA, config 1, USB-Serial Controller(0x2303), Prolific Technology Inc.(0x067b), rev 3.00
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA(0x0000), rev 1.00
port 1 addr 3: full speed, power 500 mA, config 1, USB-Serial Controller(0x2303), Prolific Technology Inc.(0x067b), rev 3.00
port 2 addr 2: full speed, power 500 mA, config 1, USB-Serial Controller(0x2303), Prolific Technology Inc.(0x067b), rev 3.00
4組のデバイスファイルが自動生成されています。
# ls -l /dev/cuaU*
crw-rw---- 1 uucp dialer 0, 106 Mar 3 08:28 /dev/cuaU0
crw-rw---- 1 uucp dialer 0, 107 Mar 3 08:28 /dev/cuaU0.init
crw-rw---- 1 uucp dialer 0, 108 Mar 3 08:28 /dev/cuaU0.lock
crw-rw---- 1 uucp dialer 0, 112 Mar 3 08:28 /dev/cuaU1
crw-rw---- 1 uucp dialer 0, 113 Mar 3 08:28 /dev/cuaU1.init
crw-rw---- 1 uucp dialer 0, 114 Mar 3 08:28 /dev/cuaU1.lock
crw-rw---- 1 uucp dialer 0, 118 Mar 3 08:28 /dev/cuaU2
crw-rw---- 1 uucp dialer 0, 119 Mar 3 08:28 /dev/cuaU2.init
crw-rw---- 1 uucp dialer 0, 120 Mar 3 08:28 /dev/cuaU2.lock
crw-rw---- 1 uucp dialer 0, 96 Mar 3 08:28 /dev/cuaU3
crw-rw---- 1 uucp dialer 0, 97 Mar 3 08:28 /dev/cuaU3.init
crw-rw---- 1 uucp dialer 0, 98 Mar 3 08:28 /dev/cuaU3.lock