Saya baru mengenal dunia Linux dan saat ini saya menggunakan Ubuntu 12.04. Itu berjalan di partisi Windows. Saya telah mengembangkan program python yang membaca data serial dari pengontrol mikro melalui port USB. Semua berfungsi dengan baik sampai dua hari yang lalu ketika mulai mogok. Saat memasukkan dmesg | grep tty
ke konsol saya mendapatkan output berikut:
[ 0.000000] console [tty0] enabled
[ 14.599394] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[ 290.236065] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[ 1105.915191] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
Setiap kali saya menghubungkan dan memutuskan USB, saya mendapatkan saluran baru dengan data yang sama. Hanya perbedaan waktu. Apakah ini benar atau saya punya masalah. Bantuan apa pun akan dihargai. Terima kasih
Pembaruan:
Masalahnya adalah dengan pengontrol mikro. Itu reboot setiap kali tidak menerima paket dari sensor apa pun untuk jangka waktu tertentu. Mikrokontroler adalah router pada jaringan sensor nirkabel. Setiap kali mikrokontroler mem-boot ulang port koneksinya bertambah, mis. ttyACM0
ke ttyACM1
. Setelah menghubungkan pengontrol ke Raspberry PI, ini berhenti terjadi.
Jawaban yang Diterima:
-
Periksa ID Vendor USB, ID Produk, dan Nomor Seri.
$ dmesg | grep usb [...] [11427.635362] usb 2-1.2: new high-speed USB device number 8 using ehci-pci [11427.730823] usb 2-1.2: New USB device found, idVendor=04e8, idProduct=685e [11427.730830] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [11427.730834] usb 2-1.2: Product: SAMSUNG [11427.730838] usb 2-1.2: Manufacturer: Android [11427.730842] usb 2-1.2: SerialNumber: S610275b03f86 [11427.742314] usb-storage 2-1.2:1.0: USB Mass Storage device detected [11427.742436] scsi8 : usb-storage 2-1.2:1.0 [11427.786013] usbcore: registered new interface driver cdc_acm
Atau
udevadm info -a /dev/ttyUSB1
mungkin lebih lengkap. -
Buat file aturan udev baru. Contoh dengan aturan untuk ponsel Android, Arduino, Bus bajak laut, dan kit ARM.
$ sudo nano /etc/udev/rules.d/99-my-usb-serial.rules SUBSYSTEM=="tty", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="685e", ATTRS{serial}=="S610275b03f86", SYMLINK+="android" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A6008isP", SYMLINK+="arduino" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A7004IXj", SYMLINK+="buspirate" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTDIF46B", SYMLINK+="ttyUSB.ARM"
Referensi:
- Nama tetap untuk perangkat serial usb
- Memulai BeagleBone &BeagleBone Black atau tepatnya mkudevrule.sh