Какие udev-атрибуты действительно доступны во время горячего / холодного подключения?

Удеву трудно отлаживать. – Виргинская среда во время загрузки системы всегда отклоняется, по крайней мере, от среды во время последующего повторного запуска.

Таким образом, я пытаюсь написать udev-правила с пониманием udev вместо проб и ошибок.

Одна большая проблема: какие атрибуты udev доступны во время горячего / холодного подключения?

Путаница исходит из этих двух команд:

udevadm test /sys/class/net/wlx801f024ddc32 udevadm info --attribute-walk --path=/sys/class/net/wlx801f024ddc32 

Оба, например, перечисляют SUBSYSTEM , который, как я знаю, доступен для udev-правил. Но только у первого есть DEVTYPE (по крайней мере для устройств DEVTYPE ), а только у последнего есть KERNEL .

Я действительно нуждаюсь в DEVTYPE (будучи «wlan») во время загрузки, но кажется, что он недоступен, когда правила пинают …

  • Переходы между соединениями wi-fi
  • Как я могу заставить wlan0 автоматически отображаться, когда я подключаю USB-адаптер WiFi?
  • Как создать точку доступа WLAN на ноутбуке в XFCE4?
  • Не удается настроить wlan0 со статическим ip?
  • Трудности с подключением к WLAN с помощью wpa_supplicant на системном аварийном диске
  • Wifi и Arch linux
  • Как сканировать WLAN RSSI в командной строке?
  • ERROR Conterface Интерфейс вверх или недостаточно разрешений: Слишком много открытых файлов в системе
  • One Solution collect form web for “Какие udev-атрибуты действительно доступны во время горячего / холодного подключения?”

    Вот мое понимание:

    • udevadm info -a : показывает атрибуты ATTRS{} и иерархию устройств.
    • udevadm test : показывает переменные ENV{} во время обработки udev.

    Они не показывают один и тот же тип информации. Ваша переменная DEVTYPE может существовать и должна быть проверена как ENV{DEVTYPE}=="wlan" . Однако следует учитывать, что переменные ENV {} создаются постепенно во время обработки udev. Поэтому порядок вашего правила имеет значение, и он должен появиться после того, как ENV{DEVTYPE} был создан другим правилом.

    Вы можете проанализировать файл 'udev_actions.txt' из приведенной ниже команды, чтобы определить, как упорядочиваются вещи. Затем вы можете выбрать лучший номер для вашего файла .rules, чтобы проверить ENV{DEVTYPE} .

     $ sudo udevadm test $DEVPATH 1> udev_ENV.txt 2> udev_actions.txt 
    Linux и Unix - лучшая ОС в мире.