Deaktivieren Sie WiFi (wlan0) auf Pi 3

109

Habe einen Pi 3, der immer Ethernet benutzt, also versuche herauszufinden, wie man das WiFi deaktiviert, so dass es sich nach einem Neustart nicht einmal einschaltet.

Wenn ich es tue, ifconfigsehe ich das wlan0Gerät. Ich kann es tun, ifconfig wlan0 downaber es wird nach einem Neustart wieder angezeigt.

Ich habe versucht, irgendetwas über wlan0(und wlan1) in zu kommentieren, /etc/network/interfacesaber das hat keinen Unterschied gemacht.

eth0 wird nicht auskommentiert, damit es verwendet werden kann.

Evan
quelle
Haben Sie das wlan1in dieser Datei auch kommentiert ?
Patrick Cook
Ja. Nur noch lo und eth0 übrig.
Evan
2
Was ist die Einstellung für wlan0in /etc/network/interfaces? Wenn dies der Fall ist, autoändern Sie es in manualgefolgt von ifdown wlan0.
ott--
Vielen Dank, @ott. Sie haben mich nur daran erinnert, dass der Interne keine DHCP-Adresse mehr abruft, während sich die USB-WLAN-Einheit mit static verbindet. Ich habe gerade die Zeile wpa_supplicant auskommentiert und ifdown wlan0 hinzugefügt - Nochmals vielen Dank.
SDsolar

Antworten:

39

Siehe die Antwort von Ludovic Ronsin zur Verwendung von dtoverlay, eine im Januar 2017 hinzugefügte Methode.

Dieser Beitrag scheint darüber zu sprechen. In der Antwort geht es darum, die Treiber zu deaktivieren, indem Sie die Datei bearbeiten /etc/modprobe.d/raspi-blacklist.confund Folgendes hinzufügen:

blacklist brcmfmac
blacklist brcmutil

Alternativ können Sie Folgendes verwenden crontab -eund hinzufügen:

@reboot sudo ifdown wlan0

Dieser Befehl wird also bei jedem Start ausgeführt.

Hoffe das hilft, ich warte immer noch auf mein Pi 3.

Patrick Cook
quelle
5
Die Blacklist-Methode hat bei mir funktioniert. Nur eine /etc/modprobe.d/local-blacklist.confDatei erstellt, anstatt an eine vorhandene Datei anzuhängen.
Evan
Soweit ich weiß, ist die Blacklist-Methode der administrativen Einschränkung der Benutzeroberfläche näher. Die Schnittstelle wird nicht vollständig heruntergefahren.
Jww
2
@Patrick Cook Die zweite Methode funktionierte für mich, aber ich musste diesen Befehl als root ausführen:sudo crontab -e
Matthias Herrmann
1
Ich benutze gerne die Crontab, um es zu tun. Stilmäßig würde ich die Root-Crontab anstelle eines anderen Benutzers bearbeiten und weglassen sudo. Für die Dehnung müssen Sie ip link set wlan0 downanstelle vonifdown
drei
1
Wenn Sie debian stretch verwenden und ifdown die unbekannte Schnittstelle wlan0 zurückgibt, verwenden Sie sudo ifconfig wlan0 downstattdessen :. Wenn es immer noch nicht funktioniert, verwenden Sie, ifconfigum alle verfügbaren Netzwerkschnittstellen aufzulisten.
Mat
188

Um das integrierte WLAN in der Firmware des Pi3 vollständig zu deaktivieren, fügen Sie Folgendes hinzu

dtoverlay=disable-wifi

in /boot/config.txt .

Dies ist hier dokumentiert . Bitte stellen Sie sicher, dass Sie eine aktuelle Firmware verwenden. Diese Funktion wurde im Januar 2017 hinzugefügt .

Es gibt auch einen Overlay an Bord Bluetooth zu deaktivieren: disable-bt. Wenn Sie sowohl WLAN als auch Bluetooth deaktivieren möchten, müssen Sie die folgenden 2 Zeilen hinzufügen:

dtoverlay=disable-wifi
dtoverlay=disable-bt
Ludovic Ronsin
quelle
18
Richtig. /boot/config.txtist die sauberste Möglichkeit, WLAN und andere Peripheriegeräte zu deaktivieren.
Andrejs Cainikovs
5
Ja! Die akzeptierte Antwort wird Sie dorthin bringen, aber dies ist ein viel besserer Weg.
Clay
3
Zu dem Zeitpunkt, als ich meine Antwort schrieb (die aktuell akzeptierte), wusste ich weder davon, noch wusste ich, ob es zu diesem Zeitpunkt überhaupt eine Option war. Dies ist eine weitaus bessere Methode als die in meiner Antwort beschriebene.
Patrick Cook
2
Das Overlay war zum Zeitpunkt Ihrer Antwort noch nicht vorhanden. Wie in meiner Antwort angegeben, wurde dies im Januar 2017 hinzugefügt. Also keine Sorge, Sie hatten Recht!
Ludovic Ronsin
2
@deanresin Siehe aktualisierte Antwort. TL; DR; Die Funktionsweise der dtoverlay-Konfiguration kann als Befehlsfolge angesehen werden. Sie werden in der Reihenfolge ausgeführt, in der sie auftreten. Sie können es also mehrmals deklarieren. Eventuelle Überlagerungsparameter werden mit dtparam=...'command' festgelegt und beziehen sich auf die zuvor deklarierten Parameter dtoverlay. Weitere Informationen finden Sie in der offiziellen Dokumentation unter raspberrypi.org/documentation/configuration/…
Ludovic Ronsin
20

Sie können verwenden

sudo iwconfig wlan0 txpower off

Dies sollte den WLAN-Adapter deaktivieren.

Verwenden Sie sudo iwconfig wlan0 txpower on, um es wieder zu aktivieren.

Referenz: https://manpages.debian.org/buster/wireless-tools/iwconfig.8.de.html

yavuzaksan
quelle
Nein, tatsächlich wird der Adapter endgültig geschlossen, bis Sie ihn wieder
einschalten
Ich werde dann dein Wort dafür nehmen. In Zukunft möchten Sie möglicherweise mehr Erklärungen in Ihre Antwort aufnehmen, da diese gestern vom System automatisch als "niedrige Qualität" (aufgrund der Länge und der fehlenden Formatierung) gekennzeichnet wurde, als ich dies bemerkte. An sich spielt diese Art keine Rolle; Ich habe die Flagge abgewiesen. Ein Moderator kann jedoch eine Flagge als "hilfreich" abweisen (nicht darauf einwirken), und wenn es sich um eine Flagge mit "geringer Qualität" handelt, erhalten Sie automatisch eine Ablehnung ...
Goldlöckchen
... Ich habe das nicht getan, aber einer der anderen Mods hat es wahrscheinlich aus Gewohnheit getan (oder weil sie der ursprünglich veröffentlichten Antwort zugestimmt haben, wurde nicht viel Aufwand betrieben) ) und eins (von mir), da Flaggen manchmal von mehreren Mods überprüft werden. Hinweis: Ich mag diese Richtlinie für automatische Abstimmungen nicht und habe mich tatsächlich vergeblich bei SE Meta darüber beschwert (die Rechtfertigung ist, dass die tatsächlichen Personen Dinge als minderwertig kennzeichnen, aber "vergessen", auch Abstimmungen durchzuführen).
Goldlöckchen
1
@yavuzaksan Ich kann es jetzt nicht wieder einschalten.
Erutan409
3
@ Erutan409 Um den WLAN-Adapter wieder zu aktivieren, solltest du zweimal "sudo iwconfig wlan0 txpower auto" schreiben. aber als
sprichwort solltest
7

Wir haben die HF vom Pi 3 gemessen (bei Verwendung als WiFi-Hotspot) und bestätigt, dass diese Anweisung den WiDi-Sender des Pi bei Verwendung als Hotspot deaktiviert:

sudo ifconfig wlan0 down

Sie können dazu auch einfach eine anklickbare Schaltfläche in der Taskleiste erstellen. Anweisungen finden Sie hier: http://orbisvitae.com/ubbthreads/ubbthreads.php?ubb=showflat&Number=81166#Post81166

Russ
quelle
5

Abgesehen von der schwarzen Liste, bei der das Risiko einer Sperrung besteht, falls ein Neustart erforderlich ist und kein Ethernet verfügbar ist, können Sie das Kernelmodul auch wie folgt entladen:

sudo modprobe -r -v brcmfmac

Ich bin mir jedoch nicht sicher, ob das Entladen der Gerätetreiber eine gute Idee ist, da ich befürchte, dass das wlan0-Gerät immer noch Strom verbraucht, und vor allem, wenn die Energieverwaltungsfunktionen der Gerätetreiber nicht geladen sind. Zur Zeit lade ich die Treiber und stelle einfach sicher, dass das Die Standardroute über wlan0 ist deaktiviert:

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

Dies stellt sicher, dass der gesamte Datenverkehr über eth0 erfolgt und (hoffentlich) stabiler ist, und so weiter, zum Beispiel für den ntp-Daemon.

Schade zehn Napel
quelle
2

Ich benutze den folgenden Befehl wpa_cli terminate, ich habe diesen Befehl in meinem/etc/rc.local

MadAntrax
quelle
1
Dadurch wird der WPA-Client deaktiviert, sodass Sie die drahtlose Verbindung im Grunde genommen vollständig beenden. Tu es nicht.
Zimano
2

Ich habe die rc.local mit dem Befehl sudo nano /etc/rc.local modifiziert und ifconfig wlan0 hinzugefügt. Wenn jedoch keine Ethernet-Verbindung besteht oder der verdrahteten Schnittstelle keine IP-Adresse zugewiesen wurde, ist das WLAN aktiviert. Dies gibt eine Backup-Möglichkeit, um das RasPi zu verbinden, wenn es kopflos läuft.

es sieht aus wie unten,

_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

Speichern Sie dann mit STRG + X und starten Sie neu. Es scheint bei mir zu funktionieren, da ifconfig nach dem Neustart kein wlan0 gibt.

Abhimanyu Shukla
quelle
2

Ich verwende mein Pi als Zugangspunkt (WLAN-Hotspot). Das funktioniert bei mir:

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

Und um es wieder einzuschalten, ohne den pi neu zu starten, führe dies aus:

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

Eine andere Lösung besteht darin, /etc/network/interfacesDateien zu bearbeiten , Zeilen zur WLAN-Verbindung (wlan0) zu kommentieren / zu entfernen und eine Zeile hinzuzufügen:

iface wlan0 inet manual
pbies
quelle
-4

Die einfachste Möglichkeit, die Verbindung zu einem Wifi-Netzwerk auf Pi 3 zu trennen, ist die Eingabe eines unbrauchbaren Passworts! Klicken Sie auf Ihr Wifi-Netzwerk. Sie werden erneut nach einem Passwort gefragt. Geben Sie diesmal einen zufälligen Text ein und die Verbindung wird getrennt.

Chinmay Sarupria
quelle
5
Es gibt einen Unterschied zwischen einer aktivierten Schnittstelle, einem aktivierten Gerät (worum es in dieser Frage geht) und einer mit einem Netzwerk verbundenen Schnittstelle, worüber Sie sprechen. Ich glaube nicht, dass das OP diesbezüglich Bedenken hat.
Goldlöckchen
@goldilocks Nun, wenn Wifi auf diese Weise getrennt wird, wird es immer Ethernet verwenden und das ist, was OP verlangt.
Chinmay Sarupria
Oder bearbeiten Sie mit sudo nano /etc/wpa_supplicant/wpa_supplicant.conffür diejenigen, die diese Methode verwenden möchten.
101