Ubuntu安裝Wifi無線網路卡驅動程式:Realtek RTL8822BU

有台Q9550 CPU的電腦一直以來都是用手機分享有線網路,一直想給他裝個外接網路卡,於是買了WIFI與藍芽二合一的。不意外只支援Windows和MacOS,而就算我系統用的是Ubuntu Linux,驅動程式還是要自己找,且我的電腦沒有光碟機。

品名: “Dual Band + Bluetooth USB Adapter”

要尋找是否有熱心開發者提供Linux驅動程式,首先用指令查看網路卡具體硬體型號,然後再下載驅動程式編譯安裝。

1. 查看網路卡型號

這個網路卡的外包裝也真夠怪的,沒有品牌和製造商資訊,只有光碟寫"RTL190CT",找不到相關資料。USB插上電腦也只有抓到USB裝置,ifconfig指令沒有顯示無線網卡。

用以下指令查詢確切型號,執行lsusb。接著會列出連接的USB裝置,知道是Realtek生產的,Bus 001後面的ID “0bda:b82c” 拿去Google。

1
2
$lsusb
Bus 001 Device 002: ID 0bda:b82c Realtek Semiconductor Corp. 802.11ac NIC

WikiDevi找到了這個網卡的具體型號:Realtek RTL8822BU

2. 編譯安裝網路卡驅動程式

按照Github這個專案的指示編譯安裝,我的系統是Ubuntu 20.04。

  1. 安裝編譯工具
1
sudo apt update && sudo apt install -y dkms git build-essential
  1. 建立工作目錄
1
mkdir -p ~/src && cd src
  1. 下載腳本以DKMS自動編譯安裝,重開機
1
2
3
git clone https://github.com/morrownr/88x2bu-20210702.git
cd ~/src/88x2bu-20210702
sudo ./install-driver.sh

3. 連上Wifi

Ubunbu有很多圖形界面可以操作,不過我直接使用終端機nmcli工具。

  1. ifconfig列出所有網路卡,接著應該會偵測到Realtek的無線網卡:
1
2
3
4
5
6
wlx1cbfcee3712a: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            ether 1c:bf:ce:e3:71:2a  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  1. 啟用網卡
1
sudo ifconfig wlx1cbfcee3712a up

3.掃描附近的WIFI

1
sudo nmcli device wifi list ifname wlx1cbfcee3712a
  1. 連線
1
sudo nmcli device wifi connect "WIFI名稱" password "密碼" ifname "wlx1cbfcee3712a"
  1. 設定開機自動連線
1
sudo nmcli device set "wlx1cbfcee3712a" autoconnect yes