일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 메타
- 가상환경
- TRANSFORMER
- 인공지능
- ChatGPT
- 멀티모달
- 티스토리챌린지
- 뉴럴링크
- AI
- 딥러닝
- tts
- 우분투
- 오블완
- 일론 머스크
- 확산 모델
- ControlNet
- 생성형 AI
- PYTHON
- 트랜스포머
- LORA
- AI 기술
- ubuntu
- 휴머노이드 로봇
- OpenAI
- 시간적 일관성
- 딥마인드
- 아두이노
- 서보모터
- LLM
- 오픈AI
- Today
- Total
AI 탐구노트
우분투-아두이노 USB 연결 관련 이슈 해결 본문
불편함
최근에 우분투를 사용하면서, 몇 가지 테스트를 위해 USB를 이용해 외부 장치를 연결해야 했습니다.
아두이노나 스마트폰을 USB로 우분투 PC에 연결해서 각각의 장치를 컨트롤 하는 것을 테스트하고 있었기 때문이죠.
그런데... 아두이노나 안드로이드 스마트폰을 연결할 경우, 끊어졌다 다시 연결을 재시도하는 현상이 자주 발생하는 겁니다.
이 현상에 대해서는 dmesg 로그 상에서 확인할 수 있었습니다.
예를 들어 아래 명령으로 연결 후 끊어지고 다시 연결을 시도하는 시점의 로그를 확인할 수 있습니다.
# 스마트폰 쪽은 usb, 아두이노 연결은 tty
$ sudo dmesg -w | grep usb
또는
$ sudo dmesg -w | grep tty
결과는 tty, usb의 경우 내용이 약간 다르지만... usb의 경우에는 다음과 같이 표시됩니다.
[ 6584.785701] usb 1-6.3: new high-speed USB device number 59 using xhci_hcd
[ 6595.025123] usb 1-6.3: new high-speed USB device number 60 using xhci_hcd
[ 6595.115111] usb 1-6.3: New USB device found, idVendor=04e8, idProduct=6860, bcdDevice= 4.00
[ 6595.115127] usb 1-6.3: New USB device strings: Mfr=7, Product=8, SerialNumber=9
[ 6627.364433] usb 1-6.3: USB disconnect, device number 60
[ 6627.365577] usb 1-6.4: USB disconnect, device number 58
[ 6627.484724] usb 1-6: reset high-speed USB device number 3 using xhci_hcd
[ 6627.898487] usb 1-6.3: new high-speed USB device number 61 using xhci_hcd
[ 6627.978777] usb 1-6.3: New USB device found, idVendor=04e8, idProduct=6860, bcdDevice= 4.00
[ 6627.978793] usb 1-6.3: New USB device strings: Mfr=7, Product=8, SerialNumber=9
[ 6628.047474] usb 1-6.4: new full-speed USB device number 62 using xhci_hcd
[ 6628.297704] usb 1-6.4: New USB device found, idVendor=0bda, idProduct=8771, bcdDevice= 2.00
[ 6628.297856] usb 1-6.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
테스트 도중에 연결이 끊기면 다시 adb 프로세스를 죽였다가 다시 살리는 과정을 계속해야 했죠.
여간 번거로운 일이 아닙니다.
제 예전 경험으론, 다른 우분투 장비에서는 이런 일이 없었는데... 뭐가 달라진 건지 모르겠더군요.
문제원인 분석
인터넷을 찾아보니 이런 경우 케이블 불량, 장비 불량, 전원 불량, 드라이버 호환성 이슈 등 다양한 원인이 가능했습니다.
제 경우, 다음과 같은 이유로 몇 가지 원인은 배제할 수 있었습니다.
- 케이블 불량 : 아두이노, 스마트폰 연결에는 서로 다른 케이블을 사용됐고 다른 케이블로도 마찬가지 결과였습니다.
- 장비 불량 : 아두이노 IDE에서는 정상 작동합니다. 즉, PC와의 연결 부분 외에 자체 보드에서는 이상이 없었습니다.
- 드라이버 호환성 : CH340 지원하는 우분투 자체 드라이버 외에 최신 소스로 빌드한 것도 결과가 마찬가지였습니다.
- 전원 불량 : USB 포트를 2.0, 3.0, 허브 대신 직접 연결 등 다양하게 해 봤지만 동일했습니다.
결국 우분투 내의 USB 포트에 대한 전원 관리하는 부분으로 관심을 돌렸습니다.
우분투에서도 윈도우처럼 USB 장치에 대해 절전모드가 설정될 수 있고 이게 오류를 발생시키는게 아닌가 하는 생각이 든거죠.
해결책
그래서, USB 절전기능 비활성화와 자동 깨어나기를 설정하기로 했습니다.
참고로 usb1/1-6/1-6.3은 dmesg 로그 상에 나온 장치 구분 번호입니다.
1.USB 절전 모드 비활성화 : 장치가 자동으로 절전모드로 들어가지 않도록 설정합니다.
$ echo "on" | sudo tee /sys/bus/usb/devices/usb1/1-6/1-6.3/power/control
$ echo "-1" | sudo tee /sys/bus/usb/devices/usb1/1-6/1-6.3/power/autosuspend_delay_ms
2.Wakeup 기능 활성화 : 장치가 절전모드에 들어갔을 때 자동으로 깨어나도록 설정합니다.
$ echo "enabled" | sudo tee /sys/bus/usb/devices/usb1/1-6/1-6.3/power/wakeup
일단 이렇게 해 두고 재부팅을 해 봤습니다.
휴... 다행히 문제가 없어진 것 같기도 한데... 짧은 시간 테스트를 진행한 것이라 아직은 더 두고 봐야할 것 같습니다. ^^
'기술 팁' 카테고리의 다른 글
우분투 : 데스크탑에 바로 가기 만들기 (0) | 2024.10.02 |
---|---|
WPS Office : MS Office 대안 제품 (2) | 2024.10.01 |
우분투 : USB 장치 명 지정해서 쓰기 (1) | 2024.09.29 |
우분투 : AppImage 데스크톱 바로가기 만들기 (2) | 2024.09.29 |
Mac 한글 파일명 깨짐 해결 방법 (1) | 2024.09.28 |