Wyłącz WiFi (wlan0) na Pi 3

109

Mam Pi 3, który zawsze będzie korzystał z Ethernetu, więc próbuję wymyślić, jak wyłączyć Wi-Fi, aby nawet nie włączało się po ponownym uruchomieniu.

Jeśli to zrobię ifconfigi zobaczę wlan0urządzenie. Mogę zrobić, ifconfig wlan0 downale po ponownym uruchomieniu wróci ponownie.

Próbowałem komentować cokolwiek na temat wlan0(i wlan1) w, /etc/network/interfacesale to nie miało znaczenia.

eth0 nie jest komentowany, więc można go użyć.

Evan
źródło
Czy również skomentowałeś wlan1w tym pliku?
Patrick Cook
Tak. Zostało tylko lo i eth0.
Evan
2
Jakie jest ustawienie wlan0w /etc/network/interfaces? Jeśli jest autogo zmienić manual, a następnie ifdown wlan0.
ott--
Dzięki, @ott. Właśnie przypomniałeś mi, jak sprawić, by wewnętrzny przestał pobierać adres DHCP, podczas gdy urządzenie USB WLAN łączy się statycznie. Właśnie skomentowałem wiersz wpa_supplicant i dodałem ifdown wlan0 - Jeszcze raz dziękuję.
SDsolar

Odpowiedzi:

39

Zobacz odpowiedź Ludovica Ronsina poniżej na temat korzystania z dtoverlay, metody dodanej w styczniu 2017 r.

Ten post wydaje się mówić o tym. Odpowiedź mówi o wyłączeniu sterowników poprzez edycję pliku /etc/modprobe.d/raspi-blacklist.confi dodanie:

blacklist brcmfmac
blacklist brcmutil

Alternatywnie możesz użyć crontab -ei dodać:

@reboot sudo ifdown wlan0

Więc to polecenie działa przy każdym uruchomieniu.

Mam nadzieję, że to pomoże, wciąż czekam na moje Pi 3.

Patrick Cook
źródło
5
Metoda czarnej listy działała dla mnie. Właśnie utworzyłem /etc/modprobe.d/local-blacklist.confplik zamiast dołączać do istniejącego pliku.
Evan
O ile mi wiadomo, metoda czarnej listy jest bliższa administracyjnemu obniżeniu poziomu interfejsu. Nie wyłącza całkowicie interfejsu.
jww
2
@Patrick Cook Druga metoda działała dla mnie, ale musiałem uruchomić tę komendę jako root:sudo crontab -e
Matthias Herrmann
1
Lubię to robić przy pomocy crontab. Ze względu na styl edytowałbym root crontab zamiast jakiegokolwiek innego użytkownika i pomijałem go sudo. Aby rozciągnąć, musisz użyć ip link set wlan0 downzamiastifdown
trzy
1
Jeśli używasz debian stretch i ifdown zwraca nieznany interfejs wlan0, użyj: sudo ifconfig wlan0 downzamiast. Jeśli nadal nie działa, użyj, ifconfigaby wyświetlić listę wszystkich dostępnych interfejsów sieciowych.
mat
188

Aby całkowicie wyłączyć wbudowane Wi-Fi w oprogramowaniu wbudowanym w Pi3, dodaj

dtoverlay=disable-wifi

w /boot/config.txt .

Jest to udokumentowane tutaj . Pamiętaj, aby użyć aktualnego oprogramowania układowego, ta funkcja została dodana w styczniu 2017 r .

Istnieje również nakładki na pokładzie wyłączenie bluetooth: disable-bt. Jeśli chcesz wyłączyć zarówno Wi-Fi, jak i Bluetooth, musisz dodać te 2 linie:

dtoverlay=disable-wifi
dtoverlay=disable-bt
Ludovic Ronsin
źródło
18
Poprawny. /boot/config.txtto najczystszy możliwy sposób wyłączenia Wi-Fi i innych urządzeń peryferyjnych.
Andrejs Cainikovs
5
Tak! Zaakceptowana odpowiedź doprowadzi cię tam, ale jest to o wiele lepszy sposób.
Clay
3
W chwili, gdy pisałem swoją odpowiedź (obecnie zaakceptowaną), nie wiedziałem o tym w ten sposób, ani nie wiem, czy w tym czasie była to nawet opcja. Jest to metoda znacznie lepsza niż ta opisana w mojej odpowiedzi.
Patrick Cook
2
Nakładka nie istniała w momencie pisania odpowiedzi. Jak stwierdzono w mojej odpowiedzi, zostało to dodane w styczniu 2017 r. Nie martw się, masz rację!
Ludovic Ronsin
2
@deanresin Zobacz zaktualizowaną odpowiedź. TL; DR; Sposób działania konfiguracji dtoverlay można traktować jako sekwencję poleceń. Są one wykonywane w kolejności ich napotkania. Możesz więc zadeklarować to więcej niż raz. Parametry nakładki, jeśli występują, są ustawiane za pomocą dtparam=...polecenia i odnoszą się do poprzednio zadeklarowanych dtoverlay. Aby uzyskać więcej informacji, zobacz oficjalną dokumentację na raspberrypi.org/documentation/configuration/...
Ludovic Ronsin,
20

Możesz użyć

sudo iwconfig wlan0 txpower off

To powinno wyłączyć adapter WiFi.

Użyj, sudo iwconfig wlan0 txpower onaby włączyć ponownie.

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

yavuzaksan
źródło
nie, faktycznie powoduje trwałe zamknięcie adaptera, dopóki go nie wrócisz
yavuzaksan
Uwierzę ci na słowo. W przyszłości możesz chcieć dołączyć więcej wyjaśnień do swojej odpowiedzi, ponieważ wczoraj zostało to automatycznie oznaczone przez system jako „niskiej jakości” (z uwagi na długość i brak formatowania) przez system, kiedy to zauważyłem. Samo to nie ma znaczenia; Odrzuciłem flagę. Moderator może jednak odrzucić flagę (nie działać na nią) jako „pomocną”, a jeśli była to flaga „niskiej jakości”, automatycznie otrzyma ocenę negatywną ...
goldilocks
... nie zrobiłem tego, ale jeden z innych modów prawdopodobnie zrobił to z przyzwyczajenia (lub ponieważ zgodzili się, że odpowiedź, ponieważ pierwotnie opublikowana, nie oznaczała dużego wysiłku), w ten sposób otrzymałeś jeden głos w dół (automatyczne ) i jeden w górę (ode mnie), ponieważ flagi są czasami pozostawione do sprawdzenia przez wiele modów. Uwaga: Nie podoba mi się ta zasada „automatycznego przegłosowania” i faktycznie narzekałam na SE Meta na to bezskutecznie (uzasadnienie jest takie, że faktyczni ludzie zgłaszają rzeczy jako niskiej jakości, ale „zapominają” również głosować).
złotowłosa
1
@yavuzaksan Nie mogę teraz włączyć go z powrotem.
Erutan409,
3
@ Erutan409, aby ponownie włączyć adapter WiFi, należy napisać dwa razy „sudo iwconfig wlan0 txpower auto”. ale jako powiedzenie powinieneś napisać to dwa razy, w przeciwnym razie nie zadziała (wierzę, że w oprogramowaniu jest pewna usterka)
yavuzaksan
7

Zmierzyliśmy RF z Pi 3 (gdy jest używany jako hotspot Wi-Fi) i potwierdziliśmy, że to oświadczenie wyłącza nadajnik WiDi Pi, gdy jest używany jako gorący punkt:

sudo ifconfig wlan0 down

Aby to zrobić, możesz również łatwo utworzyć klikalny przycisk na pasku zadań. Instrukcje znajdują się tutaj: http://orbisvitae.com/ubbthreads/ubbthreads.php?ubb=showflat&Number=81166#Post81166

Russ
źródło
5

Oprócz czarnej listy, na której istnieje ryzyko blokady na wypadek, gdyby konieczne było ponowne uruchomienie komputera i brak dostępu do sieci Ethernet, możesz również zwolnić moduł jądra w następujący sposób:

sudo modprobe -r -v brcmfmac

Ale nie jestem pewien, czy rozładowywanie sterowników urządzeń jest dobrym pomysłem, ponieważ obawiam się, że urządzenie wlan0 może nadal pobierać moc, a nawet więcej, jeśli funkcje zarządzania energią sterowników urządzeń nie są załadowane, obecnie utrzymuję sterowniki i po prostu upewniam się, że domyślna trasa przez wlan0 jest wyłączona:

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

Dzięki temu cały ruch będzie przesyłany przez eth0 i (miejmy nadzieję) będzie bardziej stabilny i tak dalej, na przykład dla demona NTTP.

Harm ten Napel
źródło
2

Używam następującego polecenia wpa_cli terminate, mam to polecenie w swoim/etc/rc.local

MadAntrax
źródło
1
To wyłącza klienta WPA, więc po prostu całkowicie wyłączasz łączność bezprzewodową. Nie rób tego
Zimano
2

Zmodyfikowałem plik rc.local za pomocą polecenia sudo nano /etc/rc.local i dodałem w nim ifconfig wlan0. Jeśli jednak Ethernet nie jest podłączony lub IP nie jest przypisany do interfejsu przewodowego, WiFi jest włączone. Daje to zapasowy sposób na podłączenie RasPi podczas pracy bez głowy.

wygląda jak poniżej

_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

Następnie zapisz za pomocą CTRL + X i uruchom ponownie. Wydaje mi się, że działa, ponieważ po ponownym uruchomieniu ifconfig nie daje wlan0.

Abhimanyu Shukla
źródło
2

Używam mojego pi jako punktu dostępu (hotspot Wi-Fi). To działa dla mnie:

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

Aby włączyć go ponownie bez ponownego uruchamiania pi, uruchom to:

# Turn on
sudo service isc-dhcp-server stop && sudo ifconfig wlan0 up && sudo service hostapd start && sudo service isc-dhcp-server start
nmrugg
źródło
0

Innym rozwiązaniem jest edycja /etc/network/interfacespliku, komentowanie / usuwanie wierszy o połączeniu Wi-Fi (wlan0) i dodawanie wiersza:

iface wlan0 inet manual
pbies
źródło
-4

Najłatwiejszym sposobem na odłączenie się od sieci Wi-Fi na Pi 3 jest wprowadzenie niepotrzebnego hasła! Kliknij swoją sieć Wi-Fi, ponownie poprosi o hasło, ale tym razem wpisz losowy tekst i zostaniesz rozłączony.

Chinmay Sarupria
źródło
5
Istnieje różnica między włączeniem interfejsu, włączeniem urządzenia (o którym jest to pytanie), a połączeniem interfejsu z siecią, o czym mówisz. Nie sądzę, żeby OP był tym zaniepokojony.
złotowłosa
@goldilocks Cóż, jeśli Wi-Fi zostanie odłączone w ten sposób, zawsze będzie korzystało z Ethernetu i właśnie o to prosi OP.
Chinmay Sarupria
Lub edytuj za pomocą sudo nano /etc/wpa_supplicant/wpa_supplicant.confdla tych, którzy chcą skorzystać z tej metody.
101