---- WSL2 에 USB port 인식 시키기 ----
기본적으로 USB port가 Windows에서만 인식이 되는데, WSL 환경에서 USB port를 인식시켜주기 위해 아래와 같은 작업이 필요하다.
1. 오픈소스 프로젝트 usbipd-win 설치
- Windows 11 실행(빌드 22000 이상) (Windows 10 지원 가능)
- x64 프로세서가 있는 컴퓨터가 필요합니다. (x86 및 Arm64는 현재 usbipd-win에서 지원되지 않습니다).
- WSL이 설치되고 최신 버전으로 설정됩니다.
- Linux 배포판이 설치되고 WSL 2로 설정됩니다.
설치 페이지: https://github.com/dorssel/usbipd-win/releases
usbipd-win_VERSION.msi 파일 다운로드 및 설치
2. PowerShell 관리자 모드 실행
1) Windows에 연결된 모든 usb 디바이스 확인
usbipd list


ESP32를 USB에 연결하기 전과 후에 'usbipd list' 명령어로 확인하면 BUSID 2-1이 새로생겼음을 확인할 수 있다.
2) 해당 포트(2-1)를 wsl로 bind 시키기
usbipd bind --busid 2-1
위 명령어 실행 후 usbipd list를 통해 다시 확인해보면 다음과 같이 STATE가 Shared로 바뀐것을 확인 가능

3) wsl에 해당 포트의 USB를 사용할 수 있도록 변경
아래 명령어를 통해 해당 포트 USB를 WSL2에서 사용할 수 있도록 변경합니다.
usbipd attach --wsl --busid 2-1

wsl shell 에서 다음과 같이 usb 포트가 연결된 것을 확인할 수 있다.


esp32를 usb 포트를 통해 업로드를 하기 위해서는 포트 번호를 알아야 한다.
리눅스에서 usb 포트는 다음과 같은 양식으로 되어 있다.
/dev/ttyUSB0
/dev/ttyUSB1
...
ls /dev/tty*
위 명령어를 통해 다음과 같이 attach 이후에 새로 추가된 포트를 확인할 수 있다.

* 해당 USB 포트를 wsl에서 해제 시키려면 다음과 같이 하면 된다.
1) usbipd detach --busid 2-1
bind는 아직 shared 상태로 되어 있다
windows에서 usb포트 사용 가능한 상태
2) usbipd unbind -b 2-1
위 명령어를 통해 완전히 bind 해제 가능 (초기 상태)
'MCU' 카테고리의 다른 글
| falling-edge, rising-edge (1) | 2024.04.18 |
|---|---|
| Bluetooth: HID # Boot mode # Report mode (0) | 2024.04.15 |