CDC ACM은 사용자 지정 Linux 커널에서 작동하지 않습니다.

CDC ACM은 사용자 지정 Linux 커널에서 작동하지 않습니다.

나는 사용자 정의 Linux 커널로 Arch Linux를 실행하는 cubieboard2를 가지고 있습니다. Arduino와 같은 USB 직렬 장치를 연결한 cubieboard2에서는 장치가 CDC ACM으로 인식되었습니다. 내 Linux 커널에는 여기에서 볼 수 있듯이 구성에서 CDC 옵션이 활성화되어 있습니다.페이지, 그런데 /dev/ttyACM0애플리케이션을 사용할 수 없거나 minicom직렬 포트를 사용할 수 없습니다 pyserial.

Minicom은 방금 직렬 포트를 열 수 없다고 말했습니다. Pyserial은 포트를 열 수 있지만 읽으려고 하면 결과는 다음과 같습니다.

SerialException: 장치에서 읽을 준비가 되었다고 보고했지만 데이터가 반환되지 않았습니다(장치 연결이 끊어졌거나 포트에 여러 번 액세스했습니까?)

그러나 pyserial바이트를 쓰려고 하면 결과는 다음과 같습니다.

SerialException: 쓰기 실패: [Errno 5] 입력/출력 오류.

직렬 포트를 닫으면 이름이 바뀌는 이상한 일이 발생합니다 /dev/ttyACM0. /dev/ttyACM1즉 , 닫으면 이름이 .

내 노트북에서 내 장치를 사용해 보았는데 pyserial둘 다 잘 작동합니다 minicom.

큐비보드2 정보:

$ uname -a
Linux alarm 3.4.61-rt77-ARCH+ #10 SMP PREEMPT RT Thu Apr 17 13:58:20 BRT 2014 armv7l GNU/Linux

내 커널 구성 파일:http://pastebin.com/raw.php?i=6LfsRyek

내 생각엔 활성화된 일부 커널 옵션이 누락된 것 같지만 어떤 옵션인지는 모르겠습니다.

어떤 아이디어가 있나요?

답변1

제가 보기엔 귀하의 기기에 문제가 있는 것 같습니다. OK를 열거할 수 있지만 추가 통신을 수행할 때 예기치 않은 동작이 발생할 수 있습니다. usbmon과 함께 Wireshark를 사용해 보십시오(또는 X 세션이 없으면 결국 tshark를 사용하게 됩니다). ttyACM1 이름은 일반적으로 통신 오류 후 다시 열거되어 발생합니다.

관련 정보