Вимкнути WiFi (wlan0) на Pi 3


109

Отримав Pi 3, який завжди використовуватиме Ethernet, тому намагаюся розібратися, як відключити WiFi, щоб він навіть не включався після перезавантаження.

Якщо я це роблю, ifconfigя бачу wlan0пристрій. Я можу зробити, ifconfig wlan0 downале він знову з’явиться після перезавантаження.

Я спробував коментувати що-небудь про wlan0wlan1) в, /etc/network/interfacesале це не змінило значення.

eth0 не коментується, тому його можна використовувати.


Ви також прокоментували wlan1цей файл?
Патрік Кук

Так. Залишилися лише lo і eth0.
Еван

2
Що таке установка для wlan0в /etc/network/interfaces? Якщо це autoзмінити, його manualслід ifdown wlan0.
ott--


Дякую, @ott. Ви щойно нагадали мені, як внутрішня одна зупинка захоплює DHCP-адресу, поки пристрій USB WLAN з'єднується зі статичним. Я просто прокоментував рядок wpa_supplicant і додав ifdown wlan0 - Ще раз дякую.
SDsolar

Відповіді:


39

Дивіться відповідь Людовика Ронсіна нижче про використання dtoverlay - методу, доданого в січні 2017 року.

Цей пост, здається, говорить про це. Відповідь говорить про відключення драйверів, відредагувавши файл /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
@Patrick Cook Другий метод працював у мене, але мені потрібно було виконати цю команду як корінь:sudo crontab -e
Matthias Herrmann

1
Мені подобається використовувати crontab для цього. Що стосується стилю, я б відредагував кореневий crontab замість будь-якого іншого користувача, і не залишив його sudo. Для розтяжки вам потрібно використовувати ip link set wlan0 downзамістьifdown
тринадцять

1
Якщо ви використовуєте розтягування debian і ifdown повертає невідомий інтерфейс wlan0, тоді використовуйте: sudo ifconfig wlan0 downнатомість. Якщо вона все ще не працює, використовуйте ifconfigдля переліку всіх доступних мережевих інтерфейсів.
мат

188

Щоб повністю відключити вбудований WiFi від прошивки на Pi3, додайте

dtoverlay=disable-wifi

в /boot/config.txt .

Це задокументовано тут . Будь ласка, не забудьте використовувати сучасну прошивку, ця функція була додана в січні 2017 року .

Існує також накладення для відключення бортового Bluetooth: disable-bt. Якщо ви хочете відключити Wi-Fi і Bluetooth, вам потрібно додати ці 2 рядки:

dtoverlay=disable-wifi
dtoverlay=disable-bt

18
Правильно. /boot/config.txt- це найчистіший можливий спосіб відключення WiFi та інших периферійних пристроїв.
Андрейс Кайніков

5
Так! Прийнята відповідь потрапить вас туди, але це набагато кращий спосіб.
Глина

3
У той час, коли я писав свою відповідь (поточну прийняту), я не знав цього шляху, і не знаю, чи це був навіть варіант на той час. Це набагато кращий метод, ніж той, який описаний у моїй відповіді.
Патрік Кук

2
Накладання не існувало в той момент, коли ви писали свою відповідь. Як було сказано у моїй відповіді, це було додано в січні 2017 року. Тож не хвилюйтесь, ви мали рацію!
Людовик Ронсін

2
@deanresin Будь ласка, дивіться оновлену відповідь. TL; DR; Те, як працює конфігурація dtoverlay, можна розглядати як послідовність команд. Вони виконуються в порядку, з яким вони стикаються. Тож ви можете заявити про це не раз. Параметри накладення, якщо такі є, встановлюються dtparam=...командою 'і відносяться до попереднього оголошеного 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

Я тоді візьму ваше слово. Надалі ви, можливо, захочете включити більше пояснень у свою відповідь, оскільки це вчора автоматично позначено системою як «низька якість» (через те, що я думаю, що це тривалість та відсутність форматування), що саме я помітив. Сам по собі такий вид не має значення; Я відпустив прапор. Однак модератор може відхилити прапор (не діяти на ньому) як "корисний", і якщо це був прапор "низької якості", він автоматично отримує вам голову ...
goldilocks

... Я цього не робив, але один з інших модників, ймовірно, зробив це за звичкою (або тому, що вони погодилися, що відповідь, як спочатку було опубліковано, не вказує на багато зусиль) ) і один вгору (від мене), оскільки прапори іноді залишаються для перегляду декількома модами. Зауважте, що мені не подобається ця політика щодо автоматичного знищення, і я поскаржився на SE Meta на це безрезультатно (виправдання полягає в тому, що фактичні люди позначають речі як низьку якість, але "забувають" також знижувати).
goldilocks

1
@yavuzaksan, я, здається, зараз не можу повернути це.
Ерутан409

3
@ Erutan409 для повторного включення Wi-Fi адаптера ви повинні два рази написати "sudo iwconfig wlan0 txpower auto". але, скажімо, ви повинні написати це два рази, інакше це не буде працювати (я вважаю, в прошивці є деякі збої)
yavuzaksan

7

Ми виміряли РЧ від Pi 3 (коли він використовується як гаряча точка WiFi) і підтвердили, що це твердження вимикає передавач WiDi Pi при використанні в якості гарячої точки:

sudo ifconfig wlan0 down

Ви також можете легко створити кнопку, яку можна натиснути на панелі завдань, щоб це зробити. Інструкції можна знайти тут: http://orbisvitae.com/ubbthreads/ubbthreads.php?ubb=showflat&Number=81166#Post81166


5

Крім чорного списку, який загрожує блокуванням у випадку, якщо вам потрібно перезавантажити систему, а мережа Ethernet недоступна, ви також можете вивантажити модуль ядра наступним чином:

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

Я змінив rc.local за допомогою команди sudo nano /etc/rc.local і додав в нього ifconfig wlan0. Однак якщо Ethernet не підключений або IP не призначений для дротового інтерфейсу, то Wi-Fi увімкнено. Це дає резервний спосіб підключення 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

Найпростіший спосіб відключитися від мережі Wifi на Pi 3 - це ввести якийсь непотрібний пароль! Клацніть на вашій мережі Wifi, вона знову запитає пароль, але цього разу введіть випадковий текст, і ви будете відключені.


5
Існує різниця між увімкненим інтерфейсом, включеним пристроєм (про який йдеться у цьому питанні) та тим, що інтерфейс підключений до мережі, про що ви говорите. Я не думаю, що ОП це стосується.
goldilocks

@goldilocks Добре, якщо Wi-Fi відключений таким чином, він завжди використовуватиме Ethernet, і це те, про що вимагає ОП.
Chinmay Sarupria

Або відредагуйте sudo nano /etc/wpa_supplicant/wpa_supplicant.confдля тих, хто хоче скористатися цим методом.
101
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.