driver opsi dengan benar cocok dengan ID USB dan memuat driver untuk perangkat ini. Sebagai contoh
# lsusb
Bus 001 Device 002: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636
Bus 001 Device 003: ID 12d1:14ac Huawei Technologies Co., Ltd.
Ini juga menciptakan perangkat ttyUSBX untuk mengelola perangkat keras
crw-rw---- 1 root uucp 188, 0 Jul 4 13:48 /dev/ttyUSB0
crw-rw---- 1 root uucp 188, 1 Jul 4 13:49 /dev/ttyUSB1
crw-rw---- 1 root uucp 188, 2 Jul 4 13:35 /dev/ttyUSB2
crw-rw---- 1 root uucp 188, 3 Jul 4 13:37 /dev/ttyUSB3
crw-rw---- 1 root uucp 188, 4 Jul 4 13:37 /dev/ttyUSB4
crw-rw---- 1 root uucp 188, 5 Jul 4 13:37 /dev/ttyUSB5
crw-rw---- 1 root uucp 188, 6 Jul 4 13:37 /dev/ttyUSB6
crw-rw---- 1 root uucp 188, 7 Jul 4 13:37 /dev/ttyUSB7
Namun, saya memiliki lebih dari satu perangkat serial usb dan saya ingin tahu ttyUSB mana yang menggunakan USBID. Ex. / dev / ttyUSB1 -> 19d2: 0031
Apakah Anda tahu titik di mana saya bisa mendapatkan informasi ini?
Jawaban:
Lihatlah sistem file sysfs. Contoh untuk serial USB saya:
Seperti yang Anda lihat,
ttyUSB0
peta ke067b:2303
di komputer saya. Lokasi lain yang patut dijelajahi adalah/sys/class/tty/
. Perhatikan symlink.sumber
cat
parauevent
file dari hasilfind /sys -name ttyACM0
, misalnya. Ganti nama simpul perangkat serial Anda.Anda dapat mencoba melihat apakah perangkat Anda terdaftar di / dev / serial / by-id /
Nama-nama ini harus konsisten dan akan mengarahkan (symlink) ke ttyUSBx yang benar
sumber
ls -l /dev/serial/by-id
hanya mengembalikan satu adaptor../../ttyUSB1
, sementarals -l /sys/bus/usb-serial/devices
menunjukkan kepada saya keduanya. Jadi saya tidak berpikir ini adalah jawaban yang bagus.Saya punya masalah serupa .
Tulis ini ke /etc/udev/rules.d/50-usb.rules
sampai akhir. Mulai ulang.
Sekarang Anda dapat menggunakan
/dev/ONDA
untuk sampai ke perangkat ONDA Anda.Jika Anda ingin pengguna non-root dapat menggunakannya, lalu tambahkan
ke akhir setiap baris.
sumber
udevadm info --name=/dev/ttyACM0
Saya akan menggunakan udev dan menulis beberapa aturan yang membuat symlink untuk perangkat.
Untuk mendapatkan informasi yang cukup untuk membedakan perangkat coba sesuatu seperti ini untuk semua perangkat:
sumber
Perintah berikut akan memberi saya daftar nama perangkat ttyUSB yang dikaitkan dengan 19d2: 0016 (yang merupakan id "mode modem" dari stik ZTE MF831 LTE, milik Anda mungkin berbeda.):
Ini akan berulang melalui daftar file dengan nama file ttyUSB *, termasuk symlink, di / sys / bus / usb / perangkat. Dalam hasil, kami akan mencari file bernama modalias dan mencari string yang berisi id vendor "v" "19d2" dan id produk "p" 0016. Jika hasilnya cocok, kami akan menggemakan string yang diawali dengan "/ dev / "di depan USB? nama. Afaik yang pertama atau biasanya yang terakhir (angka tertinggi) adalah port modem untuk perangkat ZTE. Anda dapat mengulang hasil ke file di / tmp / dan kepala -n1 atau ekor -n1 sesuai baris. Jika Anda memiliki hub, Anda mungkin perlu meningkatkan maxdepth.
Ini bukan cara yang paling elegan, tetapi ini akan bekerja pada hampir semua varian Linux.
sumber