因此,我有一个 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 a swell,但没有进展。
答案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.
注意,第一个名称表示条件匹配,第二个名称表示操作。您可以在以下位置比较两个手册页:手册页
为了获得完整的答案,您应该寻找创建新的符号链接,而不是使用SYMLINK
udev 操作。