Как автоматически установить скорость передачи данных при подключении устройства?
Я могу использовать stty -F /dev/ttyUSB0 19200
установить скорость передачи данных, когда захочу. Но я хотел бы установить его автоматически, когда устройство подключено. Есть ли какой-нибудь конфигурационный файл, в который я могу вставить это?
Я делаю это в системе Ubuntu 14.04.
1 ответ
Ты можешь использовать udev
для этого ( https://en.wikipedia.org/wiki/Udev)
написать правило udev в /etc/udev/rules.d
для вашего устройства, которое выполняет сценарий оболочки вы хотите
см. https://wiki.archlinux.org/index.php/udev для написания правил udev. Вы можете использовать, например, USB vendorID и productID, чтобы идентифицировать устройство, для которого вы пишете скрипт
KERNEL=="sd*", ATTRS{idVendor}=="12ba", ATTRS{idProduct}=="58ea", ATTRS{model}=="XYZ42", ATTRS{serial}=="123465789", RUN+="/pathto/script"
https://unix.stackexchange.com/questions/28548/how-to-run-custom-scripts-upon-usb-device-plug-in
Создайте файл правил udev, например, /etc/udev/rules.d/99-ttyUSB.rules
и поместите туда следующую строку:
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="YYYY", RUN+="/bin/stty -F /dev/%k 19200"
Замените XXXX и YYYY значениями идентификатора поставщика / продукта соответственно. Вы можете получить их, запустивlsusb