前言
最近入手了一張 ASUS USB-AX56 (USB ID: 0b05:1997) Wi-Fi 6 無線網卡,這張網卡使用的是 Realtek RTL8852AU 晶片。由於 Linux 核心預設不包含這個驅動,需要手動編譯安裝。本文記錄完整的安裝過程和遇到的問題。
系統環境
- 作業系統: Ubuntu 23.10
- 網卡型號: ASUS USB-AX56
- 晶片組: Realtek RTL8852AU
- USB ID: 0b05:1997
安裝步驟
1. 安裝編譯所需套件
首先需要安裝編譯工具和核心標頭檔:
sudo apt-get update
sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git
2. 下載驅動原始碼
使用 lwfinger 維護的驅動版本(這個版本比 Realtek 官方版本更穩定):
git clone https://github.com/lwfinger/rtl8852au.git
cd rtl8852au
3. 編譯與安裝
make
sudo make install
4. 載入驅動模組
sudo modprobe 8852au
驅動載入確認
安裝完成後,可以透過以下指令確認驅動是否成功載入:
# 檢查模組是否載入
lsmod | grep 8852
# 檢查 USB 裝置
lsusb | grep ASUS
# 查看核心訊息
sudo dmesg | tail -20
成功訊息範例:
usbcore: registered new interface driver rtl8852au
rtl8852au 9-1:1.0 wlxc87f549a5c4e: renamed from wlan0
網路介面命名問題
現代 Linux 系統會使用基於 MAC 位址的可預測網路介面命名,因此 Wi-Fi 介面不會叫做 wlan0,而是類似 wlxc87f549a5c4e 這樣的名稱。
查看無線介面
# 使用 iwconfig
iwconfig
使用 ip 指令
ip link show
使用 NetworkManager
nmcli device
啟用網路介面
如果介面沒有自動啟用,手動啟用:
sudo ip link set wlxc87f549a5c4e up
設定自動連接
為了避免每次重開機都要手動啟用,需要設定自動連接:
# 查看現有連線
nmcli connection show
# 設定 Wi-Fi 連線自動連接
nmcli connection modify "你的WiFi名稱" connection.autoconnect yes
# 設定裝置自動連接
nmcli device set wlxc87f549a5c4e autoconnect yes
連接 Wi-Fi 網路
方法 1: 使用 NetworkManager CLI
# 掃描可用網路
nmcli device wifi list
連接到 Wi-Fi
nmcli device wifi connect "WiFi名稱" password "密碼"
方法 2: 使用圖形界面
安裝成功後,直接在 Ubuntu 系統設定的 Wi-Fi 選項中就能看到可用的無線網路,點擊連接即可。
核心更新後的處理
每次系統核心更新後,需要重新編譯驅動:
cd ~/rtl8852au
git pull
make clean
make
sudo make install
使用 DKMS 自動重新編譯(推薦)
DKMS (Dynamic Kernel Module Support) 可以在核心更新時自動重新編譯驅動:
# 加入 DKMS
sudo dkms add .
# 編譯
sudo dkms build rtl8852au -v 1.15.0.1
# 安裝
sudo dkms install rtl8852au -v 1.15.0.1
# 載入驅動
sudo modprobe 8852au
提示:設定完成後,之後核心更新就不需要手動重新編譯了。
疑難排解
問題 1: 執行 modprobe 後沒有錯誤,但看不到無線介面
解決方法:檢查 dmesg 訊息,確認驅動是否真的載入成功:
sudo dmesg | grep -i rtl8852
問題 2: D-Link DWA-X1850 裝置顯示為 USB 儲存裝置
如果你的裝置是 D-Link DWA-X1850,lsusb 顯示 ID 為 0bda:1a2b,表示裝置處於 USB 儲存模式。
解決方法:編輯
/usr/lib/udev/rules.d/40-usb_modeswitch.rules 或
/lib/udev/rules.d/40-usb_modeswitch.rules,加入:
# D-Link DWA-X1850 Wifi Dongle
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="usb_modeswitch '/%k'"
然後重新載入 udev 規則:
sudo udevadm control --reload-rules
sudo udevadm trigger
拔掉後重新插入 USB 裝置。
問題 3: 編譯時出現錯誤
解決方法:確認核心標頭檔版本與目前執行的核心版本一致:
uname -r
dpkg -l | grep linux-headers
如果不一致,安裝對應版本的標頭檔。
支援的裝置列表
這個驅動支援以下裝置(來自官方文件):
| 裝置名稱 |
USB ID |
| BUFFALO WI-U3-1200AX2(/N) |
0411:0312 |
| ASUS USB-AX56 |
0b05:1997 或 0b05:1a62 |
| EDUP EP-AX1696GS |
0bda:8832 |
| Fenvi FU-AX1800P |
0bda:885c |
| D-Link DWA-X1850 |
2001:3321 |
| TP-Link AX1800 |
2357:013f 或 2357:0141 |
| ipTIME AX2000U |
0bda:8832 |
| ELECOM WDC-X1201DU3 |
056e:4020 |
| Realtek 展示板 |
0bda:8832, 0bda:885a, 0bda:885c |
效能測試
安裝完成後測試連接速度,在 Wi-Fi 6 路由器下:
- 連接速度: 1200 Mbps (理論值)
- 實際下載速度: 約 600-800 Mbps
- 延遲: 穩定在 2-5ms
- 訊號強度: 表現良好
結論
雖然 Linux 對於較新的硬體支援需要手動安裝驅動,但整個過程並不複雜。lwfinger 維護的這個驅動版本相當穩定,安裝後運作正常,效能表現也很好。建議使用 DKMS 來管理驅動模組,可以省去核心更新後手動重新編譯的麻煩。
參考資源
本文記錄於 2024 年 12 月,使用 Ubuntu 23.10 系統