История изменений
Исправление Flotsky, (текущая версия) :
из
udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/input/event3)
Правило выше, где я TAG=""
работает и использует атрибуты родительских устройств, поэтому я пытаюсь их же использовать.
Думаю мне всё-же нужно KERNEL=="event*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0035", SYMLINK+="input/ffff_0035_USB_Reader"
т.к. этот блок я стащил и немного подправил из /usr/lib/udev/rules.d/60-persistent-input.rule
Но в виде как у меня это правило приводит к segfault при перезагрузке правил или просто не работает без segfault если сделать reboot
# udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/input/event3)
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:05.1/usb3/3-1/3-1:1.0/0003:FFFF:0035.0002/input/input4/event3':
KERNEL=="event3"
SUBSYSTEM=="input"
DRIVER==""
ATTR{power/control}=="auto"
ATTR{power/runtime_active_time}=="0"
ATTR{power/runtime_status}=="unsupported"
ATTR{power/runtime_suspended_time}=="0"
looking at parent device '/devices/pci0000:00/0000:00:05.1/usb3/3-1/3-1:1.0/0003:FFFF:0035.0002/input/input4':
KERNELS=="input4"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{capabilities/abs}=="0"
ATTRS{capabilities/ev}=="120013"
ATTRS{capabilities/ff}=="0"
ATTRS{capabilities/key}=="1000000000007 ff980000000007ff febeffdfffefffff fffffffffffffffe"
ATTRS{capabilities/led}=="1f"
ATTRS{capabilities/msc}=="10"
ATTRS{capabilities/rel}=="0"
ATTRS{capabilities/snd}=="0"
ATTRS{capabilities/sw}=="0"
ATTRS{id/bustype}=="0003"
ATTRS{id/product}=="0035"
ATTRS{id/vendor}=="ffff"
ATTRS{id/version}=="0110"
ATTRS{inhibited}=="0"
ATTRS{name}=="USB Reader USB Reader"
ATTRS{phys}=="usb-0000:00:05.1-1/input0"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{properties}=="0"
ATTRS{uniq}=="SN201706VER1"
looking at parent device '/devices/pci0000:00/0000:00:05.1/usb3/3-1/3-1:1.0/0003:FFFF:0035.0002':
KERNELS=="0003:FFFF:0035.0002"
SUBSYSTEMS=="hid"
DRIVERS=="hid-generic"
ATTRS{country}=="00"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
looking at parent device '/devices/pci0000:00/0000:00:05.1/usb3/3-1/3-1:1.0':
KERNELS=="3-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="usbhid"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="03"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{bInterfaceSubClass}=="01"
ATTRS{bNumEndpoints}=="01"
ATTRS{interface}=="USB Keyboard"
ATTRS{supports_autosuspend}=="1"
looking at parent device '/devices/pci0000:00/0000:00:05.1/usb3/3-1':
KERNELS=="3-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="200mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 2"
ATTRS{bcdDevice}=="0001"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="2"
ATTRS{devpath}=="1"
ATTRS{idProduct}=="0035"
ATTRS{idVendor}=="ffff"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="USB Reader"
ATTRS{maxchild}=="0"
ATTRS{power/active_duration}=="1490660"
ATTRS{power/autosuspend}=="2"
ATTRS{power/autosuspend_delay_ms}=="2000"
ATTRS{power/connected_duration}=="1490660"
ATTRS{power/control}=="on"
ATTRS{power/level}=="on"
ATTRS{power/persist}=="1"
ATTRS{power/runtime_active_time}=="1490266"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{product}=="USB Reader"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{remove}=="(not readable)"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="SN201706VER1"
ATTRS{speed}=="12"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="17"
ATTRS{version}==" 1.10"
... дальше обрезал (сообщение не влезает, там уже usb контроллер)
Исходная версия Flotsky, :
из
udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/input/event3)
Правило выше, где я TAG=""
работает и использует атрибуты родительских устройств, поэтому я пытаюсь их же использовать.
Думаю мне всё-же нужно KERNEL=="event*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0035", SYMLINK+="input/ffff_0035_USB_Reader"
т.к. этот блок я стащил и немного подправил из /usr/lib/udev/rules.d/60-persistent-input.rule
Но в виде как у меня это правило приводит к segfault при перезагрузке правил или просто не работает без segfault если сделать reboot