/sys/bus/usb/는 모든 Linux 배포판에서 동일한 구조를 갖습니다.

/sys/bus/usb/는 모든 Linux 배포판에서 동일한 구조를 갖습니다.

Windows에서 Linux로 Mono 애플리케이션을 이식하고 있습니다. 애플리케이션은 외부 보드와 통신합니다. 보드는 3개의 가상 직렬 포트로 나타납니다. 모두가 다른 역할을 합니다.

애플리케이션은 이러한 포트를 자동으로 감지합니다. ie에서 구조와 정보를 전달할 수 있나요 /sys/bus/usb/? 다른 Linux 배포판에서도 동일합니까?

답변1

예, 배포판 전반에 걸쳐 동일한 구조를 사용할 수 있습니다 /sys/bus/usb/. 왜냐하면 커널에만 의존하고 충분히 성숙하여 향후 커널 버전에서 변경될 가능성이 낮기 때문입니다(하지만 누가 알겠습니까...).

그러나 이것은 문제를 해결하는 잘못된 방법입니다. 올바른 접근 방식은 udev애플리케이션에 사용자 정의 규칙을 포함하고 udev설치 중에 이 규칙이 올바른 위치에 복사되었는지 확인하는 것입니다(일반적 /etc/udev/rules.d으로 배포에 따라 다를 수 있습니다. 의심스러운 경우 사용자가 구성하도록 합니다). 그런 다음 규칙은 udev보드를 고유하게 식별하는 모든 정보(예: 공급업체/장치 ID)를 사용하여 /dev/disks3개의 직렬 장치에 심볼릭 링크( 에 표시된 것과 유사)를 할당 할 수 있습니다. 애플리케이션은 심볼릭 링크를 사용해야 합니다.

핀치에서는 Ryle용으로 계획된 USB 트리 구조를 사용할 수도 있습니다. udevadm info --attribute-walk ...장치의 속성 목록은 리소스를 참조하세요 .

관련 정보