Преобразование последовательных портов в 14.04 с использованием правил udev не работает?
Итак, у меня есть файл правил udev для переназначения последовательных портов, так как они не в требуемом порядке. Правила работают нормально на SLES11 SP1, но, похоже, ничего не делают 14.04.
SUBSYSTEM=="platform", DRIVERS=="serial8250", KERNELS=="serial8250", KERNEL=="ttyS2", NAME="ttyS10"
SUBSYSTEM=="platform", DRIVERS=="serial8250", KERNELS=="serial8250", KERNEL=="ttyS3", NAME="ttyS11"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{id}=="PNP0501", KERNEL=="ttyS4", NAME="ttyS12"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{id}=="PNP0501", KERNEL=="ttyS5", NAME="ttyS13"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS6", NAME="ttyS2"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS7", NAME="ttyS3"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS8", NAME="ttyS4"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS9", NAME="ttyS5"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS10", NAME="ttyS6"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS11", NAME="ttyS7"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS12", NAME="ttyS8"
SUBSYSTEM=="tty", DRIVERS=="serial", ATTRS{subsystem_vendor}=="0x1415", KERNEL=="ttyS13", NAME="ttyS9"
Я пробовал использовать setserial, но безуспешно.
1 ответ
Решение
udev
был изменен, он поддерживает NAME
только для сетевых интерфейсов больше ничего.
Из заметки о выпуске SLES11 SP1 является Версия 11.1.1.10 (2012-04-17), поэтому она должна быть такой же, как Ubuntu 12.04.
NAME Match the name of the node or network interface. It can be used once the NAME key has been set in one of the preceding rules. ... NAME What a network interface should be named. Also, as a temporary workaround, this is what a device node should be named; usually the kernel provides the defined node name or creates and removes the node before udev even receives any event. Changing the node name from the kernel's default creates inconsistencies and is not supported. If the kernel and NAME specify different names, an error is logged. udev is only expected to handle device node permissions and to create additional symlinks, not to change kernel-provided device node names. Instead of renaming a device node, SYMLINK should be used. However, symlink names must never conflict with device node names, as that would result in unpredictable behavior.
Где в Ubuntu 14.04
NAME Match the name of a network interface. It can be used once the NAME key has been set in one of the preceding rules. ... NAME The name to use for a network interface. The name of a device node cannot be changed by udev, only additional symlinks can be created.
Обратите внимание, что 1-е ИМЯ соответствует условию, а 2-е ИМЯ - действию. Вы можете сравнить обе страницы man на manpages.ubuntu.com
Для полного ответа, вы должны искать создание новых символических ссылок вместо SYMLINK
Удев действие.