Yak Shaving 感がすごいですが、モチベーションとしては今 CCIE R&S の勉強をしてて、毎回自分のマシンにUSBつなぐの非常につらかった(なるべくワイヤに縛られたくない、マシン変わっても変わらない操作感がほしい)ので SSH して cu
コマンドなり screen
コマンドで繋げばいい自作のコンソールサーバーもどきを作りました。
シリアルコンソールサーバーまともに買うと数万とかして高いですからね。KANE GA NAI
手元にあるやつだけで完結したい。
これで簡単なプライベートレンタルラックができますね。
必要なもの
- シスコの中古の実機いっぱい
- USBコンソールケーブルいっぱい
- たくさん指せるUSBハブ
- サーバー用にする廃棄寸前のラップトップ
- Ubuntu 17.10 Desktop or Server
達成すること
- USB コンソールケーブルを別のハブのポートに挿しても同じデバイス名で解決させる(Macの用な感じに /dev/tty.usbserial-AI038TTH 出てほしい)
- シリアルコンソールなので一般ユーザでも tty デバイスに読み書きできるようにしたい。
結論だけ知りたい方は最後を参照。
Yak Shaving
sudo udevadm info -q path -n /dev/ttyUSB2
wnoguchi@serial:~$ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB2 /dev/ttyUSB4 /dev/ttyUSB6 /dev/ttyUSB8
/dev/ttyUSB1 /dev/ttyUSB3 /dev/ttyUSB5 /dev/ttyUSB7 /dev/ttyUSB9
wnoguchi@serial:~$ udevadm info -q path -n /dev/ttyUSB2
/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.4/3-2.4.1/3-2.4.1:1.0/ttyUSB2/tty/ttyUSB2
wnoguchi@serial:~$ udevadm info -q path -n /dev/ttyUSB2
/devices/pci0000:00/0000:00:10.0/usb3/3-1/3-1.4/3-1.4.1/3-1.4.1:1.0/ttyUSB2/tty/ttyUSB2
wnoguchi@serial:~$ udevadm info --name=/dev/ttyUSB2 --attribute-walk | less
looking at parent device '/devices/pci0000:00/0000:00:10.0/usb3/3-1/3-1.4/3-1.4.1':
KERNELS=="3-1.4.1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bMaxPower}=="90mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0600"
ATTRS{bmAttributes}=="a0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="25"
ATTRS{devpath}=="1.4.1"
ATTRS{idProduct}=="6001"
ATTRS{idVendor}=="0403"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="FTDI"
ATTRS{maxchild}=="0"
ATTRS{product}=="FT232R USB UART"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="AI038TTH"
ATTRS{speed}=="12"
ATTRS{urbnum}=="15"
ATTRS{version}==" 2.00"
wnoguchi@serial:~$ udevadm info -q path -n /dev/ttyUSB2
/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.4/3-2.4.1/3-2.4.1:1.0/ttyUSB2/tty/ttyUSB2
wnoguchi@serial:~$ udevadm info --name=/dev/ttyUSB2 --attribute-walk | less
looking at parent device '/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.4/3-2.4.1':
KERNELS=="3-2.4.1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bMaxPower}=="90mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0600"
ATTRS{bmAttributes}=="a0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="41"
ATTRS{devpath}=="2.4.1"
ATTRS{idProduct}=="6001"
ATTRS{idVendor}=="0403"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="FTDI"
ATTRS{maxchild}=="0"
ATTRS{product}=="FT232R USB UART"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="AI038TTH"
ATTRS{speed}=="12"
ATTRS{urbnum}=="15"
ATTRS{version}==" 2.00"
ハブを経由せずに直接つなぐ
wnoguchi@serial:~$ ls /dev/ttyUSB*
/dev/ttyUSB0
wnoguchi@serial:~$ ls /dev/ttyUSB*
/dev/ttyUSB0
wnoguchi@serial:~$ udevadm info -q path -n /dev/ttyUSB0
/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2:1.0/ttyUSB0/tty/ttyUSB0
looking at parent device '/devices/pci0000:00/0000:00:10.0/usb3/3-2':
KERNELS=="3-2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bMaxPower}=="90mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0600"
ATTRS{bmAttributes}=="a0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="50"
ATTRS{devpath}=="2"
ATTRS{idProduct}=="6001"
ATTRS{idVendor}=="0403"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="FTDI"
ATTRS{maxchild}=="0"
ATTRS{product}=="FT232R USB UART"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="AI038TTH"
ATTRS{speed}=="12"
ATTRS{urbnum}=="15"
ATTRS{version}==" 2.00"
別ポート
wnoguchi@serial:~$ udevadm info -q path -n /dev/ttyUSB0
/devices/pci0000:00/0000:00:10.0/usb3/3-1/3-1:1.0/ttyUSB0/tty/ttyUSB0
looking at parent device '/devices/pci0000:00/0000:00:10.0/usb3/3-1':
KERNELS=="3-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bMaxPower}=="90mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0600"
ATTRS{bmAttributes}=="a0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="51"
ATTRS{devpath}=="1"
ATTRS{idProduct}=="6001"
ATTRS{idVendor}=="0403"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="FTDI"
ATTRS{maxchild}=="0"
ATTRS{product}=="FT232R USB UART"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="AI038TTH"
ATTRS{speed}=="12"
ATTRS{urbnum}=="300"
ATTRS{version}==" 2.00"
USBハブの別のポートに刺す。
wnoguchi@serial:~$ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB2 /dev/ttyUSB4 /dev/ttyUSB6 /dev/ttyUSB8
/dev/ttyUSB1 /dev/ttyUSB3 /dev/ttyUSB5 /dev/ttyUSB7 /dev/ttyUSB9
wnoguchi@serial:~$ udevadm info -q path -n /dev/ttyUSB2
/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.3/3-2.3.1/3-2.3.1:1.0/ttyUSB2/tty/ttyUSB2
looking at parent device '/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.3/3-2.3.1':
KERNELS=="3-2.3.1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bMaxPower}=="90mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0600"
ATTRS{bmAttributes}=="a0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="59"
ATTRS{devpath}=="2.3.1"
ATTRS{idProduct}=="6001"
ATTRS{idVendor}=="0403"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="FTDI"
ATTRS{maxchild}=="0"
ATTRS{product}=="FT232R USB UART"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="A103NTFZ"
ATTRS{speed}=="12"
ATTRS{urbnum}=="15"
ATTRS{version}==" 2.00"
番号変わってる。
なかなかに厳しい
たぶん ttyUSB0-1 のデバイス抜けたら順番変わるんでしょ??
wnoguchi@serial:~$ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB3 /dev/ttyUSB5 /dev/ttyUSB7 /dev/ttyUSB9
/dev/ttyUSB2 /dev/ttyUSB4 /dev/ttyUSB6 /dev/ttyUSB8
ハブのUSB抜く
wnoguchi@serial:~$ ls /dev/ttyUSB*
ls: cannot access '/dev/ttyUSB*': No such file or directory
また差す
wnoguchi@serial:~$ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB2 /dev/ttyUSB4 /dev/ttyUSB6 /dev/ttyUSB8
/dev/ttyUSB1 /dev/ttyUSB3 /dev/ttyUSB5 /dev/ttyUSB7
wnoguchi@serial:~$ udevadm info -q path -n /dev/ttyUSB2
/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.3/3-2.3.1/3-2.3.1:1.0/ttyUSB2/tty/ttyUSB2
looking at parent device '/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.3/3-2.3.1':
KERNELS=="3-2.3.1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bMaxPower}=="90mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0600"
ATTRS{bmAttributes}=="a0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="95"
ATTRS{devpath}=="2.3.1"
ATTRS{idProduct}=="6001"
ATTRS{idVendor}=="0403"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="FTDI"
ATTRS{maxchild}=="0"
ATTRS{product}=="FT232R USB UART"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="A103NTFZ"
ATTRS{speed}=="12"
ATTRS{urbnum}=="15"
ATTRS{version}==" 2.00"
アカン
またUSBロールオーバーケーブルUSBハブの別のポートに刺す
ハブ抜いて刺す
looking at parent device '/devices/pci0000:00/0000:00:10.0/usb3/3-2/3-2.3/3-2.3.1':
KERNELS=="3-2.3.1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bMaxPower}=="90mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0600"
ATTRS{bmAttributes}=="a0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="2"
ATTRS{devpath}=="2.3.1"
ATTRS{idProduct}=="6001"
ATTRS{idVendor}=="0403"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="FTDI"
ATTRS{maxchild}=="0"
ATTRS{product}=="FT232R USB UART"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="A103NTFZ"
ATTRS{speed}=="12"
ATTRS{urbnum}=="15"
ATTRS{version}==" 2.00"
どうやら使ってるロールオーバーケーブルを抜いて、別の作業終わって別のUSBハブポートに差すと
順番変わるっぽいね。
これはきつい。
ttyデバイス名は Mac で接続したときみたいにシリアル番号で出てほしい。
/dev/tty.usbserial-AI038TTH
- linux - How to bind USB device under a static name? - Unix & Linux Stack Exchange
- しげふみメモ : screenでシリアルコンソール接続
- Linuxでシリアルコンソールを使う - builder by ZDNet Japan
- cu Tips - Qiita
Macでおつなぎ申す。
cu は ~.
で切断。
➜ ~ cu /dev/tty.usbserial-AI0388SG
cu: /dev/tty.usbserial-AI0388SG: System not found
cu --line /dev/tty.usbserial-AI038TTH --speed 9600
➜ ~ cu --line /dev/tty.usbserial-AI038TTH --speed 9600
cu: creat during lock (/var/spool/uucp/TMP00000007cd in /Users/wnoguchi as uid 501): Permission denied
cu: /dev/tty.usbserial-AI038TTH: Line in use
➜ ~ sudo cu --line /dev/tty.usbserial-AI038TTH --speed 9600
R2>~.
Disconnected.
LinuxでUSBシリアルケーブルを使う | NETWIZ.JP
wnoguchi@serial:~$ sudo ls -l /dev/ttyUSB8
crw-rw---- 1 root dialout 188, 8 Dec 9 20:25 /dev/ttyUSB8
Ubuntuでminicom起動すると/dev/ttyUSB0のパーミッションがないと言われる - kinneko@転職先募集中の日記
今度はパーミッションでエラーになるよ。なんやねん...
screen はいけるのに cu はいけない。
sudoers ちゃんと設定したんだけどなあ
wnoguchi@serial:~$ sudo cu --line /dev/ttyUSB0 --speed 9600
cu: open (/dev/ttyUSB0): Permission denied
cu: /dev/ttyUSB0: Line in use
グループ指定したら行けることが判明。
wnoguchi@serial:~$ sudo -g dialout cu --line /dev/ttyUSB0 --speed 9600
Connected.
R1#disable
R1>~.
何もない
root@serial:~# ls /etc/udev/rules.d/
Fixed tty device assignments in Linux using udev
udev(7): dynamic device management - Linux man page
Persistent names for usb-serial devices | HintShop
wnoguchi@serial:~$ apropos udev
apropos: can't set the locale; make sure $LC_* and $LANG are correct
systemd-udevd (8) - Device event managing daemon
systemd-udevd-control.socket (8) - Device event managing daemon
systemd-udevd-kernel.socket (8) - Device event managing daemon
systemd-udevd.service (8) - Device event managing daemon
udev (7) - Dynamic device management
udev.conf (5) - Configuration for device event managing daemon
udevadm (8) - udev management tool
やっぱマニュアルだな。
wnoguchi@serial:~$ man 7 udev
だんだん眠たくなってきて寝たら昨日の今
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="32", ATTR{address}=="?*00:02:c9:03:00:31:78:f2", NAME="mlx4_ib3"
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="tty.usbserial-$attr{serial}"
/dev/tty.usbserial-AI038TTH
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:6b:eb:75", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
シンボリックリンクできたっぽい
wnoguchi@serial:~$ ls -l /dev/tty.us*
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-A103NTFZ -> ttyUSB1
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-A504AOKI -> ttyUSB6
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-A504APRK -> ttyUSB0
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-A504AQ7R -> ttyUSB7
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-A504CU6I -> ttyUSB4
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-A504CVAJ -> ttyUSB3
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-AI0388SG -> ttyUSB9
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-AI038TTH -> ttyUSB2
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-AI038TTZ -> ttyUSB8
lrwxrwxrwx 1 root root 7 Dec 10 07:56 /dev/tty.usbserial-AL00LMJ1 -> ttyUSB5
デーモンを再起動せずともファイル書き込んで再起動すれば反映される。
Ubuntuでminicom起動すると/dev/ttyUSB0のパーミッションがないと言われる - kinneko@転職先募集中の日記
なんかもうこれでいいかなという気持ちになってきた。
シンボリックリンクでイイヨー
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP="users", MODE="0666"
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="tty.usbserial-$attr{serial}"
wnoguchi@serial:~$ ls -l /dev/tty.us* /dev/ttyUSB*
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A103NTFZ -> ttyUSB1
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504AOKI -> ttyUSB6
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504APRK -> ttyUSB0
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504AQ7R -> ttyUSB7
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504CU6I -> ttyUSB4
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504CVAJ -> ttyUSB3
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AI0388SG -> ttyUSB9
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AI038TTH -> ttyUSB2
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AI038TTZ -> ttyUSB8
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AL00LMJ1 -> ttyUSB5
crw-rw-rw- 1 root users 188, 0 Dec 10 12:49 /dev/ttyUSB0
crw-rw-rw- 1 root users 188, 1 Dec 10 12:49 /dev/ttyUSB1
crw-rw-rw- 1 root users 188, 2 Dec 10 12:49 /dev/ttyUSB2
crw-rw-rw- 1 root users 188, 3 Dec 10 12:49 /dev/ttyUSB3
crw-rw-rw- 1 root users 188, 4 Dec 10 12:49 /dev/ttyUSB4
crw-rw-rw- 1 root users 188, 5 Dec 10 12:49 /dev/ttyUSB5
crw-rw-rw- 1 root users 188, 6 Dec 10 12:49 /dev/ttyUSB6
crw-rw-rw- 1 root users 188, 7 Dec 10 12:49 /dev/ttyUSB7
crw-rw-rw- 1 root users 188, 8 Dec 10 12:49 /dev/ttyUSB8
crw-rw-rw- 1 root users 188, 9 Dec 10 12:49 /dev/ttyUSB9
wnoguchi@serial:~$ udevadm info --name=/dev/tty.usbserial-AI038TTZ --attribute-walk | less
wnoguchi@serial:~$ screen /dev/tty.usbserial-AI038TTZ
wnoguchi@serial:~$ cu --line /dev/tty.usbserial-AI038TTZ --speed 9600
Connected.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Conclusion
udev のルールに以下書けば OK 。
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP="users", MODE="0666"
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="tty.usbserial-$attr{serial}"
作成されたスペシャルデバイスファイルへのシンボリックリンクも貼られる。
wnoguchi@serial:~$ ls -l /dev/tty.us* /dev/ttyUSB*
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A103NTFZ -> ttyUSB1
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504AOKI -> ttyUSB6
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504APRK -> ttyUSB0
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504AQ7R -> ttyUSB7
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504CU6I -> ttyUSB4
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-A504CVAJ -> ttyUSB3
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AI0388SG -> ttyUSB9
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AI038TTH -> ttyUSB2
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AI038TTZ -> ttyUSB8
lrwxrwxrwx 1 root root 7 Dec 10 12:49 /dev/tty.usbserial-AL00LMJ1 -> ttyUSB5
crw-rw-rw- 1 root users 188, 0 Dec 10 12:49 /dev/ttyUSB0
crw-rw-rw- 1 root users 188, 1 Dec 10 12:49 /dev/ttyUSB1
crw-rw-rw- 1 root users 188, 2 Dec 10 12:49 /dev/ttyUSB2
crw-rw-rw- 1 root users 188, 3 Dec 10 12:49 /dev/ttyUSB3
crw-rw-rw- 1 root users 188, 4 Dec 10 12:49 /dev/ttyUSB4
crw-rw-rw- 1 root users 188, 5 Dec 10 12:49 /dev/ttyUSB5
crw-rw-rw- 1 root users 188, 6 Dec 10 12:49 /dev/ttyUSB6
crw-rw-rw- 1 root users 188, 7 Dec 10 12:49 /dev/ttyUSB7
crw-rw-rw- 1 root users 188, 8 Dec 10 12:49 /dev/ttyUSB8
crw-rw-rw- 1 root users 188, 9 Dec 10 12:49 /dev/ttyUSB9
あとはシェルスクリプトなりエイリアスなりでラップして
alias R2='screen /dev/tty.usbserial-AI038TTH'
とかすれば幸せになれるんじゃないかな。
最近私が使っているのはこんな感じのスクリプトです。
serial console screen wrapper script.
#!/bin/bash
session_name=$1
case $1 in
"SW1")
devname=/dev/tty.usbserial-AL00LMJ1
;;
"SW2")
devname=/dev/tty.usbserial-A504CVAJ
;;
"SW3")
devname=/dev/tty.usbserial-A504APRK
;;
"SW4")
devname=/dev/tty.usbserial-A504CU6I
;;
"SW5")
devname=/dev/tty.usbserial-A504AQ7R
;;
"SW6")
devname=/dev/tty.usbserial-FTGNW2EB
;;
"SW7")
devname=/dev/tty.usbserial-FTZ2DHIG
;;
"SW8")
devname=/dev/tty.usbserial-FTZ2DFBL
;;
"ASW101")
devname=/dev/tty.usbserial-FTK1ROUP
;;
"ASW1")
devname=/dev/tty.usbserial-AI038TTZ
;;
"ASW2")
devname=/dev/tty.usbserial-A504AOKI
;;
"R1")
# R1
devname=/dev/tty.usbserial-AI038TTH
;;
"R2")
# R2
devname=/dev/tty.usbserial-A103NTFZ
;;
"R3")
# R3
devname=/dev/tty.usbserial-AI0388SG
;;
*)
echo "No such device."
exit 404
;;
esac
#screen /dev/${devname}
screen -xRS ${session_name} ${devname}
ハッピー Shaving!