我的台式机是Fedora 36。我想使用USB WiFi腾达W311MI。我插入了这个 Nano USB 适配器,lsusb
看起来:
uname -a
Linux mn 5.18.13-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 22 14:03:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/fedora-release
Fedora release 36 (Thirty Six)
[mn:~] lsusb
Bus 001 Device 008: ID 0bda:b711 Realtek Semiconductor Corp. RTL8188GU 802.11n WLAN Adapter (After Modeswitch)
...
但我在网络控制面板上看不到无线网卡。
我尝试安装 Linux 的驱动程序,但 Tenda 遇到了一些麻烦。我最后找到的驱动程序是:
DPO_MT7601U_LinuxSTA_3.0.0.4_20130913
所以看起来很旧。我尝试编译它,但没有成功:
[root@mn DPO_MT7601U_LinuxSTA_3.0.0.4_20130913]# make
make -C tools
make[1]: Wejście do katalogu '/home/mn/Pobrane/tenda/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools'
gcc -g bin2h.c -o bin2h
make[1]: Opuszczenie katalogu '/home/mn/Pobrane/tenda/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools'
/home/mn/Pobrane/tenda/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools/bin2h
cp -f os/linux/Makefile.6 /home/mn/Pobrane/tenda/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/Makefile
make -C /lib/modules/5.18.13-200.fc36.x86_64/build SUBDIRS=/home/mn/Pobrane/tenda/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux modules
make[1]: Wejście do katalogu '/usr/src/kernels/5.18.13-200.fc36.x86_64'
scripts/Makefile.build:458: uwaga: polecenia zakrywające dla obiektu 'modules.order'
Makefile:1439: uwaga: ignoruję stare polecenia dla obiektu 'modules.order'
DESCEND objtool
make[3]: *** [Makefile:55: /usr/src/kernels/5.18.13-200.fc36.x86_64/tools/objtool/objtool-in.o] Błąd 1
make[2]: *** [Makefile:69: objtool] Błąd 2
make[1]: *** [Makefile:1345: tools/objtool] Błąd 2
make[1]: Opuszczenie katalogu '/usr/src/kernels/5.18.13-200.fc36.x86_64'
make: *** [Makefile:395: LINUX] Błąd 2
我需要这个驱动程序(也许是较新版本的 Fedora wor)吗?如何让我的 WiFi 适配器与我的 Fedora 机器配合使用?
答案1
从lsusb
输出来看,这款WiFi适配器采用了Realtek RTL8188GU芯片。
该驱动程序似乎支持该芯片,并且还针对 5.18 内核进行了更新:https://github.com/McMCCRU/rtl8188gu
使用git
版本控制工具下载驱动源码:
git clone https://github.com/McMCCRU/rtl8188gu.git
之后,按照 Github 页面上的说明进行安装:
cd rtl8188gu
make
sudo make install
每次使用新内核版本引导系统时,您都需要重复这 3 个步骤。
如果 WiFi 适配器显示为包含 Windows 驱动程序的 CD-ROM 驱动器,请运行eject /dev/cdrom0
或eject /dev/sr0
使其进入 WiFi 适配器模式。每次插入适配器/启动适配器时,您很可能都必须执行此操作,因此您可能需要配置usb_modeswitch
自动为您执行此步骤。
usb_modeswitch
应该已经包含在现代 Fedora 中,或者如果您选择了最小安装,至少可以作为 Fedora 标准软件包存储库中的软件包使用。如果它尚未自动处理您的设备,您可能需要将配置文件添加到 /etc/usb_modeswitch.d/ 命名0bda:b711
(即匹配 USB 供应商:设备的产品 ID),其中包含以下内容:
StandardEject=1
您还需要设置一个 udev 规则,以便usb_modeswitch
在检测到 WiFi 适配器时调用。您的发行版应该已经有很多这样的规则/lib/udev/rules.d/40-usb_modeswitch.rules
:使用正确的 USB 供应商和产品 ID 制定类似的规则,并将您的自定义规则写入/etc/udev/rules.d/40-wifi-usb_modeswitch.rules
(在您创建它之前它不会存在),这样它就不会被覆盖相应的软件包得到更新。