Преобразование имен устройств последовательного порта 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)

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