← Back to list

使用USB Ethernet Gadget連接Raspberry Pi Zero W 2

之前使用樹莓派的時候,都是透過HDMI接上螢幕,再透過鍵盤滑鼠操作。  但是萬一手邊沒有螢幕跟鍵盤滑鼠,要怎麼操作呢?

Natlee · 2024-04-05 07:55 · 0 claps · 5.4 min read
#raspberry-pi #ethernet-gadget #ssh #raspberry-pi-zero-2-w #raspberry-pi-4
Open on Medium ↗
Wiki topics: 📟 · Gadgets & IoT

使用USB Ethernet Gadget連接Raspberry Pi Zero W 2

前言

之前使用樹莓派的時候,都是透過HDMI接上螢幕,再透過鍵盤滑鼠操作。 但是萬一手邊沒有螢幕跟鍵盤滑鼠,要怎麼操作呢?

準備開始

首先,我們需要準備以下材料:

  • 1 x Raspberry Pi 4 or Zero / Zero W / Zero 2 W 或是更新
  • 1 x MicroSD 卡
  • 1 x 能夠讀取 MicroSD 卡的裝置
  • 1 x 筆電或是桌機
  • 1 x MicroUSB to USB 連接線

筆電或是桌機必須是Windows,因為Linux設定太坑了,所以我沒成功過,然後MacOS可能可以,但我沒試過

安裝步驟

  1. 我們要先下載 Raspberry Pi OS 的映像檔並安裝,這邊建議直接使用 Raspberry Pi Imager

這邊注意!建議選64-bit Full的版本,其他版本我沒有試過,不確定是否有支援

要記得設定安裝的主機名稱(hostname)以及使用者帳密(username/password)

等待安裝完成,並重新插入 MicroSD 卡到電腦中

1.1) 找到 MicroSD 卡的 bootfs 磁碟中的 config.txt 檔案

1.1.1) 新增一行在特定位置

位置一定要對!網路上很多教學都只說新增一行,但沒說要新增在哪裡🥹

... 
# Enable audio (loads snd_bcm2835)
dtparam=audio=on dtoverlay=dwc2

# Automatically load overlays for detected cameras...

結果如下:

1.1.2) 接著,將otg_mode=1給註解掉

...

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
# otg_mode=1 <---- 就是這行

[all]

...

1.2) 找到 MicroSD 卡的 bootfs 磁碟中的 cmdline.txt 檔案

rootwait後面加上modules-load=dwc2,g_ether

因為cmdline只有一行,要注意不要加錯位置

... rootwait modules-load=dwc2,g_ether quiet splash ...

會變成這樣:

  1. 將 MicroSD 卡退出,插入到 Raspberry Pi Zero W 2 中,並連接 MicroUSB to USB 連接線到電腦上。我是用Raspberry Pi USB Dongle Expansion Board Kit,所以可以直接插上去

如果你的電腦是Windows,會需要安裝RNDIS驅動程式,可以參考這篇

安裝完成驅動後,可以在裝置管理員中看到RNDIS的裝置

網路介面卡也會多出一個裝置,這就是直接把 Raspberry Pi Zero W 2 當成網路介面卡

接著,等待一下,Raspberry Pi Zero W 2 會自動開啟並連接到你的電腦上,這時候我們可以先ping一下看看有沒有連上

Pi 有可能會重新連接你的電腦,所以馬上ping可能會失敗,可以看一下網路介面有沒有連上,等一下再試試看

如果網路介面沒有問題,我們可以ping一下看看有沒有連上:

ping pi.local

成功的話,你會看到類似以下的結果:

Ping pi.local [fe80::f4da:bc9b:9cc1:2daf%26] (使用 32 位元組的資料):
回覆自 fe80::f4da:bc9b:9cc1:2daf%26: 時間<1ms
回覆自 fe80::f4da:bc9b:9cc1:2daf%26: 時間<1ms
回覆自 fe80::f4da:bc9b:9cc1:2daf%26: 時間<1ms
回覆自 fe80::f4da:bc9b:9cc1:2daf%26: 時間<1ms

fe80::f4da:bc9b:9cc1:2daf%26 的 Ping 統計資料:   
    封包: 已傳送 = 4,已收到 = 4, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
    最小值 = 0ms,最大值 = 0ms,平均 = 0ms
  1. 最後,我們可以透過ssh連接到 Raspberry Pi Zero W 2 上
ssh pi.local

結論

我們從沒有外部螢幕和鍵盤的情況下,利用USB連線設定和訪問Raspberry Pi Zero W 2

但可惜的是,我這邊沒有測試成功Linux和MacOS,如果有人成功了,歡迎留言告訴我,我再補充上去🥲

Linux的坑滿多的,連上去還有可能會遇到找不到裝置的問題,所以我就放棄了😂

參考資料


메타데이터
post_id
04a2268ca28b
slug
使用usb-ethernet-gadget連接raspberry-pi-zero-w-2-04a2268ca28b
url
https://medium.com/@natlee_/%E4%BD%BF%E7%94%A8usb-ethernet-gadget%E9%80%A3%E6%8E%A5raspberry-pi-zero-w-2-04a2268ca28b
canonical_url
https://medium.com/@natlee_/%E4%BD%BF%E7%94%A8usb-ethernet-gadget%E9%80%A3%E6%8E%A5raspberry-pi-zero-w-2-04a2268ca28b
author_url
https://medium.com/@natlee_
status
ok
fetched_at
2026-07-24 03:02:43