WSL2 USB 연결 (with USB Camera)

swooeun·2023년 3월 2일
1

Linux Kernel Update

Microsoft 에서 WSL2 의 USB Device 연결 필수 구성 요소를 보면 Linux Kernel Version 5.10.60.1 이상을 요구하고 있다.

WSL 에서 Linux 커널 버전 확인

uname -a

버전이 5.10.60.1 이상이라도 menuconfig 세팅을 커스텀해야하므로 다시 다운로드 해야 한다.

종속성 설치

sudo apt update && sudo apt upgrade -y && sudo apt install -y build-essential flex bison libgtk2.0-dev libelf-dev libncurses-dev autoconf libudev-dev libtool zip unzip v4l-utils libssl-dev python3-pip cmake git iputils-ping net-tools dwarves

Sources dir 생성 & 커널 다운로드

mkdir -p /mnt/c/Sources
cd /usr/src
VERSION=5.15.57.1
sudo git clone -b linux-msft-wsl-${VERSION} https://github.com/microsoft/WSL2-Linux-Kernel.git ${VERSION}-microsoft-standard && cd ${VERSION}-microsoft-standard
sudo cp /proc/config.gz config.gz
sudo gunzip config.gz
sudo mv config .config

menuconfig 실행 (/usr/src/5.15.57.1-microsoft-standard 위치에서)

sudo make menuconfig

아래와 같이 설정 후 저장 (space 2번 누르면 * == built-in)

Device Drivers --->

<*> Multimedia support

	[*] Filter media drivers

	[*] Autoselect ancillary drivers

	Media device types --->

		[*] Cameras and video grabbers

	Video4Linux options --->

		[*] V4L2 sub-device userspace API

	Media drviers

		[*]  Media USB Adapters --->

			<*> USB Video Class (UVC)

			[*] UVC input events device support

			<*> GSPCA based webcams ----
            

sudo make -j$(nproc)

sudo make modules_install -j$(nproc)
sudo make install -j$(nproc)

sudo cp -rf vmlinux /mnt/c/Sources/
exit

# windows powershell 에서
wsl --shutdown

C:\Users\your_username 으로 이동해서 .wslconfig 파일을 만들어준다

[wsl2]
kernel=C:\\Sources\\vmlinux

usbipd 설치

윈도우 PC에 설치
dorssel/usbipd-win

WSL 에 usbipd 설치

sudo apt install linux-tools-virtual hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20

마운트
powershell 에서 ‘관리자 모드’로 실행 해야 함!!

usbipd wsl list
usbipd wsl attach --busid <busid> (ex: 3-1)

//연결 해제시
usbipd wsl detach --busid <busid> (ex: 3-1)

WSL 에서 확인

ls -l /dev/ttyUSB*
or
ls -l /dev/video*

profile
Don’t be afraid, keep going

6개의 댓글

comment-user-thumbnail
2023년 5월 5일

안녕하세요. 좋은 글 감사합니다! 마지막 WSL에서 확인까지 진행하였고 마지막 사진과 같이 정보가 떴습니다만, sudo guvcview 통해 카메라를 작동하였을때 guvcview가 카메라를 인식하지 못하네요ㅠㅠ 혹시 이에 대해 아시는 점 있으신가요?? 카메라는 logite c920이고 ubuntu 18.04환경입니다..

1개의 답글
comment-user-thumbnail
2023년 7월 12일

안녕하세요, 이해하기 쉽게 잘 정리된 글 감사합니다!
저는 마이크로소프트 스토어에서 설치한 ubuntu 20.04 LTS를 쓰는 중입니다.
글 내용 쭉 따라했을 때, 다른 부분들은 문제가 없는데 dev/video* 파일이 생성되질 않네요..
혹시 왜 그런지 알 수 있을까요?

1개의 답글
comment-user-thumbnail
2023년 11월 7일

안녕하세요 글 정말 감사합니다!
우분투 18.04(WSL2)를 사용 중인데 저도 윗분과 똑같이 dev/video*가 생성이 되지 않습니다...
혹시 왜 그런지 알 수 있을까요?

1개의 답글