前言
簡單地說,BCM43142 的 Dirver 是專有的受限驅動,所以根據 fedora 的標準是不會收錄的。所以我們需要從第三方軟體庫 RPMFusion 中取得相關的軟體包 (broadcom-wl),然後建議自己 compile kernel module 出來。
註:Arch wiki 上說 BCM43142 其實也有開源的逆向工程驅動,叫做 b43,有興趣可以自己研究看看。 1
值得注意的是,自己 compile 出來的 module 不會經過 fedora 官方簽署,所以 Secure Boot 就不給過。記得要把 Secure Boot 關掉。
一點小心得就是,現在普遍裝有 Windows 8.1 的機器都有 Secure Boot,買得時候記得要確認機器的 UEFI 設定可以關掉 Secure Boot。然後,如果 UEFI 的韌體跑得好好的,除非有安全性或效能改善,否則就不要亂升級,根據個人經驗,有可能升級了 Linux 就進不去了… 要重新刷回去舊版。
總結,要在 Win8 以後的機器上裝 Linux,請一定要確認可以關掉 Secure Boot!然後最好可以知道該電腦用的 wifi 晶片是那家的,最好直接就有開源驅動的。聽說 Broadcom 容易遇到麻煩,像本篇接下來要講的這樣;聽說 Atheros 和 Realtek 的都不錯,可以參考看看。
安裝指引
前置動作
按 Esc 之類的按鍵進入 UEFI 設定中關掉 Secure Boot。
啟用 RPMFusion 的 free 和 non-free 軟體庫
參見:http://rpmfusion.org/Configuration ,可以直接用瀏覽器安裝,或是用下方指令安裝。
sudo dnf -y localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
- 安裝相關軟體包
sudo dnf -y install kernel-devel akmods akmod-wl broadcom-wl
fedora 24/23
應該重新開機就行了。
不行的話,試試
sudo akmods --force
看看有沒有都 OK,都 OK 就應該可用了。
fedora 22 法一、關掉 mode n 的無線功能
sudo modprobe iwlwifi 11ndisable=1
sudo su
echo options iwlwifi 11ndisable=1 > /etc/modprobe.d/iwlwifi.conf
exit
基本上 mode g 的速度已經可以達到 50 Mbps (6.25 MB/s),所以如果你的 Wi-Fi Router WLAN 是 100Mbps 的,就已經很夠用了。 如果不想要編譯 kernel,可以直接用這個方法。
fedora 22 法二:自己編譯
- 取消 /etc/akmods/akmod-wl/api 中驅動 (這裡是 WEXT) 前面的註解,即把該行開頭的 # 字號拿掉
sudo vi /etc/akmods/akmod-wl/api
-
為當下使用的 kernel 編譯 WiFi 模組
sudo akmods --force --kernel "uname -r" --akmod wl
其中的 "uname -r" 請替換成你自己系統跑出來的結果,可以先 uname -r 複製起來再替換掉。
-
告訴 Dracut 要載入那些驅動程式,請取消 /etc/dracut.conf.d/20-wl.conf 檔案最尾端那行的註解 (這裡是add_drivers+="lib80211 lib80211_crypt_tkip wl"):
sudo vi /etc/dracut.conf.d/20-wl.conf
-
重建 initramfs
sudo dracut --force
此法如果暫停電腦,恢復後該編譯的 module 似乎會當掉再重新啟動
資料來源
how to make wifi bcm43142 work on fedora 21?
https://ask.fedoraproject.org/en/question/58173/how-to-make-wifi-bcm43142-work-on-fedora-21/
Installing WiFi for a Broadcom BCM43142 (e.g., Sony Vaio) on Fedora 20
http://fossdev.blogspot.tw/2014/01/installing-wifi-for-broadcom-bcm43142.html
註
我手邊這臺是 HP Pavilion 13-b221TU。