由于联发科 MT7902 Wi-Fi 卡没有 Linux 驱动程序,我目前使用 USB 适配器(TP-Link AC600 无线 Archer T2U Nano),该适配器与该rtl8821au
模块配合良好。我想使用联发科 Wi-Fi 卡找回这个 USB 连接器。
为了使联发科 MT7902 Wi-Fi 卡工作,我使用了此 GitHub 页面上的驱动程序,但该卡仍然无法工作。
~$ uname -a
Linux asus 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux
~$ lspci -nnkd ::280
0000:02:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7902]
DeviceName: WLAN
Subsystem: AzureWave Device [1a3b:5520]
~# dkms status
ndiswrapper/1.60: added
rtl8821au/5.12.5.2, 6.1.0-27-amd64, x86_64: installed
rtl8821au/5.12.5.2, 6.1.0-28-amd64, x86_64: installed
~# modinfo ndiswrapper
modinfo: ERROR: Module ndiswrapper not found.
~# ndiswrapper -l
mtkwl6ex : driver installed
device (14C3:7902) present
~$ nmcli connection
NAME UUID TYPE DEVICE
Livebox-xxxxxxxx 90bdcfd0-3bdf-4e83-bc3e-f31e5b4c18fd wifi wlxe4fac451e278
lo f909b88d-0257-4174-ad16-37295c420ebd loopback lo
Livebox-xxxxxx 1c2b204c-63e4-4b79-aa65-cbf69e038b29 wifi --
Wired connection 1 49f2d538-509d-4f64-9ee1-b568dd950ec6 ethernet --
~# en rfkill
ID TYPE DEVICE SOFT HARD
1 wlan asus-wlan unblocked unblocked
2 bluetooth asus-bluetooth unblocked unblocked
3 bluetooth hci0 unblocked unblocked
4 wlan phy1 unblocked unblocked
我还可以检查什么来找出为什么我没有 MT7902 卡的 Wi-Fi 连接?为什么ndiswrapper
找不到?
~# ndiswrapper -v
modinfo: ERROR: Module ndiswrapper not found.
module version is too old!
utils version: '1.9', utils version needed by module: '0'
module details:
modinfo: ERROR: Module ndiswrapper not found.
ndiswrapper
您的DKMS 软件包的状态为added
,而不是installed
。这意味着包含ndiswrapper.ko
内核模块源代码的软件包已下载到系统中,但实际的内核模块尚未构建。因此,ndiswrapper
实用程序命令在尝试查询哪个实用程序版本适用于该模块时会获取一个版本0
...因为模块尚未存在。您可以尝试以
dkms install ndiswrapper/1.60
root 身份运行来修复此问题。然后dkms status
再次运行。如果成功,该dkms status
行ndiswrapper
现在应如下所示:此时,您最终应该有一个
ndiswrapper
与当前内核匹配的可运行模块。您可以通过运行来确认这一点modinfo ndiswrapper
:它现在应该输出多行模块信息而不是错误消息。并且ndiswrapper -v
也应该是成功的。如果
dkms install ndiswrapper/1.60
失败,它会提示你查看日志文件,可能是/var/lib/dkms/ndiswrapper/1.60/6.1.0-28-amd64/x86_64/log/make.log
。这里dkms
记录了模块构建过程中产生的任何错误。