I have an HP 520 and is running the latest Ubuntu 11.10. The hardware works fine with Ubuntu with one exception: The device has a hardware switch for turning the wifi on and off. Every time the wi-fi is disabled through the hardware switch, I am unable to bring it on again. The message on the networking popup would be device not ready.

What I am looking for is a way to disable the hardware switch altogether so that when users accidentally press the button, the wifi would not be disabled.

  • There is no setting to disable the switch in the BIOS.

Hardware info from lspci -nn:

00:00.0 Host bridge [0600]: Intel Corporation Mobile 945GME Express Memory Controller Hub [8086:27ac] (rev 03)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 01)
00:1c.0 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 1 [8086:27d0] (rev 01)
00:1c.1 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 2 [8086:27d2] (rev 01)
00:1d.0 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 [8086:27c8] (rev 01)
00:1d.7 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller [8086:27cc] (rev 01)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev e1)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge [8086:27b9] (rev 01)
00:1f.2 IDE interface [0101]: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller [8086:27c4] (rev 01)
02:06.0 CardBus bridge [0607]: ENE Technology Inc CB1410 Cardbus Controller [1524:1410] (rev 01)
02:08.0 Ethernet controller [0200]: Intel Corporation 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile [8086:1068] (rev 01)
10:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)

The output from lsmod | grep iwl:

iwl3945                73329  0 
iwl_legacy             71499  1 iwl3945
mac80211              272785  2 iwl3945,iwl_legacy
cfg80211              172392  3 iwl3945,iwl_legacy,mac80211
  • We need more hardware information to help you, can you look at this question and then edit your question adding the information? Nov 7, 2011 at 3:36
  • I rephrased the question to make it more clear, and I have also added the hardware information of the machine
    – avee
    Nov 7, 2011 at 3:55
  • I take it there's no setting in the bios for it? Nov 7, 2011 at 3:57
  • As a matter of fact, no.
    – avee
    Nov 7, 2011 at 4:11
  • Do you know which driver is used for your WiFi (the 3945ABG)? Did you try to use sudo modprobe iwl-3945 and/or iwl3945-base to bring the device up via command again? Nov 7, 2011 at 4:24

2 Answers 2


No, you cannot. To sort of disable it you can phsically block or remove the hardware switch. There is no way to override the hardware disable button if rfkill shows hard blocked that is feasible for most people.

When you unblock it, if it gets stuck in some inconsistent state your best bet is to:
sudo modprobe -r iwl3945 && sudo modprobe iwl3945
I have an hpdv7 and the wireless a)uses the same driver and b)hardware toggle works for me.


Since its hardware, it's hardware. If you really want it "set" in one position use glue.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .