a conexão sem fio é desativada pela chave de hardware, mesmo quando não está

10

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 rfkillestados 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)
g19fanatic
fonte
1
Existe algo relevante no seu dmesg?
31412 Chris Down
Você tem certeza de que a chave de hardware não está apenas confinada? O fato de esse problema ter se desenvolvido em um sistema que já funcionava sugere um problema no nível de hardware para mim, o que significa que não está no tópico aqui. Você teria um tipo de problema superuser.SE, ou serverfault or electronics.SE.
21812 Warren Young
1
O problema foi desenvolvido após a atualização do yum. Não tenho certeza do que foi instalado (nunca tive um problema apenas fazendo uma atualização cega antes), mas o problema começou após a minha última atualização do yum e uma reinicialização. O fato de reiniciar no Windows e, em seguida, inicializar novamente no f16 sugere que ele está relacionado ao software.
precisa saber é o seguinte
O que rfkill listmostra? Meu laptop HP (flextronics) tem um problema em que, se eu compilar os WMIdrivers 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 listajudaria a identificar um cenário como este.
Njsg
@njsg, os bloqueios "flexíveis" não são o problema. Eles alternam sem problemas. É o bloqueio "rígido" que não 'desbloqueia'. Quando eu inicializo o Windows, linux, rfkill evente 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.
precisa saber é o seguinte

Respostas:

2

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.

lornix
fonte
Eu verifiquei o yum.log e nada relacionado a nenhum dos módulos foi atualizado. Eu também fiz como você sugeriu e fez um rmmod rt73usb; yum erase rt73usnb-firmware; rebootentão a yum 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.
precisa saber é o seguinte
Vadio! Ainda acho que está relacionado ao firmware, já que a inicialização no Windows e a inicialização a quente no Linux resolvem o problema.
Lornix 9/07
1

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.loge talvez executar yum historyqualquer 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.

jlp
fonte
Suspeitei que uma nova atualização tivesse causado o problema e fiz exatamente como você recomendou. Após analisar o yum.log, parece que nada foi atualizado referente a nenhum desses pacotes. Eu poderia tentar a solução de wrapper NDIS, mas como você odeia essa solução alternativa. Especialmente desde que costumava trabalhar sem problema e ainda faz o trabalho com a solução de inicialização do Windows ...
g19fanatic
Você ainda pode começar a fazer o backup das alterações até voltar ao sistema em funcionamento. É doloroso, mas factível (a menos que você volte antes de começar a ter o problema e ele ainda não esteja funcionando). Você pode usar uma pesquisa binária para minimizar o número de botas de frio necessárias ao fazer o backup das coisas.
jlp
Acredito que é assim que vou ter que tentar resolver esse problema. Um método de pesquisa binária para remover os pacotes atualizados seria definitivamente a maneira de fazer isso. Obrigado pela sugestão. Infelizmente, esse problema foi na casa dos meus pais que eu estava visitando no quarto feriado e não terá acesso à máquina até o Natal! Ainda bem que meu pai está disposto a passar pela solução alternativa, todas as manhãs para entrar na sua rede :)
g19fanatic
2
Portanto, parece que deve ter sido uma atualização ruim que agora foi corrigida. Sendo linux, raramente (se é que existe) diminui a velocidade quando é continuamente deixado on-line e raramente precisa ser ligado e desligado. Eu tenho um trabalho cron que passa e faz uma atualização yum -y como root a cada 2 semanas. Meu pai não tem certeza de quando isso aconteceu, mas a última vez que ele inicializou (falta de energia e consumo de bateria fez o laptop morrer) ele se esqueceu de ir às janelas para fazer o wireless funcionar, mas notou que o wireless funcionava sem problemas.
G19fanatic
1

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 | taillogo 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ê executaria tail -f /var/log/acpid.log.

  • execute um utilitário de rastreamento de eventos comoxev - 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 /proce /sys, em seguida cat, no statearquivo encontrado abaixo - Você pode usar algo parecido find /proc /sys -name "*button*"com isso. O diretório pode conter alternativamente alternar ou algo semelhante. Você também pode usar find /proc /sys -name state, mas isso também imprimiria muitos diretórios relacionados a outras coisas, como controlador de disco ou placa Ethernet.

rozcietrzewiacz
fonte
Esta é uma informação interessante. Quando minha rede sem fio 'está funcionando' (após uma inicialização a quente do Windows), a chave de hardware funciona conforme o esperado ... Desabilitará e habilitará novamente o dispositivo sem fio. Se eu fizer isso com um rfkill eventprocesso em execução, perceberei que o botão foi pressionado e posso ver os bloqueios harde softativados 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 isso rfkill event, a chave de hardware é vista, mas a hardtrava não é desativada, apenas a trava macia.
g19fanatic
@ g19fanatic O problema de confiar no que rfkill eventdiz é 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.
rozcietrzewiacz 12/07/12
1

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:

rfkill event

E, em seguida, ligue e desligue, verificando uma linha como esta:

1398993949.361623: idx 0 type 1 op 0 soft 0 hard 1

Ao alternar de desativado para ativado, você verá uma linha como esta:

1398994129.694123: idx 0 type 1 op 2 soft 0 hard 0

Observe o hard 0no 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 1evento e, ao reativar, deverá ver um soft 0evento. 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).

Chris Travers
fonte