存在するその質問誰かがすべてのUSBデバイスをブラックリストに追加し、特定のデバイスのみを許可しようとしています。
この問題では、すべてのUSBデバイスを許可しますが、ドライバが1つのcdc_acm
特定のデバイスタイプ(例:LEGO®NXTブリックフラッシュモードは使用しないでください(fwflash
デバイスへの生のアクセスが必要なので)、ドライバはArduinoボードにアクセスし続け/dev/ttyACM0
、教育環境NXTおよびArduinoハードウェアにアクセスしてください。
答え1
いくつかのトリックを書いた後、udevルールを使用してこれを行うことができました(lsusb
フラッシュモードでデバイスのベンダーと製品IDの検索を使用)。
$ cat /etc/udev/rules.d/nxt.rules
# disable NXT in flash mode
ACTION=="add", ATTR{idVendor}=="03eb", ATTR{idProduct}=="6124", RUN="/bin/sh -c '/bin/echo -n $kernel:1.0 | /usr/bin/tee /sys/bus/usb/drivers/cdc_acm/unbind | /usr/bin/logger -t nxt-flashmode'"
このルールは、NXTブロックがフラッシュモードで挿入または挿入されている間にフラッシュモードに入るとトリガされます。キャッチを防ぐことはできませんが、デバイスにアクセスできるcdc_acm
ようにデバイスを解放するように指示します。fwflash
:1.0
私はそれが何であるか、なぜそれが:1.1
sysfsにも現れるのではなく使用されるのかわかりませんでした。しかし、私は(私に)効果的なソリューションを共有したいと思いました。環境:2014年10月末現在、Debianは不安定です(つまり、ほぼDebian jessieと同じです)。