0
1

Raspberry Pi で「bookworm」を 使ってWindows11 や Macから OTG 接続する

Last updated at Posted at 2024-06-30

Raspberry Pi で「bookworm」を 使ってWindows11 や Macから OTG 接続する手順を解説します

(2024.07.07追記)
Raspberry Pi 4 でも「bookworm」を使う場合はこのページの手順を使わないとOTG接続出来ません。

bookwormを使用する場合、PI4、Pi5などでOTG接続する時はこの方法を使用してください

タイトルにRaspberry Pi 5だけ記載していると誤解を招く可能性があるのでタイトルを少し変更しました。
(以上)

IMG_3520.jpg

IMG_8150.jpg

Raspberry Pi 4やRaspberry Pi Zero 2 W 等でOTG接続(USBケーブルで接続する方法)を行った事がある事を前提条件としています
初めてOTG接続に挑戦する場合は、そこの所は各自ネット検索等で必要なドライバーやソフトを先にPCへインストールしておいてください

参考URL https://jun3010.me/raspberry-pi5-usbotg-gether.html
    (Raspberry Pi5とiPad ProをUSB-OTGで繋ぐ方法)

(重要)
PC(Win or Mac)をRaspberry Pi 5へ接続する場合Thunderbolt4以上(コネクタ形状がType-C)のケーブルを使用してください(強く推奨 ほぼ必須と言ってもいいかも知れません) 100均等のC to C ケーブルでもWindowsなら接続出来ましたが、IPアドレス取得に失敗することが多く接続完了までに時間が掛かります(私の環境で2分以上)

手順1 config.txtとcmdline.txtの編集

/boot/firmware/config.txt に

config.txt
dtoverlay=dwc2

を追加する

/boot/firmware/cmdline.txt のrootwait と quiet の間に下記の文字列を挿入

cmdline.txt
modules-load=dwc2,g_ether g_ether.host_addr=02:22:82:ff:ff:01 g_ether.dev_addr=02:22:82:ff:ff:11

(rootwait の後と quiet の前には半角スペースを入れること)

手順2 usb0 というネットワークインターフェイスを作る
LXTerminal で

sudo nmcli con add type ethernet con-name ethernet-usb0

を実行する

手順3 nmconnectionの編集

手順2 のコマンドを実行後に作られた ethernet-usb0.nmconnection ファイルを次のように編集する
LXTerminal で

 sudo nano /etc/NetworkManager/system-connections/ethernet-usb0.nmconnection

とethernet-usb0.nmconnectionを開き

ethernet-usb0.nmconnection
[connection]
id=ethernet-usb0
uuid=<random group of characters here>
type=ethernet
autoconnect=true          #この行を追加
interface-name=usb0       #この行を追加
    
[ethernet]
    
[ipv4]
method=auto               #この行が  auto  であることを確認しておくこと
    
[ipv6]
addr-gen-mode=default
method=auto
    
[proxy]

手順4 起動時に usb0 を up するサービスを作る
ラズパイ起動時に usb0 を有効化するためのサービスを作って、enable にする
LXTerminal で

sudo nano /usr/local/sbin/usb-gadget.sh

と入力しusb0 を起動するためのシェルスクリプトを作成するusb-gadget.shのは下記の様にする

#!/bin/bash
nmcli con up ethernet-usb0

作成出来たら読み取りと実行の権利を与える(LXTerminal で)

sudo chmod a+rx /usr/local/sbin/usb-gadget.sh

手順5 起動時に usb-gadget.sh を実行するための専用サービスを作成
LXTerminal で下記のコマンドを実行する

sudo nano /lib/systemd/system/usbgadget.service

usbgadget.service の中は以下の様にする

usbgadget.service
[Unit]
Description=My USB gadget
After=NetworkManager.service
Wants=NetworkManager.service
    
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/sbin/usb-gadget.sh
    
[Install]
WantedBy=sysinit.target

手順6 OS が起動する際、NetworkManager.service が起動した後に usbgadget.service が起動するようにする
LXTerminal で下記コマンドを実行する

sudo systemctl enable usbgadget.service

以上で service が enable になります

手順7 Raspberry Pi 5 を reboot する。
以上で OTG 接続出来る様になります。
IP アドレスは Windows11 なら 192.168.137.XX (XX は自動で割り振られます)
Mac なら 192.168.X.2 で繋がります。(通常は 192.168.2.2)

Windows11での実行例
Win OTG 30cm  2024-06-26 143837.png

Macでの実行例
Mac OGT  2024-06-25 22.09.48.png

OTG接続が出来たかの確認は
LXTerminal で

sudo apt update

を実行してみるのが一番手っ取り早いかと思います(Raspberry Pi 5のWi-Fiは切ってから)

0
1
0

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
0
1