Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have a spartan computer. It has a built-in wireless module that up until recently I've had no issues with. The current problem is this. Everytime I shutdown the computer and it boots back up, I am unable to "hardware enable" the wireless. In NetworkManager, I am getting a 'grayed out' message that says "wireless is disabled by hardware switch". The hardware switch is enabled (I can see the green led turn on and off when I press the wireless button). The output of rfkill states that it is not soft blocked but IS hard blocked.

I've tried the following (rt73usb is the kernel driver for my integrated wireless module) as root:

rmmod -f rt73usb 
rfkill unblock all
modprobe rt73usb

but it does nothing.

The only way I've been able to 'correct' this issue is to boot into windows xp (this is a dual boot machine but F16 is the primary OS of use). Windows does something that reset something. When I reboot back into fedora, I am able to access my wireless as expected. Even pressing the wireless button ON and OFF works as expected. It's just when I shutdown and then power back up that my wireless seems to have issues.

What can I do to correct this issue? Most of the available google solutions point to 'soft blocked: yes' solutions and the ones that do not point to the above solution but both do not work for me.

Here are a few pieces of information that might be useful:

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)
share|improve this question
1  
Is there anything relevant in your dmesg? –  Chris Down Jul 1 '12 at 16:11
    
Are you sure the hardware switch isn't just gummed up? The fact that this problem has developed on a previously-working system suggests a hardware-level problem to me, which would mean it's not on topic here. You'd have a superuser.SE, or serverfault or electronics.SE sort of problem. –  Warren Young Jul 3 '12 at 0:07
1  
The issue developed after I did a yum update. I am unsure what was installed (never had an issue just doing a blind update before) but the issue started after my last yum update and a reboot. The fact that rebooting into windows and then booting back into f16 would suggest that it is software related. –  g19fanatic Jul 5 '12 at 16:05
    
What does rfkill list show? My HP (flextronics) laptop has an issue where, if I compile the WMI drivers for the laptop (thus enabling a more advanced rfkill switch handling), it gets "soft" and "hard" locks, and sometimes the soft links will refuse to get unblocked. rfkill list would help identifying a scenario like this. –  njsg Jul 9 '12 at 10:15
    
@njsg, the "soft" locks are not the issue. They toggle back and forth without issue. Its the "hard" lock that will not 'unblock'. When I do the boot into windows then linux and then do a rfkill event and then hit the hardware button the hard lock works as expected. If I then reboot and go straight into linux, the hardware lock doesn't work as expected. –  g19fanatic Jul 9 '12 at 22:34
show 2 more comments

3 Answers

I know this is going to sound like a a vague answer... but check to see if you have an updated firmware package installed for your rt73usb. It requires a separate firmware to be sent to the device to make it work... which of course, Windows would provide, then a warm boot allows you to use it in linux.

I'm looking for information on Fedora concerning recent rt73usb driver/firmware updates, but it'll take a moment.

Check for firmware, and updates to this.

From here, it doesn't look like the rt73usb-firmware package was updated recently (last was Jan of 2012, six months ago).

You might try uninstalling the firmware, then re-installing it.

Maybe the phase of the moon and Galactic Alignment require this. Don't ask, sometimes it helps.

But I'm still suspecting a firmware issue since a warm boot into Windows resolves the problem.

share|improve this answer
    
I checked the yum.log and nothing related to any of the modules were updated. I also did as you suggested and did a rmmod rt73usb; yum erase rt73usnb-firmware; reboot then a yum install rt73usb-firmware. This didn't solve the issue. A reboot still doesn't fix the hardware lock issue. Only a boot into windows still fixes the problem. –  g19fanatic Jul 9 '12 at 22:36
    
Bummer! I still think it's related to the firmware though, since the boot into windows then warm-boot into linux resolves the issue. –  lornix Jul 9 '12 at 22:50
add comment

I suspect that the update you described installed some newer version of the driver that doesn't work quite right with the specific hardware you have. You should look through your yum log /var/log/yum.log and maybe run yum history looking for anything that might have affected the rt73usb driver, usb subsystem, or other related parts (from your lsmod, I'd look at anything related to rt73usb, rt2x00usb, rt2x00lib, mac80211, cfg80211, or rfkill). Back out any installations that were done around the time that things started breaking and see if things start working again.

Another option would be to explore the use of NDISwrapper in order to use the real Windows driver. Personally, I hate this solution, but sometimes it's the only way to get things working again. The Windows driver is likely to have the latest device firmware in it, too.

share|improve this answer
    
I had a suspicion that a new update had caused the issue and did just as you recommended. After looking at the yum.log, it looks like nothing was updated that pertained to any of those packages. I could try the NDIS wrapper solution but as you I hate that workaround. Especially since it USED to work without issue and STILL does work with the windows boot workaround... –  g19fanatic Jul 9 '12 at 22:39
    
You could still start backing out changes until you get back to a working system. It's painful, but doable (unless you back all the way back before you started having the trouble and it's still not working). You could use a binary search to minimize the number of cold boots you have to do while backing stuff out. –  jlp Jul 9 '12 at 23:04
    
I believe this is how I'm going to have to try and resolve this issue. A binary search method of removing the updated packages would definitely be the way to do this. Thanks for the suggestion. Unfortunately, this issue was at my parent's house that I was visiting for the 4th holiday and will not have access to the machine until Christmas! Good thing my father is willing to go through the workaround every morning to get onto his network :) –  g19fanatic Jul 10 '12 at 13:57
    
So it looks like it must have been a bad update that now has been fixed. Being linux , it rarely (if ever) slows down when it is continuously left online and it rarely needs to be power-cycled. I have a cron job that goes through and does a yum update -y as root every 2 weeks. My father isn't sure when it happened but the last time he booted it up (power outage and battery drain made the laptop die) he forgot to go to windows to get the wireless working but noticed the wireless worked without issue. –  g19fanatic Feb 22 '13 at 13:54
add comment

I believe the issue is related to the kernel's handling of so-called hardware buttons (which in fact might be semi-hardware if they are touch-buttons, not electrical switches). The triggers might not necessarily be part of the wireless firmware/driver. ACPI could be responsible for that as well.

The first thing I'd do on your place, is try to reboot to an older kernel. If you did a blind update, chances are that the kernel was updated. I'm not familiar with fedora specifically, but I'd expect that its kernel update procedure involves shifting GRUB entries, similar to what Ubuntu does. Thus, to boot an older kernel, you would need to enter GRUB by holding down Shift (at an early boot stage) or pressing Esc. Then just select an older kernel from the list.

If this does not "just work", you can further debug the problem by running the following, and comparing the output between a broken and working (fixed by booting windows) laptop state:

  • run dmesg | tail right after pressing the button - There might be nothing related there, though.

  • monitor the ACPI deamon log file - Assuming it is located in /var/log/acpid.log, you'd run tail -f /var/log/acpid.log.

  • run an event-tracking utility such as xev - It prints quite a lot of output; but the only thing you'd be interested in is whether any keypress event is reported when you press the button. (Yes, the "hardware" button might just be sending ordinary keypress signals!)

  • look for a directory related to hardware buttons under /proc and /sys, then cat'ing the state file found underneath - You can use something like find /proc /sys -name "*button*" for that. The directory could alternatively contain switch or something similar. You can also just use find /proc /sys -name state, but that would also print many directories related to other stuff, such as disk controller or Ethernet card.

share|improve this answer
    
this is interesting information. When my wireless 'is working' (after a windows warm boot), the hardware switch works as expected... It will properly disable and re-enable the wireless device. If i do this with an rfkill event process running, I will get that the button was pressed and I can see the hard and soft locks engage and then disengage properly. When I'm in a 'non-wireless working mode' (after a reboot directly back into linux) and I'm doing the rfkill event, the hardware switch is seen but the hard lock doesnt disable, just the soft lock does. –  g19fanatic Jul 12 '12 at 13:35
    
@g19fanatic The problem with relying on what rfkill event says is that you cannot tell, at what level the hardware button fails. rfkill is just a handy little tool, but is rather useless for debugging such hardware issues. That is why I suggested generic methods which can pinpoint the problem. –  rozcietrzewiacz Jul 12 '12 at 14:47
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.