There are a total of 370 posts here. | 這裡總共有 370 篇貼文。

ttheng's microblog. | 侃侃而隨想極短文。

終於可以在跑 Linux 的主要筆電用 Wi-Fi 啦

我目前使用的主要筆電是個很普通、文書取向的型號:ASUS Vivobook 16。我猶記得我大概是在 2023 年買這部筆電的。

親手拿到該筆電後,我當時做的第一件事就是把裡頭那肥大又難用的 Windows 11 重灌成 Linux——確切來說是 Pop!_OS。後來在 2026 年 3 月左右,我又 distro-hop 去了 Linux Mint 並用到現在。

不過呢,自從那時在該筆電上使用 Linux 後,我就得一直面對一個(小)麻煩:Wi-Fi 與藍牙功能都用不了。

爲什麼呢?這是因爲該筆電裡頭安裝的網卡是 MediaTek MT7902,而該網卡其中一個惡名昭彰的地方就是:它的閉源驅動程式多年來都不支援 Linux 核心!

這也使得我長期以來都得拿出我的手機,靠着 USB tethering(網路共享)才能在該筆電上網。不是什麼特別困難或耗費心力的額外工夫,但還是滿麻煩的額外工夫。


就這樣,我一邊用着這種「迂迴」的方式在該筆電上網,一邊苦等着該驅動廠商想起爲該網卡提供 Linux 核心支援。

直到今年 6 月中,隨着 Linux 核心的 7.1 版正式上線,那個 MT7902 網卡的驅動程式終~於獲得正式的 Linux 支援啦!Took them long enough.

那麼這是否代表我終於可以直接用 Wi-Fi 上網了?欸~稍等一下,沒這麼快。

目前的問題在於我所使用的 Linux Mint,是屬於較爲穩定,但更新步伐也比較慢的 point release distribution,而非像 Arch Linux 那樣更新進度較快,但也比較進階的 rolling release distribution。

這也意味着即使我目前是用着最新(22.3)版的 Linux Mint,它目前所官方支援的最新版核心也只到 7.0.x,離第一個包含 MT7902 網卡驅動程式的核心版本就差那麼一~點點。

那怎麼辦呢?我上網爬了一下文,找到了一個頗爲土法鍊鋼的方法:先繞過官方更新進度徑自下載較新(7.1)版的核心,然後直接從官網上的核心原始碼抓取相關驅動程式檔案並複製到電腦中。

1sudo add-apt-repository ppa:cappelikan/ppa -y
2sudo apt update
3sudo apt install mainline
4sudo mainline install 7.1
5
6git clone --depth 1 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
7sudo cp linux-firmware/mediatek/BT_RAM_CODE_MT7902_1_1_hdr.bin /lib/firmware/mediatek/
8sudo cp linux-firmware/mediatek/WIFI_RAM_CODE_MT7902_1.bin /lib/firmware/mediatek/
9sudo cp linux-firmware/mediatek/WIFI_MT7902_patch_mcu_1_1_hdr.bin /lib/firmware/mediatek/

重啟筆電後,我便看到螢幕上終於顯示 Wi-Fi(還有藍牙)都可以使用啦!

耶,我終於不用每次要上網的時候都得把手機和 USB 充電線拿出來了(撒花)!

<< Previous Post

|

Next Post >>