udev ルールなしで USB デバイス名を静的名前に変更します。

udev ルールなしで USB デバイス名を静的名前に変更します。

Arduinoボードがポートに接続され、UbuntuでデバイスUSBとして認識されました。ttyACM0Arduinoサイトのプログラミングの理由から、デバイスはLinuxで表示される必要がありますttyUB0

udevこの問題は、次の合計ルールを使用して解決できます。

SUBSYSTEM=="tty", ATTRS{idVendor}=="XXX", ATTRS{idProduct}=="YYY", MODE="0666", SYMLINK+="ttyUSBO"

に書く/etc/udev/rules.d/99-usb-serial.rules

Arduinoボードはこれらの設定で動作し、すべてが大丈夫です。

しかし、チップを使って2番目のデバイスを接続したいと思いますFTDI_FT232_USB_UART。 Ubuntuは自動的にデバイスを認識して登録しますttyUSB0

この時点では、ArduinoからチップttyUSB0と「実際の」デバイスttyUSB0へのシンボリックリンクがあるため、混在していますFTDI。その結果、これらのデバイスのどれも正しく動作しません。

見ようとしたところ、ttyUSB0両機器のデータが混ざっているのが見つかりました。

別のルールを作成してチップの名前を変更しようとしましたが、ttyUSB0デバイスへの別のシンボリックリンクのみを作成できるため、うまくいきませんでした。FTDIudevttyUSB0

ルールによると、ルールUSBによってデバイス名を変更することはできません。udev文書

USBたとえば、接続中にデバイス名を静的名前に変更する別の方法を見つけようとしましたが、失敗しttyUSBXました。

接続プロセス中にチップベースのデバイスの静的名前を指定するか、後でArduino用に生成されたシンボリックリンクと競合しFTDIないように名前を変更できますか?ttyUSB0

関連情報