NetworkManager travando placa Wireless com Rfkill [RESOLVIDO]

1. NetworkManager travando placa Wireless com Rfkill [RESOLVIDO]

Patrick
Freud_Tux

(usa Outra)

Enviado em 21/08/2015 - 23:43h

Seguinte !

Desabilitei no networkmanager a interface wirless, e depois, desabilitei o dito cujo, pois odeio ele, e nunca vou me acostumar. E além disso, essa coisa não roda em modo texto para ser configurado...

Enfim, ideologias a parte, fui em um terminal e mandei um ifconfig. Para inha surpresa, a placa de rede não apareceu. Usei os atalhos do teclado que ativam ela, e adivinhem... Nada dela aparecer no ifconfig.

Habilieti o networkmanager e ativei de novo a placa wireless nele, e adivinhem!
Ela apareceu no ifconfig. Eu podia habilitar ela e desabilitar no ifconfig e estava tudo blz.

Então para testar mais uma vez, desabilitei a placa no networkmanager e rodei o ifconfig, e a placa wireless tinha sumido. Tentei com os atalhos do teclado e nada, tentei subir ela via software com um "ifconfig wlan0 up" e para minha surpresa, olha o que ele me retorna:

SIOCSIFLAGS:Operation not possible due to RF-Kill 


Fui checar no systemd via systemctl e estava lá, dois serviços do rfkill rodando e um deles era todinho para a placa wireless.
Bem, pesquisei um pouco e achei um jeito de contornar esse problema, baixando um pequeno utilitário que pode habilitar e desabilitar hardwares travados pelo rfkill. O nome dele é rfkill:

https://packages.debian.org/jessie/rfkill

Basta usar como root os seguintes comandos:

Mostra tudo que está bloqueado:

rfkill list all

ou

rfkill list

Desabilitando a trava:

rfkill unblock index:list

ou

rfkilll unblock "nº aqui"


Porém, eu gostaria de saber se tem como o controle da minha placa de rede wireless sem a ajuda do programa como o rfkill.

E deixo uma pergunta dúvida.

Que raios o networkmanager manda a placa wireless para ser bloqueada pelo rfkill?
Eu já odiava o networmanager, agora então...

Bem é isso ai.

T+ e agradeço desde já.


  


2. Re: NetworkManager travando placa Wireless com Rfkill [RESOLVIDO]

Patrick
Freud_Tux

(usa Outra)

Enviado em 23/08/2015 - 10:20h

Fuçando um pouco achei um arquivo do rfkill:

/usr/share/bash-completion/completions/ 


Se chama rfkill (claro rsrsrs).

Olhem que bonitinho o script:

# bash completion for rfkill                               -*- shell-script -*-

_rfkill()
{
local cur prev words cword
_init_completion || return

if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--version' -- "$cur" ) )
else
case $cword in
1)
COMPREPLY=( $( compgen -W "help event list block unblock" \
-- "$cur" ) )
;;
2)
if [[ $prev == block || $prev == unblock ]]; then
COMPREPLY=( $( compgen -W "$(rfkill list | awk -F: \
'/^[0-9]/ {print $1}') all wifi bluetooth uwb wimax \
wwan gps" -- "$cur" ) )

fi
;;
esac
fi
} &&
complete -F _rfkill rfkill

# ex: ts=4 sw=4 et filetype=sh


Como podem ver em negrito, ele bloqueia por padrão todos os dispositivos wifi, bluetooth....
Se por acaso, eu excluir "wifi", será que vai funcionar?

Outra coisa.
Acgo que agora entendi o porque precisa do programa rfkill.
Esse rfkill nada mais é do que um executável e um conjunto de scripts e arquivos de texto, e todos juntos, fazem o rfkill montar, trabalhar e bloquear o que fica no script.
Porém, tem dois arquivos textos, que contém somente o nº do dispositivo bloqueado, sem opções de habilitar ou não (no ou yes).
Por isso precisa de um programa para desbloquear as coisas.
Não sei ao certo, se tirar a linha "wifi" do script vai resolver.

Aceito ideias, sugestões, pitacos...

T+


3. Re: NetworkManager travando placa Wireless com Rfkill [RESOLVIDO]

Patrick
Freud_Tux

(usa Outra)

Enviado em 25/08/2015 - 13:45h

Bem não teve jeito.
Tive que apelar para o rfkill.

Basta instalar ele.
Depois logar como root e rodar:

rfkill list all 


Ele vai retornar duas entradas uma referente ao hardware e a outra, ao software.
Cada entrada é precedida por um número. Gerlamente 0 é a referente ao hardware, é o famoso atalho do teclado Fn + F....
O outro número é o 1, é a parte do software que fica bloqueada. Não se consegue rodar um comando para subir essa placa.

Basta juntar os dois números no comando:

rfkill unblock 0 && rfkill unblock 1 


Ou se quiser, faça cada um separado:

rfkill unblock 0 


rfkill unblock 1 


E para finalizar, rode um:

rfkill list all 


E veja que, onde estava no agora é yes.

Tente subir a placa de rede wireless com o ifconfig e veja se funciona.

Problema resolvido.

T+







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts