我购买了TP-LINK双频5G无线网卡WDN5200,需要在Linux系统上为其安装驱动rtl8821cu。下载源码完成编译后,驱动模块8821cu.ko默认的安装位置为:
/lib/modules/4.19.0-12-amd64/kernel/drivers/net/wireless/8821cu.ko
当然,最好还是将其放在如下的目录中:
/lib/modules/4.19.0-12-amd64/kernel/drivers/net/wireless/realtek/rtl8821cu/
接下来,可按如下步骤使用该网卡。
插入USB无线网卡。
在命令行终端执行lsusb
命令,在其输出的信息中找到与网卡对应的vendor ID与product ID。
$ lsusb | grep -i realtek Bus 004 Device 009: ID 0bda:c811 Realtek Semiconductor Corp.
由于插入USB无线网卡后,Linux系统默认会将其识别为外部存储设备,所以需要在sudo
模式下执行usb_modeswitch
,将USB无线网卡弹出(eject)。之后,就可以正常使用无线网卡了。
$ sudo usb_modeswitch -KW -v 0bda -p c811
usb_modeswitch
的参数含义为:
-K
:Apply the standard SCSI sequence of "Allow Medium Removal" and "Eject".
-W
:Print all settings before running and show libusb debug messages
-v
:vendor ID
-p
:product ID
上述手动弹出USB的操作可以通过加入usb_modeswitch
规则而实现自动化。打开文件/lib/udev/rules.d/40-usb_modeswitch.rules
。在其最后一行LABEL="modeswitch_rules_end"
之前加入如下内容即可。
# Realtek rtl8821cu wifi USB. ATTR{idVendor}=="0bda", ATTR{idProduct}=="c811", RUN+="usb_modeswitch -K -v 0bda -p c811"