Eu tenho um computador espartano. Ele possui um módulo sem fio embutido que, até recentemente, não tinha problemas. O problema atual é o seguinte: toda vez que eu desligo o computador e ele é inicializado, não consigo "habilitar o hardware" para a conexão sem fio. No NetworkManager, estou recebendo uma mensagem "acinzentada" que diz "a conexão sem fio está desativada pela chave de hardware". A chave de hardware está ativada (posso ver o led verde acender e apagar quando pressiono o botão sem fio). A saída de rfkill
estados que não é bloqueada por soft mas está bloqueada por hardware.
Eu tentei o seguinte (rt73usb é o driver do kernel do meu módulo sem fio integrado) como root:
rmmod -f rt73usb
rfkill unblock all
modprobe rt73usb
mas não faz nada.
A única maneira de corrigir esse problema é inicializar no Windows XP (esta é uma máquina de inicialização dupla, mas F16 é o sistema operacional principal de uso). O Windows faz algo que redefine algo. Quando eu reinicio o Fedora, consigo acessar meu wireless conforme o esperado. Mesmo pressionando o botão sem fio, LIGADO e DESLIGADO, funciona como esperado. É apenas quando desligo e ligo novamente que minha conexão sem fio parece ter problemas.
O que posso fazer para corrigir esse problema? A maioria das soluções disponíveis do Google aponta para soluções 'bloqueadas temporariamente: sim' e aquelas que não apontam para a solução acima, mas ambas não funcionam para mim.
Aqui estão algumas informações que podem ser úteis:
uname -a
Linux spartan-laptop 3.4.2-1.fc16.i686 #1 SMP Thu Jun 14 21:13:38 UTC 2012 i686 i686 i386 GNU/Linux
lsmod
Module Size Used by
fcoe 22665 0
libfcoe 41981 1 fcoe
libfc 101966 2 fcoe,libfcoe
scsi_transport_fc 51903 2 fcoe,libfc
lockd 77892 0
scsi_tgt 18993 1 scsi_transport_fc
be2iscsi 62864 0
iscsi_boot_sysfs 15121 1 be2iscsi
8021q 23401 0
garp 13744 1 8021q
stp 12719 1 garp
llc 13770 2 garp,stp
bnx2i 49425 0
cnic 57699 1 bnx2i
uio 14374 1 cnic
cxgb4i 32063 0
cxgb4 96243 1 cxgb4i
cxgb3i 28014 0
libcxgbi 50450 2 cxgb4i,cxgb3i
cxgb3 130827 1 cxgb3i
mdio 13214 1 cxgb3
ib_iser 32861 0
rdma_cm 36864 1 ib_iser
ib_cm 36679 1 rdma_cm
iw_cm 13715 1 rdma_cm
ib_sa 23625 2 rdma_cm,ib_cm
ib_mad 41285 2 ib_cm,ib_sa
ib_core 61955 6 ib_iser,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
ib_addr 13473 1 rdma_cm
iscsi_tcp 18015 0
libiscsi_tcp 19427 4 cxgb4i,cxgb3i,libcxgbi,iscsi_tcp
libiscsi 44809 8 be2iscsi,bnx2i,cxgb4i,cxgb3i,libcxgbi,ib_iser,iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi 46598 8 be2iscsi,bnx2i,libcxgbi,ib_iser,iscsi_tcp,libiscsi
ip6t_REJECT 12782 2
nf_conntrack_ipv6 13921 2
nf_defrag_ipv6 13678 1 nf_conntrack_ipv6
ip6table_filter 12711 1
ip6_tables 17737 1 ip6table_filter
nf_conntrack_ipv4 14280 2
nf_defrag_ipv4 12601 1 nf_conntrack_ipv4
xt_state 12514 4
nf_conntrack 71472 3 nf_conntrack_ipv6,nf_conntrack_ipv4,xt_state
arc4 12473 2
snd_hda_codec_si3054 12864 1
snd_hda_codec_realtek 63058 1
snd_hda_intel 32323 3
rt73usb 26833 0
snd_hda_codec 103493 3 snd_hda_codec_si3054,snd_hda_codec_realtek,snd_hda_intel
rt2x00usb 19162 1 rt73usb
snd_hwdep 13236 1 snd_hda_codec
rt2x00lib 51790 2 rt73usb,rt2x00usb
mac80211 436414 2 rt2x00usb,rt2x00lib
snd_seq 54638 0
snd_seq_device 13817 1 snd_seq
cfg80211 161266 2 rt2x00lib,mac80211
snd_pcm 81330 3 snd_hda_codec_si3054,snd_hda_intel,snd_hda_codec
rfkill 20417 2 cfg80211
coretemp 13240 0
microcode 18713 0
joydev 17124 0
iTCO_wdt 17652 0
iTCO_vendor_support 13243 1 iTCO_wdt
serio_raw 13155 0
i2c_i801 17485 0
snd_timer 23896 2 snd_seq,snd_pcm
snd 63169 15 snd_hda_codec_si3054,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore 14116 1 snd
snd_page_alloc 13709 2 snd_hda_intel,snd_pcm
r8169 51284 0
mii 13311 1 r8169
uinput 17246 0
sunrpc 215122 2 lockd
binfmt_misc 17207 1
firewire_ohci 35498 0
firewire_core 55317 1 firewire_ohci
crc_itu_t 12523 2 rt73usb,firewire_core
sdhci_pci 18211 0
sdhci 32642 1 sdhci_pci
yenta_socket 40293 0
mmc_core 96866 2 sdhci_pci,sdhci
i915 413476 3
drm_kms_helper 30905 1 i915
drm 205796 4 i915,drm_kms_helper
i2c_algo_bit 13058 1 i915
i2c_core 28151 5 i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit
video 18500 1 i915
lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:04.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus Controller (rev 21)
04:04.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
04:04.3 Bridge: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
04:04.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
[angelo@spartan-laptop ~]$ lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:04.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus Controller (rev 21)
04:04.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
04:04.3 Bridge: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
04:04.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
[angelo@spartan-laptop ~]$ lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:04.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus Controller (rev 21)
04:04.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
04:04.3 Bridge: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
04:04.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
dmesg
?rfkill list
mostra? Meu laptop HP (flextronics) tem um problema em que, se eu compilar osWMI
drivers do laptop (permitindo um manuseio mais avançado do switch rfkill), ele recebe bloqueios "flexíveis" e "rígidos" e, às vezes, os links flexíveis recusam-se a obter desbloqueado.rfkill list
ajudaria a identificar um cenário como este.rfkill event
e então pressiono o botão de hardware, o bloqueio rígido funciona conforme o esperado. Se eu reiniciar e for direto para o linux, a trava de hardware não funcionará conforme o esperado.Respostas:
Sei que isso soará como uma resposta vaga ... mas verifique se você possui um pacote de firmware atualizado instalado para o seu rt73usb. Ele exige que um firmware separado seja enviado ao dispositivo para fazê-lo funcionar ... o que obviamente o Windows forneceria, então uma inicialização a quente permite que você o use no linux.
Estou procurando informações no Fedora sobre atualizações recentes de driver / firmware rt73usb, mas isso levará um momento.
Verifique se há firmware e atualizações para isso.
A partir daqui , não parece que o pacote rt73usb-firmware foi atualizado recentemente (foi em janeiro de 2012, seis meses atrás).
Você pode tentar desinstalar o firmware e reinstalá-lo.
Talvez a fase da lua e o alinhamento galáctico exijam isso. Não pergunte, às vezes ajuda.
Mas ainda estou suspeitando de um problema de firmware, pois uma inicialização a quente no Windows resolve o problema.
fonte
rmmod rt73usb; yum erase rt73usnb-firmware; reboot
então ayum install rt73usb-firmware
. Isso não resolveu o problema. Uma reinicialização ainda não corrige o problema de bloqueio de hardware. Apenas uma inicialização no Windows ainda resolve o problema.Eu suspeito que a atualização que você descreveu tenha instalado uma versão mais recente do driver que não funcione corretamente com o hardware específico que você possui. Você deve procurar no yum log
/var/log/yum.log
e talvez executaryum history
qualquer coisa que possa ter afetado o driver rt73usb, o subsistema usb ou outras partes relacionadas (do seu lsmod, eu procuraria algo relacionado a rt73usb, rt2x00usb, rt2x00usb, rt2x00lib, mac80211, cfg80211 ou rfkill). Faça backup de todas as instalações que foram feitas na época em que as coisas começaram a falhar e verifique se as coisas começam a funcionar novamente.Outra opção seria explorar o uso do NDISwrapper para usar o driver real do Windows. Pessoalmente, eu odeio essa solução, mas às vezes é a única maneira de fazer as coisas funcionarem novamente. É provável que o driver do Windows também tenha o firmware mais recente do dispositivo.
fonte
Acredito que o problema esteja relacionado ao manuseio do kernel dos chamados botões de hardware (que de fato podem ser semi-hardware se forem botões de toque, não interruptores elétricos). Os gatilhos podem não necessariamente fazer parte do firmware / driver sem fio. A ACPI também pode ser responsável por isso.
A primeira coisa que eu faria em seu lugar é tentar reiniciar em um kernel mais antigo. Se você fez uma atualização às cegas, é provável que o kernel tenha sido atualizado. Eu não estou familiarizado com o fedora especificamente, mas eu esperaria que seu procedimento de atualização do kernel envolva alterações nas entradas do GRUB, semelhante ao que o Ubuntu faz. Portanto, para inicializar um kernel mais antigo, você precisaria entrar no GRUB pressionando Shift(no início da inicialização) ou pressionando Esc. Depois, basta selecionar um kernel mais antigo da lista.
Se isso não "apenas funcionar", você poderá depurar ainda mais o problema executando o seguinte e comparando a saída entre um estado de laptop quebrado e funcionando (corrigido pela inicialização do Windows):
execute
dmesg | tail
logo após pressionar o botão - pode não haver nada relacionado lá.monitorar o arquivo de log do deamon da ACPI - Supondo que ele esteja localizado
/var/log/acpid.log
, você executariatail -f /var/log/acpid.log
.execute um utilitário de rastreamento de eventos como
xev
- Imprime bastante saída; mas a única coisa em que você estaria interessado é se algum evento de pressionamento de tecla é relatado quando você pressiona o botão. (Sim, o botão "hardware" pode estar apenas enviando sinais comuns de pressionamento de tecla!)procure um diretório relacionado aos botões de hardware abaixo
/proc
e/sys
, em seguidacat
, nostate
arquivo encontrado abaixo - Você pode usar algo parecidofind /proc /sys -name "*button*"
com isso. O diretório pode conter alternativamente alternar ou algo semelhante. Você também pode usarfind /proc /sys -name state
, mas isso também imprimiria muitos diretórios relacionados a outras coisas, como controlador de disco ou placa Ethernet.fonte
rfkill event
processo em execução, perceberei que o botão foi pressionado e posso ver os bloqueioshard
esoft
ativados e, em seguida, desengatados corretamente. Quando estou em um 'modo de trabalho sem fio' (após uma reinicialização diretamente no linux) e estou fazendo issorfkill event
, a chave de hardware é vista, mas ahard
trava não é desativada, apenas a trava macia.rfkill event
diz é que você não sabe dizer, em que nível o botão de hardware falha.rfkill
é apenas uma pequena ferramenta útil, mas é bastante inútil para depurar esses problemas de hardware. Por isso, sugeri métodos genéricos que podem identificar o problema.Outro problema que eu vi aqui é que, ocasionalmente, o kernel não vê os eventos (através de erros nos drivers ou problemas de hardware).
Uma etapa crítica na solução de problemas é executar:
E, em seguida, ligue e desligue, verificando uma linha como esta:
Ao alternar de desativado para ativado, você verá uma linha como esta:
Observe o
hard 0
no final. Se você não vê isso, o kernel não viu o evento.Os comutadores, sendo partes móveis, são particularmente suscetíveis a falhas e, embora gostemos de suspeitar primeiro de software, nem sempre é esse o caso.
Você pode testar se o rfkill está de fato mostrando os eventos usando a combinação de teclas para desativar a conexão sem fio e garantir que você veja um
soft 1
evento e, ao reativar, deverá ver umsoft 0
evento. Se o switch estiver com defeito, você poderá mexer nele até que ele funcione, prenda-o com fita adesiva na posição ligada etc. ou simplesmente obtenha um adaptador de rede secundário.Naturalmente, se você não vê eventos de qualquer maneira, pode ser uma falha de hardware ou software. No entanto, a última vez que vi isso, foi um interruptor de hardware com falha (mas não com falha total).
fonte