Desativar WiFi (wlan0) no Pi 3

109

Consegui um Pi 3 que sempre usa ethernet, então tente descobrir como desativar o Wi-Fi de forma que ele nem ligue após a reinicialização.

Se eu fizer um ifconfig, vejo o wlan0dispositivo. Eu posso fazer, ifconfig wlan0 downmas ele voltará a funcionar novamente após uma reinicialização.

Tentei comentar algo sobre wlan0(e wlan1) no /etc/network/interfacesmas isso não fez diferença.

eth0 não é comentado para que possa ser usado.

Evan
fonte
Você também comentou o wlan1arquivo?
Patrick Cook
Sim. Apenas esquerda lo e eth0.
Evan
2
Qual é o cenário para wlan0nos /etc/network/interfaces? Se for, automude para manualseguido de ifdown wlan0.
29--16
Obrigado, @ott. Você acabou de me lembrar como fazer com que o interno pare de pegar um endereço DHCP enquanto a unidade WLAN USB se conecta com estática. Eu apenas comentei a linha wpa_supplicant e adicionei ifdown wlan0 - Obrigado novamente.
SDsolar

Respostas:

39

Veja a resposta de Ludovic Ronsin abaixo sobre o uso do dtoverlay, um método adicionado em janeiro de 2017.

Este post parece estar falando sobre isso. A resposta fala sobre a desativação dos drivers editando o arquivo /etc/modprobe.d/raspi-blacklist.confe adicionando:

blacklist brcmfmac
blacklist brcmutil

Como alternativa, você pode usar crontab -ee adicionar:

@reboot sudo ifdown wlan0

Portanto, esse comando é executado em cada inicialização.

Espero que isso ajude, ainda estou esperando o meu Pi 3 chegar.

Patrick Cook
fonte
5
O método da lista negra funcionou para mim. Apenas criei um /etc/modprobe.d/local-blacklist.confarquivo, em vez de anexá-lo a um arquivo existente.
Evan
Até onde eu sei, o método da lista negra está mais perto de reduzir a interface administrativamente. Ele não desliga completamente a interface.
JWW
2
@Patrick Cozinhe Segundo método funcionou para mim, mas eu precisava para executar esse comando como root:sudo crontab -e
Matthias Herrmann
1
Eu gosto de usar o crontab para fazer isso. Por uma questão de estilo, eu editaria o crontab raiz em vez de qualquer outro usuário e deixaria de fora sudo. Para esticar, você precisa usar ip link set wlan0 down, em vez deifdown
threeve
1
Se você estiver usando o debian stretch e o ifdown retornar a interface desconhecida wlan0 , use: em sudo ifconfig wlan0 downvez disso. Se ainda assim não funcionar, use ifconfigpara listar todas as interfaces de rede disponíveis.
esteira
188

Para desativar completamente o Wi-Fi integrado do firmware no Pi3, adicione

dtoverlay=disable-wifi

em /boot/config.txt .

Isso está documentado aqui . Certifique-se de usar um firmware atualizado, esse recurso foi adicionado em janeiro de 2017 .

Há também uma sobreposição para desativar a bordo do bluetooth: disable-bt. Se você quiser desativar o wifi e o bluetooth, precisará adicionar estas 2 linhas:

dtoverlay=disable-wifi
dtoverlay=disable-bt
Ludovic Ronsin
fonte
18
Corrigir. /boot/config.txté a maneira mais limpa possível de desativar o Wi-Fi e outros periféricos.
Andrejs Cainikovs 14/03
5
Sim! A resposta aceita o levará até lá, mas é uma maneira muito melhor.
Clay
3
No momento em que escrevi minha resposta (a atual aceita), eu não sabia dessa maneira, nem sei se era mesmo uma opção naquele momento. Este é um método muito superior ao descrito na minha resposta.
Patrick Cook
2
A sobreposição não existia no momento em que você escreveu sua resposta. Conforme indicado na minha resposta, isso foi adicionado em janeiro de 2017. Portanto, não se preocupe, você estava certo!
Ludovic Ronsin
2
@deanresin Por favor, veja a resposta atualizada. TL; DR; A maneira como a configuração do dtoverlay funciona pode ser vista como uma sequência de comando. Eles são executados na ordem em que são encontrados. Então você pode declarar mais de uma vez. Os parâmetros de sobreposição, se houver, são configurados com dtparam=...'comando' e referem-se ao declarado anteriormente dtoverlay. Para obter mais informações, consulte a documentação oficial em raspberrypi.org/documentation/configuration/…
Ludovic Ronsin
20

Você pode usar

sudo iwconfig wlan0 txpower off

Isso deve desativar o adaptador wifi.

Use sudo iwconfig wlan0 txpower onpara habilitá-lo novamente.

Referência: https://manpages.debian.org/buster/wireless-tools/iwconfig.8.en.html

yavuzaksan
fonte
Não, na verdade ele faz permanenty fechar o adaptador até que você fez-lo novamente
yavuzaksan
Vou aceitar sua palavra para isso então. No futuro, talvez você queira incluir mais explicações em sua resposta, pois isso foi marcado automaticamente ontem como "baixa qualidade" (devido a tamanho e falta de formatação) pelo sistema, que foi quando eu o notei. Em si, esse tipo de coisa não importa; Eu demiti a bandeira. No entanto, um moderador pode descartar uma bandeira (não agir sobre ela) como "útil", e se for uma bandeira de "baixa qualidade", isso automaticamente leva a um voto negativo ...
goldilocks
... Eu não fiz isso, mas um dos outros mods provavelmente saiu do hábito (ou porque eles concordaram com a resposta como originalmente postada não indicavam muito esforço), e foi assim que você conseguiu um voto negativo (automático ) e uma para cima (de mim), já que às vezes as bandeiras são deixadas para revisão por vários mods. Observe que eu não gosto dessa política de "voto negativo automático" e, na verdade, reclamei sobre o SE Meta sem sucesso (a justificativa é que as pessoas reais sinalizam as coisas como de baixa qualidade, mas "esquecem" de votar também).
goldilocks
1
@yavuzaksan Não consigo ligá-lo agora.
Erutan409
3
@ Erutan409 para reativar o adaptador wifi, você deve escrever duas vezes "sudo iwconfig wlan0 txpower auto". mas como dizem que você deve escrevê-lo duas vezes caso contrário não vai funcionar (eu acredito que há alguma falha no firmware)
yavuzaksan
7

Medimos a RF do Pi 3 (quando usado como ponto de acesso WiFi) e confirmamos que esta declaração desativa o transmissor WiDi do Pi quando usado como hot spot:

sudo ifconfig wlan0 down

Você também pode criar facilmente um botão clicável na barra de tarefas para fazer isso. As instruções são encontradas aqui: http://orbisvitae.com/ubbthreads/ubbthreads.php?ubb=showflat&Number=81166#Post81166

Russ
fonte
5

Além da lista negra, que corre o risco de um bloqueio, caso você precise reiniciar e não haja Ethernet disponível, você também pode descarregar o módulo do kernel da seguinte maneira:

sudo modprobe -r -v brcmfmac

Mas não tenho certeza se descarregar os drivers de dispositivo é uma boa idéia, pois temo que o dispositivo wlan0 ainda consuma energia e, ainda mais, se os recursos de gerenciamento de energia dos drivers de dispositivo não estiverem carregados, atualmente mantenho os drivers carregados e simplesmente certifique-se de que a rota padrão via wlan0 está desabilitada:

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

Isso garantirá que todo o tráfego seja via eth0 e (esperançosamente) seja mais estável e assim por diante, por exemplo, para o daemon ntp.

Dano dez Napel
fonte
2

Eu uso o seguinte comando wpa_cli terminate, eu tenho esse comando no meu/etc/rc.local

MadAntrax
fonte
1
Isso desativa o cliente WPA, então você basicamente desativa completamente a conectividade sem fio. Não faça isso.
Zimano 30/10
2

Modifiquei o rc.local usando o comando sudo nano /etc/rc.local e adicionei o ifconfig wlan0 nele. No entanto, se a Ethernet não estiver conectada ou o IP não estiver atribuído à interface com fio, o WiFi estará ativado. Isso fornece uma maneira de backup para conectar o RasPi ao executar sem cabeça.

parece como abaixo,

_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

Salve usando CTRL + X e reinicie. Parece funcionar para mim, pois após a reinicialização, o ifconfig não fornece wlan0.

Abhimanyu Shukla
fonte
2

Estou usando meu pi como um ponto de acesso (ponto de acesso wifi). Isso funciona para mim:

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

E para ativá-lo novamente sem reiniciar o pi, execute o seguinte:

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

Outra solução é editar o /etc/network/interfacesarquivo, comentar / remover linhas sobre a conexão Wi-Fi (wlan0) e adicionar linha:

iface wlan0 inet manual
pbies
fonte
-4

A maneira mais fácil de desconectar-se de uma rede Wifi no Pi 3 é inserir uma senha inútil! Clique na sua rede Wi-Fi, ela solicitará novamente a senha, mas desta vez insira um texto aleatório e você será desconectado.

Chinmay Sarupria
fonte
5
Há uma diferença entre ter uma interface ativada, um dispositivo ativado (do que trata esta questão) e ter uma interface conectada a uma rede, e é disso que você está falando. Eu não acho que o OP esteja preocupado com isso.
goldilocks
@goldilocks Bem, se o Wifi estiver desconectado dessa maneira, ele sempre usará a Ethernet e é isso que o OP está pedindo.
Chinmay Sarupria
Ou edite usando sudo nano /etc/wpa_supplicant/wpa_supplicant.confpara aqueles que desejam usar esse método.
101/10/19