USB 장치 이름 변경을 위한 Udev 규칙이 작동하지 않는 것 같습니다.

USB 장치 이름 변경을 위한 Udev 규칙이 작동하지 않는 것 같습니다.

aarch64에서 Ubuntu 20.04를 실행하는 Raspberry Pi 4에 특정 이름으로 노출하려는 USB ZWave 장치가 있어서 udev이를 수행하기 위한 간단한 규칙을 작성했지만 작동하지 않는 것 같습니다.

공급자: 제품 ID 예0658:0200

내 규칙은

ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", NAME="ttyZWAVE0"

그러나 장치는 계속해서 ttyACM0.

동일한 일치 기준으로 다음 규칙을 사용하여 심볼릭 링크를 생성하면 심볼릭 링크가 올바르게 나타납니다.

ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyZWAVE0"

udevadm --name=/dev/ttyACM0 --attribute-walk규칙을 만들기 전의 결과 는 다음과 같습니다 .

  looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1':
    KERNELS=="1-1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{bcdDevice}=="0000"
    ATTRS{version}==" 2.00"
    ATTRS{rx_lanes}=="1"
    ATTRS{devpath}=="1.1"
    ATTRS{removable}=="unknown"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{idVendor}=="0658"
    ATTRS{bmAttributes}=="80"
    ATTRS{ltm_capable}=="no"
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{idProduct}=="0200"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{busnum}=="1"
    ATTRS{urbnum}=="12"
    ATTRS{configuration}==""
    ATTRS{speed}=="12"
    ATTRS{tx_lanes}=="1"
    ATTRS{maxchild}=="0"
    ATTRS{devspec}=="(null)"
    ATTRS{devnum}=="3"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{quirks}=="0x0"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceClass}=="02"

시스템 재시작이나 전체 시스템 재시작에 관계없이 직접 이름을 바꾸는 규칙은 작동하지 않지만 udev trigger심볼릭 링크를 추가하는 규칙은 작동하지 않는 이유는 무엇입니까?하다일하다? 제가 뭔가 간단한 것을 놓치고 있는 걸까요?

나는 Journalctl에서 유용한 것을 보지 못했습니다 (실제로는 언급조차 되지 않았고, 오류도 없고, 아무것도 없습니다).

다음을 추가하도록 편집되었습니다.

이것은 또한 amd64에서 Ubuntu 20.04를 실행하는 내 랩톱에서도 동일한 방식으로 실패하는 것으로 보이며 정확히 동일한 결과가 나타납니다(분명히 다른 상위 장치 경로 사용).

udevadm test /sys/path/to/device왜 내 기대에 부응하지 못했는지에 대한 명확한 답은 없었습니다. 내 규칙을 읽고 있으며 오류가 없는 것으로 표시됩니다...

답변1

udev 문서에 따르면 이것은 단순히 허용되지 않습니다. 이 질문을 게시한 이후 내가 찾은 다른 여러 질문에서 볼 수 있듯이 맨 페이지에 언급되어 있습니다. 규칙이 실행되고 오류가 발생하여 udevadm test올바른 방향을 가리키는 방식으로 규칙의 이름을 지정하기 전까지는 이 경고를 찾지 못했습니다.

공식 웹사이트와 udev.7에 문서화되어 있습니다.

https://www.freedesktop.org/software/systemd/man/udev.html

관련 정보