HIDRAW 장치를 정적 이름으로 바인딩하는 방법은 무엇입니까?

HIDRAW 장치를 정적 이름으로 바인딩하는 방법은 무엇입니까?

누군가 이런 질문을 했어요.여러번범용 USB 장치 정보. 그러나 udev 방법은 HIDRAW 장치에서는 작동하지 않는 것 같습니다.

나는 다음과 같은 것을 쓰려고 노력합니다 /etc/udev/rules.d/10-local.rules:

 ACTION=="add", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="16d6", ATTRS{product}=="JA-100 Flexi", SYMLINK+="my_device"

그러나 이는 HIDRAW 장치가 아닌 상위 USB 장치를 매핑합니다. 그렇다면 hidraw0에서 hidraw1로 다시 연결한 후 hidraw 이름이 변경되는 경우 hidraw 이름을 어떻게 보존합니까?

답변1

먼저 hidraw 장치를 찾아야 합니다.

dmesg | grep "hidraw"

그런 다음 해당 속성을 가져와야 합니다.

udevadm info --name=/dev/hidraw* --attribute-walk

여기서 *는 장치 번호입니다(예: hidraw5). 여기서부터 찾아야 합니다 ATTRS{id}.

그런 다음규칙RPi의 파일에는 다음 내용이 포함되어 있습니다.

sudo nano /etc/udev/rules.d/10-usb-serial.rules

다음 내용으로 파일을 수정합니다.

SUBSYSTEM=="hidraw", ATTRS{id}=="00241011", SYMLINK+="hidraw_static"

ATTRS{id}이전 장치의 ID이고 SYMLINK선택한 이름입니다.

이 파일을 저장한 후 다음 명령을 실행하십시오.

sudo udevadm control --reload
sudo udevadm trigger

새 이름이 올바른지 확인하세요.가리키다올바른 hidraw에*

ls -l /dev/hidraw_static

다음과 같아야합니다

lrwxrwxrwx 1 root root 7 Dec 14 10:41 /dev/hidraw_static -> hidraw6

이는 RPi 3b+에 연결된 Bluetooth 연결 바코드 스캐너에서 작동합니다.

관련 정보