在下其中一位朋友,由於購買了一部新電腦,但使用速度非常慢,都想嘗試使用 Linux
但在 Live Boot 的進度卻無法完成,並且出現一些疑似錯誤的訊息,因此向在下查詢
最後發現自己類似的裝置都有相同問題,因此尋找解決方法
WiFi USB 外觀
一支細小的 USB裝置,支援 WiFi 及 藍牙
使用 Realtek 的 RTL8821CU晶片
故障情況
最初使用時,不需要安裝及額外操作便能夠隨插即用
但最近在連接後,電腦雖然能夠偵測 WiFi 及 藍牙訊號,但卻無法 以WiFi連接 及 以藍牙配對裝置
usb 1-6: reset high-speed USB device number 4 using xhci-hcd
的錯誤訊息,而且載入進度無法完成,但拔除 USB裝置 後,便正常載入
估計是起動時,系統找到 USB裝置,但無法辨識,因此不斷嘗試導致載入進度無法完成
lsusb -t
顯示 USB裝置 正在使用 rtw_8821cu 驅動程式,而不是 rtl8821cu
看似是因為使用錯誤的驅動程式導致無法正常運作
安裝驅動程式
從網上查找資料後,需要重新安裝驅動程式
到 https://codeload.github.com/morrownr/8821cu-20210916/zip/refs/heads/main
下載 驅動程式原始碼,並編譯及安裝才能正確使用
將 zip檔案 解壓縮
雖然需要由原始碼編譯及安裝,但目錄中已經包含自動編譯及安裝的腳本,因此只需要執行該腳本程式即可完成
不過在安裝 驅動程式 前需要安裝 build-essential 及 dkms
在 Terminal 輸入:
sudo apt install build-essential dkms
安裝 build-essential 及 dkms
然後在驅動程式原始碼的目錄 輸入:
sudo bash "install-driver.sh"
(必須使用 root 或 sudo)
便會自動編譯及安裝驅動程式
由於在下的電腦啟動 Secure Boot ,因此安裝驅動程式前有安全查詢
安裝非官方或沒有簽署的驅動程式,需要在下設定 Machines Owner Keys (MOK)
因為在下已經設定 MOK ,所以在下選擇 No 來略過此步驟
即使沒有設定 MOK 亦可以選擇 No 不設定 MOK 來繼續執行
完成安裝 驅動程式 後,可以立即修改 驅動程式設定 及 是否需要立即重新開機
沒有特殊需要的情況,在下不建議修改 驅動程式設定 ,以免發現異常問題
重新開機後,便可以連接到 WiFi
同時藍牙亦能夠與藍牙裝置配對
補充資料
在下使用另一部 Linux 電腦測試,卻出現另一個錯誤:
rtw8821cu 2-3:1.0: read register 0x20 failed with -110
在下估計這些訊息並非真正的錯誤,而是出錯前的所執行的指令
實際的錯誤因為不斷嘗試某些操作而沒有顯示
在下發現在 Windows 都有一些操作問題,同樣無法使用 以WiFi連接 及 以藍牙配對
連接後, Windows 將 USB裝置 當作 USB儲存裝置,顯示儲存裝置中的安裝檔
但在下不打算在 Windows 安裝這些不明的驅動程式,因此在下嘗試其他方法
在下將當作 USB儲存裝置 卸載後,竟然能夠正常使用 WiFi 及 藍牙功能
看來不安裝附帶的驅動程式是正確的決定
在下尋找其他資料時,發現 Kernel 6.2 整合大量無線驅動程式,當中包括支援 WiFi 7 ,例如 RTW8821CU
因此在下之前能夠正常使用,應該是因為當時並未使用 Kernel 6.2
當使用 Kernel 6.2 驅動程式,有機會是因此在下使用 USB裝置 使用較舊的 RTL8821CU晶片
卻因為系統正在使用較新的 RTW8821CU驅動程式 ,無法兼容較舊 RTL8821CU晶片 導致不能正常使用
總結
雖然出師不利,但很快便解決了問題,在下的朋友覺得沒有問題
使用上非常順暢,與很快便熟習
沒有留言 :
張貼留言