udev não está sendo executada

1

Eu tenho o seguinte dispositivo que udevadm lista como:

looking at device '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0/ttyUSB0/tty/ttyUSB0': KERNEL=="ttyUSB0" SUBSYSTEM=="tty" DRIVER==""

looking at parent device '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0/ttyUSB0': KERNELS=="ttyUSB0" SUBSYSTEMS=="usb-serial" DRIVERS=="pl2303" ATTRS{port_number}=="0"

looking at parent device '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0': KERNELS=="6-2:1.0" SUBSYSTEMS=="usb" DRIVERS=="pl2303" ATTRS{bInterfaceNumber}=="00" ATTRS{bAlternateSetting}==" 0" ATTRS{bNumEndpoints}=="03" ATTRS{bInterfaceClass}=="ff" ATTRS{bInterfaceSubClass}=="00" ATTRS{bInterfaceProtocol}=="00" ATTRS{supports_autosuspend}=="1"

Então criei a regra:

KERNEL=="ttyUSB0", SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="pl2303", KERNELS=="6-2:1.0", SYMLINK+="cc128serial"

isso não funciona.

No entanto, se eu fizer isso:

KERNEL=="ttyUSB0", SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="pl2303", SYMLINK+="cc128serial"

então funciona. Eu tentei com KERNELS=="6*" etc .. para não disponível

alguma ideia?

obrigado

    
por jyavenard 10.05.2012 / 18:37

2 respostas

4

Este artigo sobre como escrever scripts do udev (procure por "inválido") indica que a regra que você gostaria de usar use é inválido porque você tenta corresponder aos atributos de dois níveis pai diferentes: SUBSYSTEMS=="usb-serial" (pai) e KERNELS=="6-2:1.0" (avô).

...while it is legal to combine the attributes from the device in question and a single parent device, you cannot mix-and-match attributes from multiple parent devices - your rule will not work.

    
por 12.05.2012 / 15:13
0

O dispositivo pai tem KERNELS=="ttyUSB0" , o qual eu aposto tem precedência sobre o dispositivo pai do pai KERNELS=="6-2:1.0" .

Qualquer motivo para não usar a regra que funciona?

    
por 10.05.2012 / 19:25

Tags