在 Raspberry Pi 安裝 Mercury USB WiFi AC650M 驅動
Toby
Toby

安裝步驟如下

準備所需的環境

  1. 下載 Raspberry Pi OS
  2. 執行 apt-get update
  3. 把 RTL8821CU 驅動源碼下載到本地端
mkdir -p ~/build
cd ~/build
git clone https://github.com/brektrou/rtl8821CU.git

4. 安裝 DKMS

sudo apt-get install dkms

5. 更新 apt

sudo apt update -y
sudo apt upgrade -y

6. 安裝 bc 並 重新啟動 Raspberry Pi

sudo apt-get install bc -y
sudo reboot

7. 重啟後 cd 進去驅動目錄並更改 Makefile

cd ~/build/rtl8821CU
sudo nano Makefile

把下面此兩行

CONFIG_PLATFORM_I386_PC = y
CONFIG_PLATFORM_ARM_RPI = n

更改成

CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y

8. 處理 ARM 建置 flag 的問題

sudo cp /lib/modules/$(uname -r)/build/arch/arm/Makefile /lib/modules/$(uname -r)/build/arch/arm/Makefile.$(date +%Y%m%d%H%M)
sudo sed -i 's/-msoft-float//' /lib/modules/$(uname -r)/build/arch/arm/Makefile
sudo ln -s /lib/modules/$(uname -r)/build/arch/arm /lib/modules/$(uname -r)/build/arch/armv7l

9. 使用 DKMS 建置

sudo ./dkms-install.sh

10. 把 WiFi USB 插到 Rpi 上

11. 把 USB 裝置由 Mass Storage Mode 轉換成 WiFi Adpater Mode
在轉換之前,你先要使用 lsusb 取得裝置的 ID,例如 0bda:1a2b ,然後使用 usb_modeswitch 指令進行轉換。如果還沒有安裝,可透過 sudo apt-get install usb_modeswitch 安裝

sudo usb_modeswitch -KW -v 0bda -p 1a2b
systemctl start bluetooth.service

要讓它下一次開機都會自動轉換,編輯 usb_modeswitch

sudo nano /lib/udev/rules.d/40-usb_modeswitch.rules

在以下這一行之前:

LABEL="modeswitch_rules_end"

插入以下設置

# Realtek 8211CU Wifi AC USB
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b"

再次重新啟動後使用 sudo ifconfig 應該就能看到新的 WiFi 界面了(wlan1)