Bone-debian9.9를 실행하는 Pocketbeagle을 구성하려고 합니다. 커널 버전은 4.14.108-ti-r113입니다. 보드에는 rndis, acm, ecm 및 Mass_storage 기능을 갖춘 마이크로 USB 포트가 있습니다. USB 인터페이스(usb0)를 사용하면 ssh와 COM 포트를 통해 두 가지 방법으로 셸을 얻을 수 있습니다.
usb0의 COM 포트가 셸이 아니기를 바랍니다. 장치를 연결하고 COM 포트를 열고 바이트 스트림을 수신할 수 있기를 원합니다. USB-직렬 변환기에 연결하고 COM 포트를 열어 UART 주변 장치를 통해 임의의 바이트를 보내고 받을 수 있습니다. USB COM 포트에서도 이 정보를 얻을 수 있습니까? 어떻게 해야 하나요?
지금까지 내가 시도/고려한 것:
1) serial-getty@service가 문제인 줄 알고 로그인 터미널을 없애려고 했습니다. 서비스를 차단한 후 COM 포트를 열 수 없습니다.
2) 다른 드라이버를 작성해야 할지 잘 모르겠습니다. acm 드라이버이면 충분하다고 생각합니다.
3) NAutoVT=0 및 ReserveVT=1도 도움이 되지 않도록 /etc/systemd/logind.conf를 수정합니다.
관련성이 있을 수 있는 또 다른 사항: 쉘이기도 한 uart0이 필요합니다. 마스킹으로 껍질을 제거했어요[이메일 보호됨]그리고[이메일 보호됨]. 내 응용 프로그램은 termios.h를 사용하여 /dev/ttyO0에 터미널을 구성한 다음 작동했습니다. serial-getty@service를 차단하는 것이 올바른 것인지 궁금합니다. USB 장치가 연결될 때 터미널을 구성하려면 일종의 콜백을 등록해야 합니다. 이 경우 여기에 설명된 방법을 사용할 수 있습니다.https://serverfault.com/questions/766506/automount-usb-drives-with-systemd
미리 감사드립니다
답변1
systemctl 마스크로 밝혀졌습니다[이메일 보호됨]맞다. 직렬 포트를 사용하려면 open()을 사용하여 /dev/ttyGS0을 열고 termios를 사용하여 구성해야 합니다.