핫플러그/콜드플러그 중에 실제로 사용할 수 있는 udev 속성은 무엇입니까?

핫플러그/콜드플러그 중에 실제로 사용할 수 있는 udev 속성은 무엇입니까?

Udev는 디버그하기 어렵습니다. – 시스템 시작 중 원래 환경은 나중에 다시 실행하는 동안 항상 환경에서 약간씩 벗어납니다.

그래서 저는 시행착오보다는 udev에 대한 이해를 바탕으로 udev 규칙을 작성하려고 합니다.

큰 질문은 다음과 같습니다.핫플러그/콜드플러그 중에 어떤 udev 속성을 사용할 수 있나요?

혼란은 다음 두 명령에서 비롯됩니다.

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

예를 들어, 둘 다 list SUBSYSTEMudev-rules와 함께 작동하는 것으로 알고 있습니다. 그러나 전자에만 있고 DEVTYPE(적어도 WLAN 장치의 경우) 후자에만 있습니다 KERNEL.

실제로 부팅하는 동안 DEVTYPE(예: "wlan")이 필요하지만 규칙이 적용될 때는 사용할 수 없는 것 같습니다...

답변1

이것이 나의 이해이다:

  • 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

관련 정보