快轉到主要內容

透過USB傳輸線,從Linux電腦走RNDIS協定登入樹莓派系統

分類   Linux系統 Linux使用技巧
標籤   Raspberry Pi
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

如果沒有RJ45網路線,也沒有UART線,要如何遠端登入Raspberry Pi?

我們可以利用Raspberry Pi OS的「USB Linux Gadget」功能,將樹莓派用USB傳輸線插到電腦,透過RNDIS協定連線登入SSH,而非透過Wifi連線。

注意USB連線應該只視為應急作法,因為樹莓派4以後的型號吃電較兇,USB供電容易不穩,樹莓派負載一升高就會自動關機。因此可以的話直接用Wifi連線登入SSH還是比較好。

1. 準備項目
#

  • Linux電腦,我使用Ubuntu LTS
  • Raspberry Pi 5,安裝Raspberry Pi OS Bookworm
  • Type-C to USB A傳輸線x1

由於樹莓派5最低開機電流為600mAh,所以電腦端必須準備USB 3.0的埠,才能供給足夠的電流,讓樹莓派開機。

2. 調整樹莓派系統
#

  1. 利用 RPI Imager安裝Raspberry Pi OS,設定Wifi連線密碼。

  2. 將SD卡拔出,插到電腦讀卡機。如果桌面環境沒有掛載,就手動掛載SD卡分區

lsblk

mount /dev/mmcblk0p1 /mnt/bootfs
mount /dev/mmcblk0p2 /mnt/rootfs
  1. 開啟bootfs分區下的/firmware/config.txt

  2. 在檔案底部加入dtoverlay

dtoverlay=dwc2
  1. 並註解掉otg_mode
# otg_mode=1
  1. 編輯/firmware/cmdline.txt,在rootwait後面開機載入dwc2核心模組的參數,啟用RNDIS
modules-load=dwc2,g_ether
  1. 接著要確認主機名稱,開啟rootfs分區的/etc/hostname檔案確認主機名稱為何。如果是透過RPI Imager安裝,預設應該為raspberry.local

  2. 退出SD卡。

sudo umount /mnt/bootfs
sudo umount /mnt/rootfs

3. 連線到樹莓派
#

  1. 將SD卡插回樹莓派

  2. 將樹莓派插到電腦,應會自動開機

  3. 等到亮黃燈的時候,在電腦端執行lsusb指令,應該會看到一個RNDIS裝置出現

Bus 001 Device 016: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
  1. 執行ip addr會看到出現樹莓派的網路卡
14: enp0s20f0u3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
  1. 有的桌面環境會一直嘗試連線到樹莓派網路,請手動將其停止。

  2. 安裝Avahi套件,並啟用服務

sudo apt-get install avahi-daemon

sudo systemctl enable --now  avahi-daemon
  1. 手動用Avahi分配IP
sudo avahi-autoipd -D enp0s20f0u3
  1. 再讓Avahi依照樹莓派主機名稱解析DNS
avahi-resolve -n raspberrypi.local
  1. 按照分配到的IP登入樹莓派

參考資料
#

相關文章

管理Linux系統家目錄泛濫成災的dotfile
分類   Linux系統 Linux使用技巧
標籤   Dotfile Flatpak
用Systemd-boot取代GRUB作為Linux的bootloader
分類   Linux系統 Linux使用技巧
標籤   Linux Systemd GRUB
Linux設定固定IP與通訊埠轉發方法 (port forwarding),以Ubuntu為例
分類   Linux系統 Linux使用技巧
標籤   Port Forwarding DNS Torrent

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。