Назад | Перейти на главную страницу

Переназначение имен устройств последовательного порта Linux

У меня есть сервер под управлением Debian Linux, который имеет встроенный последовательный порт, который обозначается как ttyS0. У меня есть подключаемая карта PCI с двумя последовательными портами, которые зарегистрированы в Linux как ttyS2 и ttyS3.

К сожалению, я пытаюсь запустить какое-то программное обеспечение, которое предполагает наличие ttyS0 и ttyS1. Можно ли переназначить имена устройств последовательного порта (с помощью правила udev?), Чтобы ttyS0 оставался таким, как есть, а ttyS2 стал ttyS1?

Вы можете использовать для этого udev. Создать файл /etc/udev/rules.d/90-rename-serial-ports.rule содержащий

ACTION=="add" KERNEL=="ttyS2" NAME="ttyS1"

должен это делать (не проверял). Обратите внимание на разницу между «==» и «=».

Не стоит возиться с такими именами. Использовать setserial чтобы отменить отображение ttyS2 и сопоставить ttyS1 с его ресурсами. А затем вы должны найти того, кто написал этот код, и познакомить его с вашими пальцами. К настоящему времени они действительно должны знать лучше.

Как насчет равнины mv /dev/ttyS2 /dev/ttyS1? В конце концов, большинство устройств - это просто файл, расположенный в /dev.

ЛЭ: Вам нужно делать переименование при каждой загрузке.

попробуй это:

sudo ln -s /dev/ttys2 /dev/ttys1

Он связывает ttys1 с настоящим ttys2.

Протестировано для работы с такими приложениями, как minicom с адаптером USB-последовательный порт (/ dev / ttyUSB0) в Ubuntu Lucid.

Он не переживает перезагрузки, если вы не добавите его в сценарий (например: /etc/rc.local в большинстве дистрибутивов Linux)