Как автоматически установить скорость передачи данных при подключении устройства?

Я могу использовать 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

Другие вопросы по тегам