快轉到主要內容

透過USB傳輸線,從電腦登入樹莓派系統

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

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

我們可以利用Raspberry Pi OS的「USB Linux Gadget」功能,將樹莓派用USB傳輸線插到電腦,透過RNDIS協定連線登入SSH。即使樹莓派沒連線到任何網路照樣可以登入。

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

1. 準備項目
#

  • Linux電腦,我使用Ubuntu 22.04
  • 樹莓派5,安裝Raspberry Pi OS Bookworm
  • Type-C USB傳輸線x1

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

2. 調整樹莓派系統
#

  1. 將SD卡拔出,插到電腦讀卡機

  2. 如果桌面環境沒有掛載,就手動掛載SD卡分區

lsblk

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

  2. 在檔案底部加入dtoverlay

dtoverlay=dwc2
  1. 並註解掉otg_mode
# otg_mode=1
  1. 編輯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/ㄐootfs

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
如何給Chromium瀏覽器啟用Google帳號同步功能
Linux系統 Linux好用軟體 Google Chrome Raspberry Pi

留言板

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

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

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。