O estado que está sendo alterado provavelmente está no próprio adaptador de rede. Os adaptadores sem fio, especialmente, tendem a ser computadores programáveis complexos em si, e é provável que b43
esteja deixando o adaptador em um estado em que ele não saiba como falar com wl
. Além disso, você precisa ter uma compreensão profunda de como esses drivers funcionam para dizer exatamente o que está acontecendo.
Se você pudesse ligar e desligar o próprio adaptador, isso provavelmente limparia o estado mesmo se você não desligasse o computador inteiro. Eu vou assumir que estamos falando de uma placa PCI que está enterrada em algum lugar dentro do computador ou talvez parte da placa-mãe. Então, cortar o poder do dispositivo fisicamente não funcionará ... mas pode haver uma maneira de pedir ao barramento PCI para fazer algo semelhante para nós.
AVISO
Observe que eu só tentei isso uma vez em minha própria máquina (que não tem um cartão da Broadcom). Os princípios são os mesmos, mas seus resultados podem variar. Isso poderia potencialmente travar seu sistema ou fazer outras coisas ruins . Eu duvido que seja se você for cuidadoso, mas eu não estou familiarizado o suficiente para fazer apostas nele. E se você não for cuidadoso e escolher o número errado do dispositivo, poderá encerrar seu controlador de disco rígido em vez do adaptador de rede.
Por fim, não copie e cole essas instruções . Você precisará modificá-los para se adequar ao seu sistema.
Você precisará encontrar o caminho do barramento PCI para o seu dispositivo em /sys
. Comece com um driver já carregado, para que você possa procurar seu dispositivo pelo nome da interface de rede:
# ls -l /sys/class/net
lrwxrwxrwx 1 root root 0 Feb 18 04:12 eth0 -> ../../devices/pci0000:00/0000:00:1c.2/0000:07:00.0/net/eth0
lrwxrwxrwx 1 root root 0 Feb 18 04:08 lo -> ../../devices/virtual/net/lo
Nesse caso, o caminho do barramento PCI do meu dispositivo eth0 é /sys/devices/pci0000:00/0000:00:1c.2/0000:07:00.0
. Se você olhar nesse diretório, você encontrará um monte de arquivos que podem ser usados para ajustar o barramento PCI . Nesse caso, estamos interessados no arquivo remove
do dispositivo e no arquivo rescan
de seu pai.
Primeiro, remova o driver; caso contrário, seu dispositivo desaparecerá por baixo dele. Em seguida, remova o dispositivo do barramento.
# modprobe -r b43 brcmsmac ssb bcma wl
# echo 1 >/sys/devices/pci0000:00/0000:00:1c.2/0000:07:00.0/remove
Em seguida, para adicionar o dispositivo novamente, faça com que o pai do dispositivo faça uma nova verificação.
# echo 1 >/sys/devices/pci0000:00/0000:00:1c.2/rescan
Agora, você pode tentar executar modprobe wl
e ver se funciona.