do{학습}while

USB 가젯 디스크립터 초기화 오류 해결 본문

TROUBLE SHOOTING

USB 가젯 디스크립터 초기화 오류 해결

하이오야이 2025. 8. 1. 10:14

문제 상황

  • USB 가젯 초기화 중 디스크립터 write error 발생
  • /dev/ffs/.../UDC에 UDC 정보를 기록하는 단계에서 실패

원인 분석

  • UDC 파일에 UDC 이름이 아닌 전체 명령어 출력 결과를 redirect
  • 다음과 같은 명령어 차이로 오류 발생:
UDC = "/sys/kernel/config/usb_gadget/mygadget/UDC"
ls -1 /sys/class/udc > $UDC             # ❌ (파일 내용이 \\n 포함됨 → write error 발생)
echo "$(ls -1 /sys/class/udc)" > $UDC   # ✅ (정상: 순수 문자열로 입력됨)

해결 방법

  • UDC에는 반드시 UDC 이름을 문자열 형태로 echo해야 함
  • echo를 사용해 문자열로 넣는 방식으로 수정하여 정상 동작 확인