Eu tenho um computador espartano. Ele possui um módulo sem fio integrado com o qual até recentemente não tive problemas. O problema atual é o seguinte: toda vez que desligo o computador e ele reinicia, não consigo "habilitar o hardware" da rede sem fio. No NetworkManager, estou recebendo uma mensagem 'acinzentada' que diz "a rede sem fio está desabilitada pela troca de hardware". A chave de hardware está habilitada (posso ver o LED verde acender e apagar quando pressiono o botão sem fio). A saída de rfkill
afirma que não está bloqueado de forma suave, mas está bloqueado de forma definitiva.
Eu tentei o seguinte (rt73usb é o driver do kernel para 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 principal sistema operacional a ser usado). O Windows faz algo que redefine alguma coisa. Quando eu reinicio no Fedora, consigo acessar minha rede sem fio conforme esperado. Até mesmo pressionar o botão sem fio ON e OFF funciona conforme o esperado. É só quando desligo e ligo novamente que meu wireless parece ter problemas.
O que posso fazer para corrigir esse problema? A maioria das soluções disponíveis do Google apontam para soluções 'bloqueadas: 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:
sem nome -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)
Responder1
Eu sei que isso vai parecer uma resposta vaga... mas verifique se você tem um pacote de firmware atualizado instalado para o seu rt73usb. É necessário enviar um firmware separado ao dispositivo para fazê-lo funcionar ... o que, é claro, o Windows forneceria, então uma inicialização a quente permite que você o use no Linux.
Estou procurando informações sobre o Fedora sobre atualizações recentes de driver/firmware rt73usb, mas vai demorar um pouco.
Verifique se há firmware e atualizações para isso.
Deaqui, não parece que o pacote rt73usb-firmware foi atualizado recentemente (a última 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.
Responder2
Suspeito que a atualização que você descreveu instalou alguma versão mais recente do driver que não funciona corretamente com o hardware específico que você possui. Você deve examinar seu log do yum /var/log/yum.log
e talvez procurar yum history
por qualquer coisa que possa ter afetado o driver rt73usb, o subsistema usb ou outras partes relacionadas (no seu lsmod, eu procuraria qualquer coisa relacionada a rt73usb, rt2x00usb, rt2x00lib, mac80211, cfg80211 , ou rfkill). Recue todas as instalações que foram feitas na época em que as coisas começaram a quebrar e veja 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, odeio esta solução, mas às vezes é a única maneira de fazer as coisas funcionarem novamente. É provável que o driver do Windows também contenha o firmware do dispositivo mais recente.
Responder3
Acredito que o problema esteja relacionado ao manuseio dos chamados botões de hardware pelo kernel (que na verdade 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 poderia ser responsável por isso.
A primeira coisa que eu faria em sua casa seria tentar reiniciar para um kernel mais antigo. Se você fez uma atualização cega, é provável que o kernel tenha sido atualizado. Não estou familiarizado especificamente com o fedora, mas espero que o procedimento de atualização do kernel envolva a mudança de entradas do GRUB, semelhante ao que o Ubuntu faz. Assim, para inicializar um kernel mais antigo, você precisaria entrar no GRUB mantendo pressionado Shift(no estágio inicial da inicialização) ou pressionando Esc. Em seguida, basta selecionar um kernel mais antigo da lista.
Se isso não "simplesmente funcionar", você pode 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 aí, no entanto.monitorar o arquivo de log daamon ACPI- Supondo que esteja localizado em
/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 que lhe interessa é 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 em
/proc
e e/sys
, em seguida,cat
faça ostate
arquivo encontrado abaixo- Você pode usar algo parecidofind /proc /sys -name "*button*"
para isso. O diretório poderia alternativamente contertrocarou algo semelhante. Você também pode usar apenasfind /proc /sys -name state
, mas isso também imprimiria muitos diretórios relacionados a outras coisas, como controlador de disco ou placa Ethernet.
Responder4
Outro problema que tenho visto aqui é que ocasionalmente o kernel não vê os eventos (seja através de bugs em drivers ou problemas de hardware).
Uma etapa crítica na solução de problemas é executar:
rfkill event
E então mude de ligado para desligado, certificando-se de ver uma linha como esta:
1398993949.361623: idx 0 type 1 op 0 soft 0 hard 1
Ao alternar entre desligado e ligado, você deverá ver uma linha como esta:
1398994129.694123: idx 0 type 1 op 2 soft 0 hard 0
Observe o hard 0
no final. Se você não vir isso, o kernel não viu o evento.
Os interruptores, sendo peças móveis, são particularmente suscetíveis a falhas e, embora gostemos de suspeitar primeiro do 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 certificar-se de ver um soft 1
evento e, quando reativar, deverá ver um soft 0
evento. Se o switch estiver ruim, você poderá mexer nele até que funcione, gravá-lo na posição ligado, etc. ou simplesmente obter um adaptador de rede secundário.
Naturalmente, se você não vir os eventos de qualquer maneira, pode ser uma falha de hardware ou software. No entanto, a última vez que vi isso, foi uma falha no switch de hardware (mas não totalmente).