GNU/Linux >> Belajar Linux >  >> Linux

Aturan Udev untuk mencocokkan beberapa perangkat USB node

Semua aturan Anda memiliki kesalahan sintaks di dalamnya:

  1. = adalah untuk tugas == adalah untuk perbandingan, jadi Anda tidak benar-benar melihat DEV apa disamakan, Anda menugaskannya.
  2. Anda membutuhkan , di antara semua pernyataan, tidak ada pernyataan sebelum SYMLINK+= .

Aturan Kepalan

ACTION=="add", DEV=="/devices/platform/pxa27x-ohci/usb1/1-2/1-2.2/1-2.2:1.0", SYMLINK+="huawey0"

Aturan Kedua

ACTION=="add", KERNEL=="1-2.2:1.0", SYMLINK+="huawey0"

Aturan Ketiga

ACTION=="add", DEV=="/devices/platform/pxa27x-ohci/usb1/1-2/1-2.2/1-2.2:1.[0-4]", ATTR{bInterfaceNumber}=="00", SYMLINK+="huawey0"

Aturan Keempat

ACTION=="add", ATTR{bInterfaceNumber}=="00", SYMLINK+="huawey0"

Semua aturan ini harus melakukan apa yang Anda inginkan sekarang (saya akan menggunakan yang pertama secara pribadi).


Meskipun postingan ini ditanyakan tiga tahun lalu, dan ini mungkin tidak menjawab jawabannya, saya masih ingin membagikan pengalaman sukses saya di sini untuk referensi di masa mendatang.

Menurut Identifikasi perangkat modem GSM Jens Reimann menggunakan udev, "atribut perangkat" bInterfaceNumber "tidak ada di perangkat tty, tetapi di perangkat usb di hierarki induk", jadi saya membuat dua aturan untuk usb-to-4- FTDI saya adaptor port-serial:

SUBSYSTEMS=="usb", ENV{.LOCAL_ifNum}="$attr{bInterfaceNumber}"

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", SYMLINK+="ttyUSB_FTDI_4_PORT_%E{.LOCAL_ifNum}"

Ini menyimpan atribut "bInterfaceNumber" ke dalam variabel lingkungan ".LOCAL_ifNum" (titik awalan adalah notasi untuk variabel sementara atau tersembunyi). Pada aturan kedua, variabel yang sama ditarik menggunakan sintaks “%E”. Versi udev yang lebih baru juga mendukung “$env” daripada “%E”.
(oleh Jens Reimann)

di mana ttyUSB_FTDI_4_PORT_ adalah nama symlink. Kedua aturan ini akan membuat symlink sebagai ttyUSB_FTDI_4_PORT_00 , ttyUSB_FTDI_4_PORT_01 , ttyUSB_FTDI_4_PORT_02 , ttyUSB_FTDI_4_PORT_03 . Anda dapat menambahkan ATTRS{serial} atribut untuk membatasi pencacahan lebih lanjut.

Jens Reimann juga mengakui kontribusi pertanyaan U&L Ketan Patel, file aturan Udev untuk modem tidak berfungsi, dengan jawaban yang diterima oleh derobert.


Linux
  1. Linux – Aturan Udev:Bagaimana Mencocokkan Hanya Perangkat Kernel (bukan Partisi) Setelah Perangkat #26?

  2. Linux – Bagaimana Cara Menghubungkan Kembali Perangkat Usb yang Terputus Secara Logis?

  3. Konflik Node.js:/sbin/node Vs /usr/bin/node?

  1. Konfigurasikan Udev Untuk Mengubah Izin Pada Perangkat Usb Hid?

  2. Mendapatkan nama perangkat yang ramah dengan python

  3. menyiapkan perangkat untuk pengembangan (???????????? tidak ada izin)

  1. aturan udev untuk memuat tata letak keyboard secara otomatis saat keyboard usb dicolokkan

  2. Tentukan node NUMA perangkat PCIe

  3. Dapatkan konsumsi daya perangkat USB