블루투스를 통해 Bose 헤드폰을 연결할 때 트리거되는 udev 규칙을 작성하고 싶습니다.
udevadm monitor --kernel --property
헤드폰을 실행 하고 연결하면 다음이 표시됩니다.
KERNEL[2226.084251] add /devices/virtual/input/input22 (input)
ACTION=add
DEVPATH=/devices/virtual/input/input22
SUBSYSTEM=input
PRODUCT=5/9e/4020/452
NAME="Słuchawencje (AVRCP)"
PHYS="00:0d:f0:bf:f7:df"
PROP=0
EV=100007
KEY=2fc800 145200000000 0 10300 49e800000c00 e16800000000f f810000010000ffc
REL=0
MODALIAS=input:b0005v009Ep4020e0452-e0,1,2,14,k71,72,73,8A,8B,A3,A5,A6,A7,A8,AB,AE,C8,C9,D0,161,164,166,16A,16C,18B,18E,18F,190,191,192,193,195,ramlsfw
SEQNUM=3814
하지만 udevadm info --attribute-walk --path=/devices/virtual/input/input22
NAME을 실행 하면 PRODUCT가 없습니다.
looking at device '/devices/virtual/input/input22':
KERNEL=="input22"
SUBSYSTEM=="input"
DRIVER==""
ATTR{uniq}==""
ATTR{phys}=="00:0d:f0:bf:f7:df"
ATTR{properties}=="0"
왜? udev 규칙에서 NAME / PRODUCT를 사용할 수없는 이유는 무엇입니까?
내 무선 스피커와 같은 다른 블루투스 장치의 경우 udev가 약간 더 잘 작동합니다. 이것은 udevadm monitor --kernel --property
내 무선 스피커 의 출력입니다 .
KERNEL[2635.676303] add /devices/virtual/input/input23 (input)
ACTION=add
DEVPATH=/devices/virtual/input/input23
SUBSYSTEM=input
PRODUCT=5/0/0/0
NAME="JBL GO 2 (AVRCP)"
PHYS="00:0d:f0:bf:f7:df"
PROP=0
EV=100007
KEY=2fc800 145200000000 0 10300 49e800000c00 e16800000000f f810000010000ffc
REL=0
MODALIAS=input:b0005v0000p0000e0000-e0,1,2,14,k71,72,73,8A,8B,A3,A5,A6,A7,A8,AB,AE,C8,C9,D0,161,164,166,16A,16C,18B,18E,18F,190,191,192,193,195,ramlsfw
SEQNUM=3834
그리고 udevadm info --attribute-walk --path=/devices/virtual/input/input23
인쇄 :
looking at device '/devices/virtual/input/input23':
KERNEL=="input23"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="JBL GO 2 (AVRCP)"
ATTR{properties}=="0"
ATTR{uniq}==""
ATTR{phys}=="00:0d:f0:bf:f7:df"
PRODUCT는 아직 없지만 최소한 NAME은 있습니다.
규칙에서 장치 속성을 일치 시키려면 다음과 같이 사용해야합니다.
ENV{PRODUCT}
기본 속성이 너무 많습니다 . 나머지는 장치별로 다르며 ENV {PROPERTY}는이를 참조하는 방법입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다