2017-05-23 18 views
1

USBデバイス接続に永続的な名前を追加しようとすると、/ devttyACMxの代わりに/ dev/multitechを書き込んで接続できます。 (他に何も接続されていない場合)に問題がttyACM0からttyACM5に、6つの接続、このデバイスが開いている複数の接続を開くUSBデバイス内の永続的な名前|| USBを特定のポートに接続する

SUBSYSTEM=="tty", ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021",ATTRS{serial}=="356136967675473", SYMLINK+="multitech" 

が、それを使用するために:私は、たとえば、udevのルールを追加することによって、他のデバイスと、そうすることができましたあなたは(最初の接続を意味する)ttyACM0を使用する必要がありますが、あなたは書いた場合:

$ ls -l /dev/multitech 

あなたはそれが開いているものは何でも接続得ることができます、多分ttyACM0または多分ttyACM3は...事は、これは私のために無用であるということですなぜなら、時にはうまく働き、ときどきそうでないからです。私はこれについて何かできることはありますか?

ありがとうございます!

+0

私はさまざまなことを求めるので、私の質問は重複していませんが、そこに提案された解決策は私のために働いたので、私はそれを受け入れるでしょう – Kailegh

答えて

0

Change default names for USB virtual serial ports in Linux

この投稿は、代わりに/ devttyACMx Yを使用するのでは今までの/ dev /シリアル/バイID/ で使用される名前に変更し、私の悩みを解決しましたそれはそれをやめるとうまくいきました私はそれを投稿します

0

通常、デバイスが確立する各接続には、独自のインターフェイスまたはUSBツリー構造の代替設定があります。 udevルールであなたには、いくつかの他の属性を使用することができますお使いのデバイスは、そのUSBであり、いくつかのUSBインタフェースの識別子を参照するための属性がudevadm info --attribute-walk + /sys/class/...または/dev/...パスを歩む

実行(あなたがudevadm info --attribute-walkhttp://www.beyondlogic.org/usbnutshell/usb5.shtml#InterfaceDescriptorsを使用して表示することができ、すべて)次の属性を使用して、すなわち、udevのルールでそれらを含めるように構成してみてください:

ATTRS{bAlternateSetting}=="..." 
ATTRS{bInterfaceClass}=="..." 
ATTRS{bInterfaceNumber}=="..." 
ATTRS{bInterfaceProtocol}=="..." 
ATTRS{bInterfaceSubClass}=="..." 

は、デバイスがそのUSB構造に持つ任意のインターフェイスのための具体的な/dev/ttyACMxを割り当てるとのトップレベルのインタフェースを割り当てようとしてみてくださいのUSB構造/dev/ttyACM0 ...

http://weininger.net/how-to-write-udev-rules-for-usb-devices.html

+0

私はttyACM0〜ttyACM5のプロパティはすべて同じです。 1つのATTRS属性が異なっているので、私はそれのためのudevルールを書く方法を知らない。 – Kailegh

関連する問題