Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録
< ■ |anond:20250703194504 >

2025-07-04

WSL2USBカメラ+他のUSB機器2022年09月06日版

WSL2USBカメラ+他のUSB機器2022年09月06日版

OSWindows11 21H2

OSビルド:22000.918

WSL2 5.10.102.1 +Ubuntu20.04

WSL2LinuxKernel 5.10.60.1からKernelモジュールUSBIP対応標準的に組み込まれたらしいが、Microsoft公式提供しているKernelや手順ををそのまま使用すると動作しない


2022年09月06日時点の最新カーネルは 5.15.62.1 だが、wsl --update で展開されるバージョンが 5.10.102.1 だったため 5.10.102.1 を使用する

以下すべての手順のWindows Terminal を使用する箇所は管理者権限 で実行

以下、[WT] はWindows Terminal、[Ubuntu] はUbuntu側のbashを表す

WSLのカーネルアップデートusbipd-winインストール

[WT]Windows Terminalで実行

&gt; wsl --update

&gt; wsl --status

カーネルバージョン: 5.10.102.1

&gt;winget install --interactive --exact dorssel.usbipd-win

見つかりましたusbipd-win [dorssel.usbipd-win]バージョン 2.3.0

このアプリケーションは所有者からライセンス供与されます

Microsoftサードパーティパッケージに対して責任を負わずライセンス付与しません。

Downloadinghttps://github.com/dorssel/usbipd-win/releases/download/v2.3.0/usbipd-win_2.3.0.msi

██████████████████████████████10.4MB /10.4MB

インストーラハッシュが正常に検証されました

パッケージインストールを開始しています...

インストール完了しました

[WT]Ubuntu20.04 のインストール

&gt; wsl --install --distributionUbuntu-20.04

[WT] WSLのディストリビューションを起動(WSL2起動用アイコンマウスクリックして起動してもよい)

&gt; wsl --list

LinuxWindows サブシステムディストリビューション:

Ubuntu-20.04 (既定)

&gt; wsl -dUbuntu-20.04

[Ubuntu] 追加パッケージインストール

sudoapt update

sudoapt install -ylinux-tools-5.4.0-77-generic hwdata

sudo update-alternatives --install /usr/local/bin/usbipusbip /usr/lib/linux-tools/5.4.0-77-generic/usbip20

[WT] WSLの再起動

&gt; wsl --shutdown

&gt; wsl -dUbuntu-20.04

PCUSBカメラ接続する

[WT]USBカメラusbipd に認識されることを確認する (この記事では 2-7)

&gt;usbipd wsl list

BUSID VID:PID DEVICESTATE

2-2 056e:00d9USB入力デバイス Not attached

2-3 1c4f:0027USB入力デバイス Not attached

2-7 1bcf:2284 FullHDwebcam,USBmicrophone Not attached

2-11 0495:3011ESSUSBDAC,USB入力デバイス Not attached

2-14 8087:0029インテル(R)ワイヤレスBluetooth(R) Not attached

[WT]USBカメラUbuntu側にアタッチする(アタッチ成功した場合は何も表示されない)

&gt;usbipd wsl attach --busid 2-7

&gt;

[WT]USBカメラが正常にアタッチされていることを確認する(Attached と表示されていれば成功

&gt;usbipd wsl list

BUSID VID:PID DEVICESTATE

2-2 056e:00d9USB入力デバイス Not attached

2-3 1c4f:0027USB入力デバイス Not attached

2-7 1bcf:2284 FullHDwebcam,USBmicrophone Attached -Ubuntu-20.04

2-11 0495:3011ESSUSBDAC,USB入力デバイス Not attached

2-14 8087:0029インテル(R)ワイヤレスBluetooth(R) Not attached

[Ubuntu]Ubuntubashログオンした既定のユーザを videoグループ所属させる。なお、WSLを起動した時点で既に追加されているメッセージが表示される。

$sudo adduser $USER video

[Ubuntu] WSL2上のUbuntu20.04 の中からUSBカメラ認識されていることを確認する。lsusbコマンドを経由すると正常にUSBカメラ認識されているが、/dev/video* にはUSBカメラが列挙されない

$lsusb

Bus 002 Device 001:ID 1d6b:0003Linux Foundation 3.0roothub

Bus 001 Device 003:ID 1bcf:2284Sunplus Innovation Technology Inc. FullHDwebcam

Bus 001 Device 001:ID 1d6b:0002Linux Foundation2.0roothub

$ls -l /dev/video*

ls: cannotaccess '/dev/video*': No such file or directory

[Ubuntu]USB CameraがWSL内で認識されるようにLinuxカーネルカスタムビルドする。下記リポジトリの手順通りに実施すると、WSLLinuxカーネルカスタムビルドされたものに入れ替わる。注意点は、&lt;windowsusername&gt; の部分だけは各自環境Windowsユーザー名に手で書き換える必要が有ること。なお、.wslconfig は絶対windows 側で編集してはならない。絶対に。

[WT] WSLをシャットダウンし、その後起動する

&gt; wsl --shutdown

&gt; wsl -dUbuntu-20.04

[WT]USBカメラusbipd に認識されることを確認する (この記事では 2-7)

&gt;usbipd wsl list

BUSID VID:PID DEVICESTATE

2-2 056e:00d9USB入力デバイス Not attached

2-3 1c4f:0027USB入力デバイス Not attached

2-7 1bcf:2284 FullHDwebcam,USBmicrophone Not attached

2-11 0495:3011ESSUSBDAC,USB入力デバイス Not attached

2-14 8087:0029インテル(R)ワイヤレスBluetooth(R) Not attached

[WT]USBカメラUbuntu側にアタッチする(アタッチ成功した場合は何も表示されない)

&gt;usbipd wsl attach --busid 2-7

&gt;

https://www.imdb.com/de/list/ls599665017/

https://www.imdb.com/de/list/ls599665017/copy/

[WT]USBカメラが正常にアタッチされていることを確認する(Attached と表示されていれば成功

&gt;usbipd wsl list

BUSID VID:PID DEVICESTATE

2-2 056e:00d9USB入力デバイス Not attached

2-3 1c4f:0027USB入力デバイス Not attached

2-7 1bcf:2284 FullHDwebcam,USBmicrophone Attached -Ubuntu-20.04

2-11 0495:3011ESSUSBDAC,USB入力デバイス Not attached

2-14 8087:0029インテル(R)ワイヤレスBluetooth(R) Not attached

[Ubuntu] WSL2上のUbuntu20.04 の中からUSBカメラ認識されていることを確認する

$lsusb

Bus 002 Device 001:ID 1d6b:0003Linux Foundation 3.0roothub

Bus 001 Device 003:ID 1bcf:2284Sunplus Innovation Technology Inc. FullHDwebcam

Bus 001 Device 001:ID 1d6b:0002Linux Foundation2.0roothub

$ls -l /dev/video*

crw------- 1rootroot 81, 0 Sep 617:29 /dev/video0

crw------- 1rootroot 81, 1 Sep 617:29 /dev/video1

[Ubuntu]USBカメラがWSL2の中から認識されることを確認するテストコード作成する

$ pip installopencv-contrib-python

$ cat &lt;&lt; 'EOT'&gt; ${HOME}/usbcam_test.py

import cv2

W=640

H=480

cap = cv2.VideoCapture(0)

cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M','J','P','G'))

#cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('Y','U','Y','V'))

cap.set(cv2.CAP_PROP_FRAME_WIDTH, W)

cap.set(cv2.CAP_PROP_FRAME_HEIGHT, H)

cap.set(cv2.CAP_PROP_FPS, 30)

https://www.imdb.com/de/list/ls599660855/

https://www.imdb.com/de/list/ls599660855/copy/

whileTrue:

ret, frame

Permalink |記事への反応(0) | 17:29

このエントリーをはてなブックマークに追加ツイートシェア

記事への反応 -

記事への反応(ブックマークコメント)

全てのコメントを見る

人気エントリ

注目エントリ

ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp