FreeBSD, BSD系OS

FreeBSDでUSBシリアル変換ケーブルを使う

ネットワーク機器等でシリアルコンソール設定を行う場合、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