Yura YuLife

ITエンジニアの覚え書き。

FTDI FT2232C用のudevルール

FTDIのFT2232C (Dual RS-232)というUSBシリアルを接続した際に、他のデバイスと識別できるよう、/dev/以下にシンボリックリンクを作成するudevのルールです。

通常のUSBデバイスならば、Vendor IdとProduct Idを指定すれば良いのですが、FT2232Cは2つのシリアルポートが存在するため、少し工夫が必要です。

環境

USBデバイスとして認識していることを確認

lsusb コマンドを実行して、 ベンダーIDとプロダクトIDが0403, 6010なるデバイスが存在することを確認します。

$ lsusb | grep "0403:6010"
Bus XXX Device XXX: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC

udevルールの作成

99-ft2232c.rulesというファイルを以下の内容で作成します。

# udev rule for FT2232C (Dual USB-UART/FIFO IC)
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{interface}=="Dual RS232", SYMLINK+="ft2232c-%s{bInterfaceNumber}"

作成したファイルを /etc/udev/rules.d/以下にコピーします。

$ sudo cp 99-ft2232c.rules /etc/udev/rules.d/

シンボリックリンクが貼られたことを確認

USBケーブルを抜き差しすると、 /dev/ft2232c-00, /dev/ft2232c-01 として、2つのシリアルポートが認識されていることが確認できます。

$ ls -al /dev/ | grep USB
lrwxrwxrwx  1 root root           7  7月 25 18:48 ft2232c-00 -> ttyUSB0
lrwxrwxrwx  1 root root           7  7月 25 18:48 ft2232c-01 -> ttyUSB1
crw-rw-rw-  1 root dialout 188,   0  7月 25 14:07 ttyUSB0
crw-rw----  1 root dialout 188,   1  7月 25 18:53 ttyUSB1

参考URL