[SOLVED] Laptop wireless card physical button

You have a problem with Salix? Post here and we'll do what we can to help.
User avatar
Arael
Posts: 40
Joined: 2. Apr 2010, 19:24

[SOLVED] Laptop wireless card physical button

Post by Arael »

Hi guys,

I have a strange problem. My laptop has a button which enables/disables the wireless card. If I boot my system with the physical button off it remains not operative. This means that If I need to enable the wireless connection I need to reboot with the button on.
I guess that this is probably related to modules which are loaded during the boot but I'm not sure.

Any suggestions?

My laptop is a Dell M1330

Thank you in advance. ;)
lscpi output:

Code: Select all

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 0c)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 02)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
03:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
03:01.2 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
03:01.3 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
09:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
lsmod output:

Code: Select all

Module                  Size  Used by
snd_seq_dummy           1111  0 
snd_seq_oss            25075  0 
snd_seq_midi_event      4560  1 snd_seq_oss
snd_seq                39269  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          4465  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            34555  0 
snd_mixer_oss          14750  1 snd_pcm_oss
ipv6                  228913  29 
cpufreq_ondemand        7088  1 
speedstep_lib           2655  0 
acpi_cpufreq            3640  1 
freq_table              1967  2 cpufreq_ondemand,acpi_cpufreq
mperf                    915  1 acpi_cpufreq
ppdev                   4861  0 
lp                      7073  0 
parport_pc             18186  0 
parport                25111  3 lp,ppdev,parport_pc
fuse                   56668  3 
snd_hda_codec_hdmi     20208  1 
snd_hda_codec_idt      47845  1 
i915                  360784  2 
snd_hda_intel          18021  4 
usbhid                 31565  0 
iwlagn                162704  0 
drm_kms_helper         23887  1 i915
snd_hda_codec          61720  3 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel
drm                   141617  3 i915,drm_kms_helper
iwlcore                47273  1 iwlagn
snd_hwdep               4764  1 snd_hda_codec
mac80211              178230  2 iwlagn,iwlcore
joydev                  7599  0 
snd_pcm                57713  5 snd_pcm_oss,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
intel_agp               8992  1 i915
uvcvideo               55518  0 
tg3                   115310  0 
sdhci_pci               6130  0 
sdhci                  14583  1 sdhci_pci
i2c_algo_bit            4279  1 i915
dell_laptop             6995  0 
videodev               57077  1 uvcvideo
dell_wmi                1201  0 
r852                    9377  0 
sm_common               6430  1 r852
nand                   42898  2 r852,sm_common
nand_ids                4125  1 nand
nand_ecc                3208  1 nand
sparse_keymap           2396  1 dell_wmi
v4l1_compat            13658  2 uvcvideo,videodev
snd_timer              15225  3 snd_seq,snd_pcm
cfg80211              122062  3 iwlagn,iwlcore,mac80211
libphy                 14380  1 tg3
rtc_cmos                7650  0 
processor              20234  2 acpi_cpufreq
intel_gtt              11318  3 i915,intel_agp
rfkill                 12914  2 dell_laptop,cfg80211
video                  10442  1 i915
mmc_core               56672  1 sdhci
hid                    63547  1 usbhid
battery                 8327  0 
ac                      2457  0 
thermal                 6710  0 
button                  3965  1 i915
mtd                    16327  2 sm_common,nand
sg                     20923  0 
firewire_ohci          23493  0 
rtc_core               11475  1 rtc_cmos
dcdbas                  4260  1 dell_laptop
wmi                     7121  1 dell_wmi
firewire_core          43287  1 firewire_ohci
i2c_i801                7010  0 
psmouse                40978  0 
snd                    43347  18 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
rtc_lib                 1494  1 rtc_core
evdev                   7209  16 
i2c_core               16377  6 i915,drm_kms_helper,drm,i2c_algo_bit,videodev,i2c_i801
thermal_sys            11442  3 processor,video,thermal
serio_raw               3502  0 
hwmon                   1017  1 thermal_sys
agpgart                22762  3 drm,intel_agp,intel_gtt
soundcore               4545  1 snd
shpchp                 23261  0 
snd_page_alloc          5917  2 snd_hda_intel,snd_pcm
output                  1448  1 video
Last edited by Arael on 12. Apr 2011, 21:13, edited 1 time in total.
Image
User avatar
gapan
Salix Wizard
Posts: 6362
Joined: 6. Jun 2009, 17:40

Re: Laptop wireless card physical button

Post by gapan »

And what's the lsmod after you boot with the button set to on?
Image
Image
User avatar
pwatk
Posts: 474
Joined: 14. Mar 2010, 23:56
Location: United Kingdom

Re: Laptop wireless card physical button

Post by pwatk »

I do this a lot with my M1530 and the only way I've found to restore it without rebooting is to use rfkill (it's in the repo).

It's a very simple utility, running rfkill unblock all or rfkill unblock wifi should do the trick.

Code: Select all

Usage:	rfkill [options] command
Options:
	--version	show version (0.4)
Commands:
	help
	event
	list [IDENTIFIER]
	block IDENTIFIER
	unblock IDENTIFIER
where IDENTIFIER is the index no. of an rfkill switch or one of:
	<idx> all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm
Image
User avatar
Arael
Posts: 40
Joined: 2. Apr 2010, 19:24

Re: Laptop wireless card physical button

Post by Arael »

gapan wrote:And what's the lsmod after you boot with the button set to on?
I didn't find any remarkable difference but here it is:

Code: Select all

Module                  Size  Used by
fuse                   56668  3 
snd_seq_dummy           1111  0 
snd_seq_oss            25075  0 
snd_seq_midi_event      4560  1 snd_seq_oss
snd_seq                39269  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          4465  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            34555  0 
snd_mixer_oss          14750  1 snd_pcm_oss
ipv6                  228913  16 
cpufreq_ondemand        7088  1 
speedstep_lib           2655  0 
acpi_cpufreq            3640  1 
freq_table              1967  2 cpufreq_ondemand,acpi_cpufreq
mperf                    915  1 acpi_cpufreq
ppdev                   4861  0 
lp                      7073  0 
parport_pc             18186  0 
parport                25111  3 ppdev,lp,parport_pc
i915                  360784  2 
drm_kms_helper         23887  1 i915
snd_hda_codec_hdmi     20208  1 
snd_hda_codec_idt      47845  1 
drm                   141617  3 i915,drm_kms_helper
uvcvideo               55518  0 
snd_hda_intel          18021  0 
intel_agp               8992  1 i915
videodev               57077  1 uvcvideo
v4l1_compat            13658  2 uvcvideo,videodev
iwlagn                162704  0 
iwlcore                47273  1 iwlagn
tg3                   115310  0 
i2c_algo_bit            4279  1 i915
intel_gtt              11318  3 i915,intel_agp
snd_hda_codec          61720  3 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel
snd_hwdep               4764  1 snd_hda_codec
video                  10442  1 i915
joydev                  7599  0 
rtc_cmos                7650  0 
mac80211              178230  2 iwlagn,iwlcore
dell_laptop             6995  0 
snd_pcm                57713  4 snd_pcm_oss,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer              15225  2 snd_seq,snd_pcm
cfg80211              122062  3 iwlagn,iwlcore,mac80211
snd                    43347  12 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
r852                    9377  0 
sm_common               6430  1 r852
nand                   42898  2 r852,sm_common
nand_ids                4125  1 nand
nand_ecc                3208  1 nand
processor              20234  2 acpi_cpufreq
libphy                 14380  1 tg3
thermal                 6710  0 
i2c_i801                7010  0 
i2c_core               16377  6 i915,drm_kms_helper,drm,videodev,i2c_algo_bit,i2c_i801
firewire_ohci          23493  0 
rtc_core               11475  1 rtc_cmos
agpgart                22762  3 drm,intel_agp,intel_gtt
thermal_sys            11442  3 video,processor,thermal
soundcore               4545  1 snd
mtd                    16327  2 sm_common,nand
rfkill                 12914  2 dell_laptop,cfg80211
dell_wmi                1201  0 
dcdbas                  4260  1 dell_laptop
firewire_core          43287  1 firewire_ohci
sdhci_pci               6130  0 
sdhci                  14583  1 sdhci_pci
snd_page_alloc          5917  2 snd_hda_intel,snd_pcm
rtc_lib                 1494  1 rtc_core
ac                      2457  0 
hwmon                   1017  1 thermal_sys
sparse_keymap           2396  1 dell_wmi
psmouse                40978  0 
output                  1448  1 video
mmc_core               56672  1 sdhci
battery                 8327  0 
wmi                     7121  1 dell_wmi
button                  3965  1 i915
sg                     20923  0 
evdev                   7209  18 
serio_raw               3502  0 
shpchp                 23261  0 
Image
User avatar
Arael
Posts: 40
Joined: 2. Apr 2010, 19:24

Re: Laptop wireless card physical button

Post by Arael »

pwatk wrote:
... running rfkill unblock all or rfkill unblock wifi should do the trick.
Thank you for your suggestion. I tried that but on my machine doesn't work. :cry:

By the way, I am running the 13.37 beta 2 version.
Image
User avatar
pwatk
Posts: 474
Joined: 14. Mar 2010, 23:56
Location: United Kingdom

Re: Laptop wireless card physical button

Post by pwatk »

Thank you for your suggestion. I tried that but on my machine doesn't work.
What's the output of rfkill list?

Example:

Code: Select all

0: dell-wifi: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: dell-bluetooth: Bluetooth
	Soft blocked: no
	Hard blocked: no
2: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
3: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
By the way, I am running the 13.37 beta 2 version.
Same here.
Image
User avatar
Arael
Posts: 40
Joined: 2. Apr 2010, 19:24

Re: Laptop wireless card physical button

Post by Arael »

pwatk wrote: What's the output of rfkill list?
Here it is:

Code: Select all

0: dell-wifi: Wireless LAN
	Soft blocked: yes
	Hard blocked: yes
1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: yes
Image
User avatar
pwatk
Posts: 474
Joined: 14. Mar 2010, 23:56
Location: United Kingdom

Re: Laptop wireless card physical button

Post by pwatk »

I forgot to mention that I swapped my intel wifi card for an atheros card because it kept dropping connection and I couldn't disable power management (iwconfig wlan0 power off) to fix it. Regardless of this both cards are supported out of the box by Salix/Slackware and this process is/was exactly the same.

If I boot my laptop with the wifi switch turned off the kernel modules are still loaded.

Code: Select all

pwatk[~]$ lsmod | grep ath
ath9k                  84386  0 
mac80211              204017  1 ath9k
ath9k_common            1941  1 ath9k
ath9k_hw              269347  2 ath9k,ath9k_common
ath                    13709  2 ath9k,ath9k_hw
cfg80211              142106  3 ath9k,mac80211,ath
pwatk[~]$ /usr/sbin/rfkill list
0: dell-wifi: Wireless LAN
	Soft blocked: yes
	Hard blocked: yes
1: dell-bluetooth: Bluetooth
	Soft blocked: yes
	Hard blocked: yes
2: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: yes
If I then turn the wifi switch on I get this:

Code: Select all

pwatk[~]$ /usr/sbin/rfkill list
0: dell-wifi: Wireless LAN
	Soft blocked: yes
	Hard blocked: no
1: dell-bluetooth: Bluetooth
	Soft blocked: no
	Hard blocked: no
2: phy0: Wireless LAN
	Soft blocked: yes
	Hard blocked: yes
3: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
As you can see the card is no longer 'hard blocked' but still 'soft blocked'.

If I then execute rfkill unblock all wireless is restored.

Code: Select all

pwatk[~]$ /usr/sbin/rfkill unblock all
pwatk[~]$ /usr/sbin/rfkill list
0: dell-wifi: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: dell-bluetooth: Bluetooth
	Soft blocked: no
	Hard blocked: no
2: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
3: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
I don't know if this helps but at least it's a more in depth explanation!
Image
User avatar
Arael
Posts: 40
Joined: 2. Apr 2010, 19:24

Re: Laptop wireless card physical button

Post by Arael »

pwatk wrote:I don't know if this helps but at least it's a more in depth explanation!
Thank you for your time and your explanation pwatk. If I find a solution I will post it. ;)
Image
User avatar
Arael
Posts: 40
Joined: 2. Apr 2010, 19:24

Re: Laptop wireless card physical button

Post by Arael »

Removing and inserting again the iwlagn module solves the problem.This way I can enable my wireless without rebooting.

Code: Select all

arael(~) sudo modprobe -r iwlagn
arael(~) sudo modprobe iwlagn
Solved, sort of.

Thank you guys. ;)
Image
Post Reply