udev 및 커널은 USB 장치의 이벤트를 표시하지 않습니다.

udev 및 커널은 USB 장치의 이벤트를 표시하지 않습니다.

저는 zedboard와 같은 플랫폼에서 임베디드 Linux를 실행하고 있습니다. 연결될 일부 다른 장치에 대한 udev 규칙을 생성해야 합니다.

커널에 widgetfs와 configfs를 설치하고 모듈로 구축했습니다. 모듈을 로드하면 USB를 통해 노트북이나 기타 장치에 이더넷과 같은 적절한 USB 장치를 사용할 수 있습니다.

핫플러깅을 지원하고 udev 규칙을 사용해야 할 때 문제가 시작됩니다. 그래서 udevadm Monitor를 실행했지만 USB 장치를 연결해도 커널이나 udev 트리거가 표시되지 않습니다. 모듈을 로드하면 모듈이 로드되는 동안 USB 장치에 대한 커널/udev 트리거를 볼 수 있습니다.

이것이 정상적인 행동입니까? 커널은 USB를 지원하는 모듈이 있는지 여부에 관계없이 USB가 연결되어 있음을 트리거를 통해 보고해야 한다고 생각합니다. 일반 USB 드라이버도 커널에 내장되어 있지만 전혀 작동하지 않는 것 같아서 Gadgetfs 및 configfs로 전환했습니다.

내 udev가 가젯 모듈을 로드하지 않고 트리거 이벤트를 표시하지 않는 이유를 아는 사람이 있습니까? USB가 연결되어 있을 때 트리거 이벤트가 표시되지 않으면 자동으로 핫플러그할 수 없습니다.

내 USB 컨트롤러는 Chipidea이고 OTG 모드에서 사용합니다.

관련 정보