Remapeando as portas seriais no 14.04 usando as regras do udev não funcionando?

2

Portanto, eu tenho um arquivo de regras do udev para remapear as portas seriais, pois elas não estão na ordem exigida. As regras funcionam bem no SLES11 SP1, mas não parecem fazer nada em 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"

Eu tentei usar o seterial como um swell, mas sem progresso.

    
por Rob Zebedee 10.08.2016 / 11:56

1 resposta

1

udev foi alterado, suporta apenas NAME apenas para interfaces de rede.

  • De a nota de lançamento , o SLES11 SP1 é a versão 11.1.1.10 (2012 -04-17), por isso deve ser o mesmo que o 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.
    
  • Onde no 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.
    

Observe que o primeiro nome é para correspondência de condição e o segundo nome é para ação. Você pode comparar as duas páginas man em manpages.ubuntu.com

Para uma resposta completa, você deve procurar criar novos links simbólicos usando a ação SYMLINK udev.

    
por user.dz 07.10.2016 / 21:33