3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Raspi(server)とWindows(client)をusbipで繋ぐ

Last updated at Posted at 2022-11-24

環境情報

server

device:raspi
OS:ubuntu20.04
kernel:5.15.0-1017-raspi

host

device:laptop
OS:windows 11

raspi(server)側の準備

現在のubuntuでは、usbipはkernelについてくるためaptでinstallできない。また本来のubuntuではkernelに付随しているがraspi用のubuntuは軽量版なので入っていない。そのため、以下を実行してusbipを使える状態にする。

まず最新のkernelを取得するために以下を実行する。

sudo apt-cache search linux-images|grep raspi

実行結果
image.png
raspiなので、今回の結果であれば以下で更新する。

suso apt install linux-image-5.15.0-1017-raspi

kernelをinstallしたら再起動する。kernelが更新されているか確認する

uname -r

このままでは、まだUSBIPを使うことはできない。
kernelのバージョンにあったものをinstallする必用があるため以下を実行する。

sudo apt-cache search linux-tools |grep raspi

実行すると、様々なバージョンのものがでてくる。今回は、linux-image-5.15.0-1017-raspiをinstallしているため、以下をinstallする。

sudo apt install linux-tools-5.15.0-1017-raspi

次に、USBIPを使うためのモジュールをinstallすり必要がある。これもkernelに合わせる必要があるため以下で調べる。

sudo apt-cache search linux-modules-extra |grep raspi

これもkernelに合わせて、今回は以下をinstallする。

sudo apt install linux-modules-extra-5.15.0-1017-raspi

また、hwdataが必要なのでinstallしておく。

sudo apt install hwdata

installが完了したら、usbipを使うために設定を行う。
まず、moduleを有効化するために、以下を実行していく。

sudo modprobe usbip-core
sudo modprobe usbip-host
sudo modprobe vhci_hcd
sudo modprobe usbip_vudc

次に、バックグラウンドでusbipが使えるようにするためusbipのデーモンを起動させる。

sudo usbip -D 

raspiの操作

まず、usbデバイスのbusidを確認するする。

usbip list -l

実行すると、以下のように表示される。

busidは、今回だと1-1.1になる。

busidがわかったら、bindしてリモートで使用できるようにする。

sudo usbip bind -b <busid>

これで、raspi側の操作は終了である。


windows(client)側の設定

まず、ここからusbip-winのzipファイルをinstallする。

好きな場所に解凍して、そのファイルに移動する。
ファイル内のusbip_test.pfxをinstallする。

.\usbip_test.pfx

installする際、保存場所はローカルコンピュータを選ぶ。またpasswordはusbipとなっている。

次に、test signingを有効化する。
この際、パソコンがセキュアブートが有効化させていると実行できないため無効化しておく。biosを開いて編集することになり、僕の場合回復キーを求められてめちゃくそビビりました。

bcdedit.exe /set TESTSIGNING ON

有効化できたら、仮想デバイスをinstallする必用がある。

.\usbip.exe install -w

windows(client)側の操作

まず、リモートでbindされているusbを確認する。

.\usbip.exe list -r <ipアドレス or VPN>

実行すると、raspi側でbindしたbusidと同じデバイスが表示される。
確認したbusidを利用して、

.\usbip.exe attach -r <ipアドレス or VPN> -b <busid>

succesfullyと表示されれば無事接続完了である。
一応確認で、以下を実行する。

.\usbip.exe port

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?