如何完全删除无线接口(并重新添加)?

如何完全删除无线接口(并重新添加)?

我正在尝试使用新的 USB 无线接口 (atheros ar9271),但我的板载无线接口 (intel 6200) 对其产生干扰。我的目标是能够打开射频终止开关(即启用无线),以便我可以使用外部无线适配器,而根本不显示板载无线。如果需要的话,我还希望能够在以后重新添加它。有人建议使用 rmmod,但我对此不熟悉,而且我不知道如何识别板载无线正在使用哪个模块。

总结一下:如何识别该模块(假设这是解决此问题的正确方法)然后将其删除?问题 2:稍后如何重新添加该模块,以便再次检测到板载无线网络?

运行 Fedora 21。板载无线网络为 wlan0。

答案1

在 Linux 上,您可以使用以下命令找出网络接口正在使用哪个驱动程序:

ls -l /sys/class/net/<interface name>/device/driver

您可以rmmod这样做,除非它静态链接到正在运行的内核(对于分发内核和无线驱动程序来说不太可能)。请注意使用相同驱动程序的任何其他接口,这些接口将同时被删除(但在这种情况下,系统上不太可能有任何其他接口使用相同的驱动程序)。ip link set <interface name> down在删除其驱动程序之前,您可能希望/需要确保接口已关闭。

要再次添加,请使用modprobe相同的驱动程序名称。

如果无线设备是 PCI 设备,您可以通过“启用”和“删除”等操作进行控制而不是删除驱动程序:

# Get rid of the device (but does not power it off)
# Might not be reversible, I'm not sure
echo 1 >/sys/class/net/<interface name>/device/remove

相关内容