Отключить WiFi (wlan0) на Pi 3

109

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

Если я делаю, ifconfigя вижу wlan0устройство. Я могу сделать, ifconfig wlan0 downно он снова вернется после перезагрузки.

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

eth0 не закомментировано, поэтому его можно использовать.

Evan
источник
Вы также закомментировали wlan1этот файл?
Патрик Кук
Да. Остались только вот и эт0.
Эван
2
Какие настройки для wlan0в /etc/network/interfaces? Если это autoизменить, чтобы manualследовать ifdown wlan0.
ot--
Спасибо, @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 Второй метод работал для меня, но мне нужно было запустить эту команду от имени root:sudo crontab -e
Matthias Herrmann
1
Мне нравится использовать crontab, чтобы сделать это. В качестве стиля я бы отредактировал корневой каталог вместо любого другого пользователя и пропустил его sudo. Для растяжки, вы должны использовать ip link set wlan0 downвместоifdown
Threeve
1
Если вы используете debian stretch и 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/…
Людовик Ронсин
20

Вы можете использовать

sudo iwconfig wlan0 txpower off

Это должно отключить адаптер Wi-Fi.

Используйте, sudo iwconfig wlan0 txpower onчтобы включить его снова.

Ссылка: https://manpages.debian.org/buster/wireless-tools/iwconfig.8.en.html

yavuzaksan
источник
нет, на самом деле он постоянно закрывает адаптер, пока вы не
включите
Я приму ваше слово для этого тогда. В будущем вы, возможно, захотите включить больше объяснений в свой ответ, поскольку вчера система автоматически пометила это как «низкое качество» (я думаю, из-за длины и отсутствия форматирования), когда я это заметила. Само по себе это не имеет значения; Я распустил флаг. Тем не менее, модератор может отклонить флаг (а не действовать на него) как «полезный», и, если это был флаг «низкого качества», это автоматически приведет вас к понижению ...
goldilocks
... Я этого не делал, но один из других модов, вероятно, сделал по привычке (или потому что они согласились, что ответ в том виде, в котором он был первоначально опубликован, не указывал на приложенные усилия), и именно так вы получили один отрицательный голос (автоматически ) и один вверх (от меня), так как флаги иногда оставляются для просмотра несколькими модами. Заметьте, мне не нравится эта политика "автоматического понижения", и я на самом деле жаловался на SE Meta на это безрезультатно (оправдание состоит в том, что реальные люди отмечают вещи как низкое качество, но "забывают" также понижать голос).
Златовласка
1
@yavuzaksan Я не могу включить его сейчас.
Erutan409
3
@ Erutan409, чтобы снова включить адаптер Wi-Fi, вы должны написать два раза «sudo iwconfig wlan0 txpower auto». но, скажем, вы должны написать это два раза, иначе это не будет работать (я полагаю, что в прошивке есть какой-то глюк)
yavuzaksan
7

Мы измерили RF от Pi 3 (при использовании в качестве точки доступа WiFi) и подтвердили, что это утверждение отключает передатчик WiDi Pi при использовании в качестве горячей точки:

sudo ifconfig wlan0 down

Вы также можете легко создать нажимаемую кнопку на панели задач, чтобы сделать это. Инструкции можно найти здесь: http://orbisvitae.com/ubbthreads/ubbthreads.php?ubb=showflat&Number=81166#Post81166

Russ
источник
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

MadAntrax
источник
1
Это отключает клиент WPA, поэтому вы полностью отключаете беспроводную связь. Не делай этого.
Зимано
2

Я изменил rc.local с помощью команды sudo nano /etc/rc.local и добавил в нее ifconfig wlan0. Однако, если Ethernet не подключен или 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

Я использую свой пи в качестве точки доступа (точка доступа Wi-Fi). Это работает для меня:

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

И чтобы включить его снова без перезагрузки пи, запустите это:

# Turn on
sudo service isc-dhcp-server stop && sudo ifconfig wlan0 up && sudo service hostapd start && sudo service isc-dhcp-server start
nmrugg
источник
0

Другое решение - отредактировать /etc/network/interfacesфайл, закомментировать / удалить строки о подключении Wi-Fi (wlan0) и добавить строку:

iface wlan0 inet manual
pbies
источник
-4

Самый простой способ отключиться от сети Wi-Fi на Pi 3 - это ввести какой-то бесполезный пароль! Нажмите на свою сеть Wi-Fi, он снова запросит пароль, но на этот раз введите произвольный текст, и вы будете отключены.

Чинмай Саруприя
источник
5
Существует разница между включенным интерфейсом, включенным устройством (о чем идет речь в этом вопросе) и интерфейсом, подключенным к сети, о чем вы говорите. Я не думаю, что ОП обеспокоен этим.
Златовласка
@goldilocks Ну, если Wifi отключен таким образом, то он всегда будет использовать Ethernet, и это то, о чем просит OP.
Чинмай Саруприя
Или отредактируйте используя sudo nano /etc/wpa_supplicant/wpa_supplicant.confдля тех, кто хочет использовать этот метод.
101