如何禁用内置wifi并仅使用USB wifi卡?

Mat*_*att 88 wireless

我的笔记本电脑(戴尔 XPS M1330)中的内置 wifi 卡几乎是废话。我有一个明显更好的华硕 USB wifi 卡,它工作正常。我想做的是禁用内置wifi卡。有没有办法做到这一点(每次我想禁用/启用内置无线时都不必启动到 BIOS)?

@mikewhatever:这是这些输出

matt@sbod:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0b05:179d ASUSTek Computer, Inc. 
Bus 002 Device 004: ID 05a9:2640 OmniVision Technologies, Inc. OV2640 Webcam
Bus 007 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
matt@sbod:~$ lspci -nnk | grep -iA2 net
09:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express [14e4:1713] (rev 02)
    Subsystem: Dell XPS M1330 [1028:0209]
    Kernel driver in use: tg3
--
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)
    Subsystem: Dell Wireless 1395 WLAN Mini-Card [1028:000b]
    Kernel driver in use: wl
Run Code Online (Sandbox Code Playgroud)

Eri*_*lho 77

将以下行添加到/etc/network/interfaces

iface wlan0 inet manual

NetworManager 不管理interfaces文件中配置的接口。wlan0如果不是内置接口的名称,则替换为要禁用的接口。

然后重启网管

sudo service network-manager restart

  • @Matt 使用 `sudo nano /etc/network/interfaces` 进行编辑,添加行,保存并退出(Ctrl+O、ENTER、Ctrl+X)。 (5认同)
  • 就我而言,它是“wifi0”而不是“wlan0”(Lubuntu 16)。检查“ifconfig”以获取正确的设备名称。 (4认同)
  • 仅供参考,这个答案自 2016 年以来就没有更新过。我在 Xubuntu 20.04 上的 etc/network/ 中找不到“接口”。是因为操作系统略有不同还是我错过了其他东西。只有这个答案对我有用:https://askubuntu.com/a/1320155/327339 (3认同)
  • 识别逻辑设备名称可能会令人困惑。`ifconfig` 在这方面绝对没有帮助。执行“sudo lshw -C network”以将纯英文描述与逻辑设备名称相匹配。例如,我运行 Mint 的戴尔 Lattitude 上的内置是“wlp3s0”,而外部 wifi (usb) 是“wlx9cefd5fcd694”。 (2认同)

Ger*_*ger 25

我认为最简单的方法是使用ifconfig.
编辑 2021-03-02:显然,如果您仍在使用 ifconfig,那么您就生活在过去,因此请查看下面Gabriel 的答案以获取ip解决方案。阅读下面的旧ifconfig解决方案。


ifconfig解决方案:
运行

ifconfig
Run Code Online (Sandbox Code Playgroud)

然后看看你想关闭哪个适配器,在我的情况下wlan1是我的内部wifi,wlan2是我的usb wifi。然后运行

sudo ifconfig wlan1 down
Run Code Online (Sandbox Code Playgroud)

它将关闭(键入ifconfig以检查,请注意,在网络管理器中,适配器仍显示,但已关闭)。要再次打开它:

sudo ifconfig wlan1 up
Run Code Online (Sandbox Code Playgroud)

就是这样。

  • 似乎`sudo lshw -C network` 给出了一个项目列表,这些项目的“逻辑名称”是与“sudo ifconfig [logical name] up”一起使用的项目。 (4认同)
  • 对于 16.04 的我来说,这会导致界面从 `ifconfig` 中消失一会儿,但很快就会重新出现并重新连接。 (2认同)

Lnx*_*lck 16

要将无线网卡的模块列入黑名单:

  1. sudo vi /etc/modprobe.d/blacklist.conf (或创建一个自定义)
  2. 取消注释# 行开头有 a 的模块名称:

    blacklist eth1394
    
    Run Code Online (Sandbox Code Playgroud)
  3. 保存、运行sudo update-initramfs -u和重启

要在不重新启动的情况下手动删除模块:

sudo modprobe -r eth1394
Run Code Online (Sandbox Code Playgroud)

重启后效果消失。

加载模块:

sudo modprobe eth1394
Run Code Online (Sandbox Code Playgroud)

查看加载的模块:

sudo lsmod
Run Code Online (Sandbox Code Playgroud)

  • 如果您想将 eth1394 列入黑名单,您不_取消注释_该行或添加新行吗?否则这就是我需要的谢谢! (3认同)

Gab*_*les 13

这个答案已经过测试,并且可以(至少)在 Ubuntu 20.04 上使用我的 BrosTrend 1200Mbps Wifi 适配器工作。请在此处查看我的BrosTrendWifiAdapterSoftware存储库。另请参阅我的其他答案

如何任意启用/禁用网络(以太网或 WiFi)设备

如何禁用内置 wifi 并仅使用 USB wifi 卡?

  1. 拔下外部 USB WiFi 适配器。
  2. 运行iwconfig看看你的内置适配器是什么样子的。我的显示wlan0。这就是我的内置 wifi 适配器!
  3. 现在插入外部USB WiFi 适配器并iwconfig再次运行以查看刚刚出现的设备。显示的这个新设备iwconfig就是您刚刚插入的设备,因此我们可以知道它是外部 USB WiFi 适配器。我的显示wlan3
  4. 运行以下命令禁用内部 WiFi 适配器wlan0
    # recommended (newer cmd)
    sudo ip link set wlan0 down
    # alternative (apparently an older cmd)
    sudo ifconfig wlan0 down
    
    Run Code Online (Sandbox Code Playgroud)
  5. 完毕!
  6. 如果您想重新启用内部 WiFi 卡(wlan0正如我们上面所发现的),请运行:
    # recommended (newer cmd)
    sudo ip link set wlan0 up
    # alternative (apparently an older cmd)
    sudo ifconfig wlan0 up
    
    
    Run Code Online (Sandbox Code Playgroud)

参考:

  1. ifconfig格哈德·伯格的回答
  2. 注意:显然这个ip link set命令是为了取代旧的(显然/据说现在已弃用?)ifconfigcmd!请参阅: https: //www.redhat.com/sysadmin/ifconfig-vs-ip --> 中的“趋势是什么?”部分 和“启用和禁用接口”。

也可以看看:

  1. 我的另一个答案是:如何禁用内置 wifi 并仅使用 USB wifi 卡?
  2. [我的答案] Unix & Linux Stack Exchange:“如何在没有物理适配器的机器上创建虚拟以太网接口?”

  • 谢谢,当最重要的答案不起作用时,这有效。已投赞成票。 (4认同)
  • 很惊讶在我出现之前没有人投票,很好的答案 (2认同)

小智 7

连接 USB Wi-Fi 加密狗并禁用内部 Wi-Fi 适配器,如下所示:

  1. 通过以下方式识别您的适配器的名称:

    ip link | grep wl
    
    Run Code Online (Sandbox Code Playgroud)

    或者:

    ifconfig | grep wl
    
    Run Code Online (Sandbox Code Playgroud)

    适配器的名称应类似于wlp2s0wlan0,其中名称中的数字可以是您的情况下的任何数字。

  2. 通过以下方式禁用适配器:

    sudo ip link set wlp2s0 down
    
    Run Code Online (Sandbox Code Playgroud)

    或者:

    sudo ifconfig wlan0 down
    
    Run Code Online (Sandbox Code Playgroud)

    根据您的情况,分别替换适配器的名称。

这将确保只有 USB Wi-Fi 适配器处于活动状态,即使内部 Wi-Fi 驱动程序仍处于活动状态。


或者

禁用内部Wi-Fi驱动模块:

sudo modprobe -r iwlmvm
Run Code Online (Sandbox Code Playgroud)

这将确保只有 USB Wi-Fi 加密狗处于活动状态。


Nic*_*mel 5

如今大多数笔记本电脑都配备了英特尔无线卡,您可以使用以下命令轻松禁用它:

sudo modprobe -r iwlwifi
Run Code Online (Sandbox Code Playgroud)

或使用以下方法永久禁用并列入黑名单:

sudo modprobe -r iwlwifi; sudo modprobe -b iwlwifi
Run Code Online (Sandbox Code Playgroud)

我在笔记本电脑上执行此操作,使用高增益 TP-Link 适配器而不是内部 Wi-Fi 卡。