我有一台简陋的电脑。它有一个内置的无线模块,直到最近我还没有遇到任何问题。当前的问题是:每次我关闭计算机并重新启动时,我都无法“硬件启用”无线。在 NetworkManager 中,我收到一条“灰色”消息,显示“无线已被硬件开关禁用”。硬件开关已启用(当我按下无线按钮时,我可以看到绿色 LED 亮起和熄灭)。的输出rfkill
表明它不是软阻止而是硬阻止。
我以 root 身份尝试了以下操作(rt73usb 是我的集成无线模块的内核驱动程序):
rmmod -f rt73usb
rfkill unblock all
modprobe rt73usb
但它什么也没做。
我能够“纠正”此问题的唯一方法是启动 Windows XP(这是双启动计算机,但 F16 是主要使用的操作系统)。 Windows 会执行一些重置操作。当我重新启动回到 Fedora 时,我能够按预期访问我的无线网络。即使按下无线按钮“开”和“关”也能按预期工作。只是当我关闭然后重新启动时,我的无线似乎出现了问题。
我可以做什么来纠正这个问题?大多数可用的谷歌解决方案都指向“软阻止:是”解决方案,以及那些没有指向上述解决方案的解决方案,但两者都不适合我。
以下是一些可能有用的信息:
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)
答案1
我知道这听起来像是一个模糊的答案...但请检查一下您是否为 rt73usb 安装了更新的固件包。它需要将单独的固件发送到设备才能使其工作......当然,Windows 会提供,然后热启动允许您在 Linux 中使用它。
我正在寻找有关 Fedora 最新 rt73usb 驱动程序/固件更新的信息,但这需要一些时间。
检查固件及其更新。
从这里,看起来 rt73usb-firmware 软件包最近没有更新(最后一次更新是 2012 年 1 月,六个月前)。
您可以尝试卸载固件,然后重新安装。
也许月相和银河对齐需要这个。别问,有时候问会有帮助。
但我仍然怀疑固件问题,因为热启动 Windows 可以解决问题。
答案2
我怀疑您描述的更新安装了一些较新版本的驱动程序,该驱动程序与您所拥有的特定硬件不太兼容。您应该查看您的 yum 日志/var/log/yum.log
,也许运行yum history
查找可能影响 rt73usb 驱动程序、usb 子系统或其他相关部分的任何内容(从您的 lsmod 中,我会查看与 rt73usb、rt2x00usb、rt2x00lib、mac80211、cfg80211 相关的任何内容)或 rfkill)。取消在出现故障时完成的所有安装,看看是否可以再次正常工作。
另一种选择是探索 NDISwrapper 的使用,以便使用真正的 Windows 驱动程序。就我个人而言,我讨厌这个解决方案,但有时这是让事情再次正常运转的唯一方法。 Windows 驱动程序中也可能包含最新的设备固件。
答案3
我认为这个问题与内核对所谓的硬件按钮的处理有关(实际上,如果它们是触摸按钮,而不是电气开关,则可能是半硬件)。触发器不一定是无线固件/驱动程序的一部分。 ACPI 也可能对此负责。
我在你那里要做的第一件事就是尝试重新启动到较旧的内核。如果您进行了盲目更新,则内核很可能已更新。我对 fedora 不太熟悉,但我希望它的内核更新过程涉及到移动 GRUB 条目,类似于 Ubuntu 的做法。因此,要引导较旧的内核,您需要通过按住Shift(在早期引导阶段)或按 来进入 GRUB Esc。然后只需从列表中选择一个较旧的内核即可。
如果这不能“正常工作”,您可以通过运行以下命令来进一步调试问题,并比较损坏和工作(通过启动 Windows 修复)笔记本电脑状态之间的输出:
dmesg | tail
按下按钮后立即运行- 不过,那里可能没有任何相关的东西。监视 ACPI 守护程序日志文件- 假设它位于
/var/log/acpid.log
,你会运行tail -f /var/log/acpid.log
。运行事件跟踪实用程序,例如
xev
- 它打印相当多的输出;但您唯一感兴趣的是按下按钮时是否报告任何按键事件。 (是的,“硬件”按钮可能只是发送普通的按键信号!)/proc
在和下查找与硬件按钮相关的目录/sys
,然后cat
'ing 在state
下面找到的文件- 你可以使用类似的东西find /proc /sys -name "*button*"
。该目录也可以包含转变或类似的东西。您也可以只使用find /proc /sys -name state
,但这也会打印许多与其他内容相关的目录,例如磁盘控制器或以太网卡。
答案4
我在这里看到的另一个问题是,内核有时看不到事件(由于驱动程序中的错误或硬件问题)。
故障排除的一个关键步骤是运行:
rfkill event
然后从打开切换到关闭,确保您看到这样的行:
1398993949.361623: idx 0 type 1 op 0 soft 0 hard 1
当您从关闭切换到打开时,您应该看到如下行:
1398994129.694123: idx 0 type 1 op 2 soft 0 hard 0
注意hard 0
最后的。如果您没有看到这一点,则内核还没有看到该事件。
开关作为移动部件,特别容易出现故障,虽然我们通常喜欢首先怀疑软件,但情况并非总是如此。
您可以使用组合键禁用无线来测试 rfkill 是否确实显示事件,并确保您看到一个soft 1
事件,然后当您重新启用时您应该看到一个soft 0
事件。如果开关坏了,您可以摆弄它直到它正常工作,将其粘贴在打开位置等,或者只是获取辅助网络适配器。
当然,如果您没有看到任何事件,则可能是硬件或软件故障。然而,我上次看到这个时,它是一个失败的(但不是完全失败的)硬件开关。