在Pi 3上禁用WiFi(wlan0)


109

有一个将始终使用以太网的Pi 3,因此尝试找出如何禁用WiFi,以使其在重启后甚至无法打开。

如果执行此操作,则会ifconfig看到该wlan0设备。我可以,ifconfig wlan0 down但是重启后会再次恢复。

我尝试注释掉有关wlan0(和wlan1)的任何内容,/etc/network/interfaces但这并没有改变。

eth0 未注释掉,因此可以使用。


您是否也wlan1将该文件中的注释掉了?
Patrick Cook

是。仅剩lo和eth0。
埃文

2
wlan0in 的设置是/etc/network/interfaces什么?如果auto将其更改为manual其次ifdown wlan0
ott--


谢谢,@ ott。您刚刚提醒我,如何在USB WLAN单元静态连接时使内部一站式获取DHCP地址。我只是注释掉了wpa_supplicant行,并添加了ifdown wlan0-再次感谢。
SDsolar

Answers:


39

请参阅以下Ludovic Ronsin关于使用dtoverlay的答案,该方法于2017年1月添加。

这篇文章似乎在谈论这个。答案涉及通过编辑文件/etc/modprobe.d/raspi-blacklist.conf并添加以下内容来禁用驱动程序:

blacklist brcmfmac
blacklist brcmutil

另外,您可以使用crontab -e并添加:

@reboot sudo ifdown wlan0

因此,该命令在每次引导时运行。

希望这会有所帮助,我仍在等待Pi 3到货。


5
黑名单方法对我有用。只是创建一个/etc/modprobe.d/local-blacklist.conf文件,而不是附加到现有文件。
埃文

据我所知,黑名单方法更接近于从管理上降低接口。它不会完全关闭接口电源。
jww

2
@帕特里克·库克第二种方法对我有用,但我需要以root用户身份运行该命令:sudo crontab -e
Matthias Herrmann

1
我喜欢使用crontab来做到这一点。出于风格考虑,我将编辑根crontab而不是其他任何用户,并省略sudo。如果需要伸展运动,请使用ip link set wlan0 down代替ifdown
Threeve

1
如果您使用的是debian Stretch,并且ifdown返回未知接口wlan0,请使用:sudo ifconfig wlan0 down代替。如果仍然无法使用,请使用ifconfig列出所有可用的网络接口。

188

要完全禁用Pi3固件上的板载WiFi,请添加

dtoverlay=disable-wifi

/boot/config.txt中

在此处记录。请确保使用最新固件,此功能已于2017年1月添加

还有一个禁用板载蓝牙的覆盖:disable-bt。如果要禁用wifi和蓝牙,则需要添加以下两行:

dtoverlay=disable-wifi
dtoverlay=disable-bt

18
正确。/boot/config.txt是禁用WiFi和其他外围设备的最干净的方法。
Andrejs Cainikovs

5
是! 接受的答案将使您到达那里,但这是一个更好的方法。
Clay

3
在我写出答案(当前接受的答案)时,我还不知道这种方式,也不知道当时是否可以选择。这是比我的回答中描述的方法优越得多的方法。
帕特里克·库克

2
您撰写答案时,该叠加层不存在。正如我在回复中所述,此内容是在2017年1月添加的。所以不用担心,您说得对!
Ludovic Ronsin '18年

2
@deanresin请参阅更新的响应。TL; DR; dtoverlay配置的工作方式可以看作是一系列命令。它们按照遇到的顺序执行。因此,您可以多次声明它。覆盖参数(如果有的话)用dtparam=...'command' 设置,并参考先前声明的dtoverlay。欲了解更多信息请参阅官方文档raspberrypi.org/documentation/configuration/...
朱利Ronsin

20

您可以使用

sudo iwconfig wlan0 txpower off

这应该禁用wifi适配器。

使用sudo iwconfig wlan0 txpower on再次启用它。

参考:https : //manpages.debian.org/buster/wireless-tools/iwconfig.8.en.html


不,实际上,它确实会永久关闭适配器,直到您重新将其重新装上为止
yavuzaksan

那我会相信你的。将来您可能需要在答案中包含更多解释,因为昨天系统自动将其标记为“低质量”(因为我认为篇幅太长且缺乏格式),这是我注意到的时候。就其本身而言,这并不重要;我解雇了那面旗帜。但是,主持人可以将标志(不对其执行操作)视为“有帮助”,并且,如果它是“低质量”标志,则自动使您
感到沮丧

...我没有那样做,但是其他模组之一可能是出于习惯(或者因为他们同意最初发布的答案并不表示正在付出很大的努力),这就是您的不赞成票(自动的) )和一个(来自我),因为标志有时会留给多个mod审核。请注意,我不喜欢这种“自动降票”政策,实际上对SE Meta抱怨没有用(理由是实际的人将事情标记为低质量,但“忘了”也要降票)。
goldilocks

1
@yavuzaksan我现在似乎无法将其重新打开。
Erutan409

3
@ Erutan409要重新启用wifi适配器,您应该编写两次“ sudo iwconfig wlan0 txpower auto”。但是可以这样说,您应该编写两次,否则它将无法正常工作(我相信固件中存在一些故障)
yavuzaksan


5

除了将其列入黑名单之外(如果您需要重新启动且没有可用的以太网连接,则有被锁定的风险),您还可以按以下方式卸载内核模块:

sudo modprobe -r -v brcmfmac

但是我不确定卸载设备驱动程序是否是一个好主意,因为我担心wlan0设备可能仍会消耗功率,甚至更多,因此,如果未加载设备驱动程序的电源管理功能,那么我目前会保持驱动程序加载,并只需确保通过wlan0的默认路由已禁用:

sudo ip route del default via <Gateway IP> dev wlan0

这将确保所有流量都将通过eth0传递(并希望)更稳定,以此类推,例如ntp守护程序。


2

我使用以下命令wpa_cli terminate,我有该命令/etc/rc.local


1
这将禁用WPA客户端,因此您基本上可以完全关闭无线连接。不要这样
Zimano

2

我使用命令sudo nano /etc/rc.local修改了rc.local,并在其中添加了ifconfig wlan0。但是,如果未连接以太网或未将IP分配给有线接口,则WiFi开启。这提供了无头运行时连接RasPi的备用方法。

如下图所示

_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# Disable WiFi if wired.
logger "Checking Network interfaces..."
if ethtool eth0 | egrep "Link.*yes" && ifconfig eth0 | grep "inet addr"; then
  logger 'Disabling WiFi...'
  ifconfig wlan0 down
else
  logger 'WiFi is still enabled: Ethernet is down or ethtool is not installed.'
fi

exit 0

然后使用CTRL + X保存并重新启动。它似乎对我有用,因为重新启动后ifconfig没有给出wlan0。


2

我正在使用pi作为接入点(WiFi热点)。这对我有用:

# Turn off
sudo service hostapd stop && sudo service isc-dhcp-server stop && sudo ifconfig wlan0 down && sudo service isc-dhcp-server start

并在不重新启动pi的情况下将其重新打开,请运行以下命令:

# Turn on
sudo service isc-dhcp-server stop && sudo ifconfig wlan0 up && sudo service hostapd start && sudo service isc-dhcp-server start

0

其他解决方案是编辑/etc/network/interfaces文件,注释/删除有关Wi-Fi连接(wlan0)的行并添加行:

iface wlan0 inet manual

-4

从Pi 3上的Wifi网络断开连接的最简单方法是输入一些无用的密码!单击您的Wifi网络,它将再次要求输入密码,但这一次输入随机文本,您将被断开连接。


5
启用接口,启用设备(此问题与之相关)与将接口连接到网络(这就是您所谈论的)之间是有区别的。我不认为OP对此感到担心。
goldilocks

@goldilocks好吧,如果Wifi以这种方式断开连接,那么它将始终使用以太网,这就是OP的要求。
Chinmay Sarupria'7

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf针对想要使用此方法的用户进行编辑。
101
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.