web-dev-qa-db-ja.com

FTDIのUDEVルールが完全に機能しない

私はこの質問が何度も聞かれたことを知っていますが、私はそれを機能させることができません。 FTDIシリアルUSBコンバーターを持っています。 10-fhss-usb.rules/etc/udev/rules.d/を生成しました:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTTA5DMA", SYMLINK+="fhss", GROUP="dialout", MODE="0777", RUN+="echo USB CONNECTED!"

また、ユーザーをdialoutグループに追加しました:

Sudo usermod -a -G dialout $ USER

およびgroups $USERは以下を返します。

jvgomez : jvgomez adm dialout Sudo plugdev lpadmin sambashare

(別の投稿に従ってplugdevグループが作成されました)今、USBを接続すると、ls -alが実行されます:

$ ls -al /dev/fhss
lrwxrwxrwx 1 root root 7 Jun  4 17:13 /dev/fhss -> ttyUSB0

$ ls -al /dev/ttyUSB0 
crw-rw-r-- 1 root dialout 188, 0 Jun  4 17:13 /dev/ttyUSB0

echo USB CONNECTED!メッセージは表示されません。そして、screen /dev/fhss/を使用すると、すぐに[screen is terminating]と表示されます。動作させるには、chmodを実行する必要があります

$ Sudo chmod a+rwx /dev/fhss 

そしていま:

$ ls -al /dev/ttyUSB0 
crwxrwxrwx 1 root dialout 188, 0 Jun  4 17:13 /dev/ttyUSB0

1)何が欠けていますか?私はまだchmodを実行する必要がありますが、これは回避しようとしています。 2)SUBSYSTEM=="tty"SUBSYSTEM=="usb"の使用の違いは何ですか?

どんな助けでも大歓迎です!

編集: sb udevルールは私にとってはうまくいきませんでした で提案されたNAME = "my_device"を追加しても何も変わりませんでした。

3
Javi V

UbuntuでFTDIブレークアウトを機能させるには:

ルート権限で/ etc/groupファイルを開きます。

Sudo nano /etc/group

その後、tty:x5:およびdialout:x20:を検索します

各行の前にユーザー名を入力して、このグループにユーザーを追加します。

tty:x5:<user>

dialout:x20:<user>

次の2つのコマンドを使用して、ファイルの検索を回避することもできます。

Sudo usermod -aG tty <user>
Sudo usermod -aG dialout <user>

ここで、<user>は、ユーザー名です。

最後に、コンピューターを再起動します。

Udevルールを使用する場合は、FTDIモジュールを接続してから実行します:

lsusb

これにより、vendorIDとproductIDが表示されます。例えば:

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

8087はvendorID、0024はproductIDです。

次に、次のようなルールを作成します。

ATTRS{idVendor}="8087", ATTRS{idProduct}="0024", MODE="0660", GROUP="dialout"
2
GTRONICK

私はFT232RLチップをBit Bangモードで使用していますが、同じ許可の問題に遭遇しました。私が理解していない理由のために、上で提案された規則は私にはうまくいきませんでした。しかし、いくつかの変更を加えて、私はそれを機能させました。

これが誰かの助けになることを願っています:

$ lsusb

Bus 001 Device 023: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

上記のように、ユーザーをdialoutおよびttyに追加しました:$ Sudo usermod -aG dialout $USER $ Sudo usermod -aG tty $USER

ただし、/etc/udev/rules.d/99-libftdi.rulesの行は異なります。

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS={idProduct}=="6001", OWNER="user", MODE="0777", GROUP="dialout"

重大な違いはSUBSYSTEM=="usb"である可能性があります。

2
kalleknast