udev에서 장치 속성과 장치 속성의 차이점은 무엇입니까?

udev에서 장치 속성과 장치 속성의 차이점은 무엇입니까?

장치 항목 의 udev"속성"과 "속성"의 기술적 차이점은 무엇입니까 ? 일반적으로 어떻게 생성(생성?)되고 사용됩니까? 어느 것이 더 나은 진실의 원천입니까?

핫플러그된 직렬 포트 어댑터를 감지하고 사용자가 자신의 장치를 식별할 수 있도록 "관련" 장치 정보(그것이 무엇이든)를 표시하도록 되어 있는 Raspberrypi Python 응용 프로그램의 맥락에서 묻습니다. 특히, 나는pyudev도서관인터페이스를 사용하여 내 계획은 하위 시스템 장치에서 제공하는 장치를 libudev하위 시스템에서 검색하는 것입니다 . 어떤 값을, 어디에 제공하는지 알아보기 위해 제가 뒹굴고 있던 일부 테스트 장치의 속성과 속성을 살펴봤습니다. 지금까지의 공통점은 어댑터와 연결된 ->( ->) -> 장치 조상 체인 (USB 허브 아래)이 있고, 공급업체, 모델, 일련번호와 같은 값이 반복된다는 것입니다. 다양한 속성에서. 4개의 장치(때로는 3개,ttyusb-serialsubsystem: ttysubsystem: usb-serialsubsystem: usb, device_type: usb_interfacesubsystem: usb, device_type: usb_deviceACM* tty장비아니요 usb-serial). 그럼 어느 곳을 방문해야 할까요? 이러한 장치와 함께 제공되는 속성/기능에 대한 (서면된) 규칙이 있습니까? 어디서 찾을 수 있습니까?

읽었습니다(또는 적어도 보았습니다).다양한 종류 문서 페이지, 그러나 그들은 주로 자신만의 udev 규칙을 작성하는 방법을 설명하는데, 이는 제가 추구하는 것이 아닙니다. 매뉴얼에서 배웠습니다 udev([1],[2])은 ATTR장치의 sysfs 속성에 저장된 값과 ENV"장치 속성"에 사용되지만 둘 다 일치하여 쓸 수 있습니다. 상위 장치에서 하위 장치로 값을 상속하는 기본 규칙이 있다고 생각하는데, 속성과 특성 모두에서 이런 일이 발생합니까?

이 답변설명하다"ENV둘 다 동일한 정보를 포함하는 경우 ATTR차이 없이 둘 중 하나를 사용할 수 있습니다.”, 그것은 나를 더 현명하게 만들지 않습니다.

답변1

속성은 udev 규칙에 의해 설정되며 다른 규칙에 의해 수정될 수 있습니다.

udev는 sysfs 노드에서 속성을 읽습니다. udev 규칙의 속성에 값을 할당하면 해당 값이 sysfs 노드에 기록되고 장치 동작에 영향을 줍니다.

속성을 단순한 변수로 생각할 수 있습니다. 그러나 속성에는 getter와 setter가 있으므로 as와 같은 속성을 읽고 $(cat /sys/devpath/name)속성에 값을 할당하는 것을 고려할 수 있습니다.echo value > /sys/devpath/name

관련 정보