Преобразование имен устройств последовательного порта Linux
У меня есть сервер под управлением Debian Linux, который имеет встроенный последовательный порт, который будет называться ttyS0. У меня есть штекер PCI-карты с двумя последовательными портами, которые регистрируются в Linux как ttyS2 и ttyS3.
К сожалению, я пытаюсь запустить какое-то программное обеспечение, которое предполагает наличие ttyS0 и ttyS1. Можно ли переназначить имена устройств последовательного порта (используя правило udev?) Так, чтобы ttyS0 оставался как есть, а ttyS2 становился ttyS1?
4 ответа
Вы можете использовать Udev для этого. Создайте файл /etc/udev/rules.d/90-rename-serial-ports.rule, содержащий
ACTION=="add" KERNEL=="ttyS2" NAME="ttyS1"
должен это сделать (не проверено). Обратите внимание на разницу между "==" и "=".
Как насчет равнины mv /dev/ttyS2 /dev/ttyS1
? Ведь большинство устройств - это просто файл, расположенный под /dev
,
Л.Э.: Тебе нужно делать переименование при каждой загрузке.
Вы не должны возиться с такими именами. использование setserial
снять отображение ttyS2 и отобразить ttyS1 на его ресурсы. И тогда вы должны найти того, кто написал этот код, и представить его на ладони. Они действительно должны знать лучше к настоящему времени.
Попробуй это:
sudo ln -s /dev/ttys2 /dev/ttys1
Он связывает ttys1 с реальным ttys2.
Протестировано для работы с такими приложениями, как minicom, с адаптером USB-to-serial (/dev/ttyUSB0) в Ubuntu Lucid.
Он не выживает после перезагрузки, если вы не добавите его в скрипт (например, /etc/rc.local в большинстве дистрибутивов Linux)