Я новичок в мире Linux и в настоящее время использую Ubuntu 12.04. Он работает в разделе Windows. Я разработал программу на Python, которая считывает последовательные данные с микроконтроллера через порт USB. Все работало нормально до двух дней назад, когда он начал падать. При вводе dmesg | grep tty
в консоль я получаю следующий вывод:
[ 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
Каждый раз, когда я подключаю и отключаю USB, я получаю новую строку с теми же данными. Разница только во времени. Это правильно или у меня проблема. Любая помощь будет оценена. Спасибо
Обновление:
Проблема была с микроконтроллером. Он перезагружался каждый раз, когда не получал посылку от каких-либо датчиков в течение определенного периода времени. Микроконтроллер - это маршрутизатор в беспроводной сенсорной сети. Каждый раз, когда микроконтроллер перезагружался, его порт подключения увеличивался, например, с ttyACM0
до ttyACM1
. После подключения контроллера к Raspberry PI это перестало происходить.
Проверьте идентификатор поставщика USB, идентификатор продукта и порядковый номер.
$ 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
Или udevadm info -a /dev/ttyUSB1
может быть больше завершенное.
Создайте новый файл правил udev. Пример с правилами для телефона на базе Android, Ардуино, пирата Шины и набора 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"
Ссылки: