-   Linux - Laptop and Netbook (
-   -   resuming after pm-suspend produce an rfkill hard block on WLAN0 (

wrobertz 01-21-2013 08:53 PM

resuming after pm-suspend produce an rfkill hard block on WLAN0
I tried pm-suspend on my Dell Inspiron 17R laptop running Slackware 14. After resuming, most everything was fine, except that wlan0 has a hard block. If I do rfkill list, I get:
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

I tried "rfkill unblock wlan" and even "rfkill unblock all", but neither work. So... at this point, I have no connection to the internet. (I'm writing this from another computer...)

This is the 1st time I've tried pm-suspend. By the way, I use wpa_supplicant to bring up wlan0. I've tried to bring restart the network but that didn't work:
/etc/rc.d/rc.inet1 restart
SIOCSIFFLAGS: Operation not possible due to RF-kill
rfkill: WLAN hard blocked
rfkill: WLAN hart blocked
Could not set interface wlan0 flats: Operation not possible due to RF-kill
I saw elsewhere that people had downgraded dhcpcd from 5.5.5-1 back to 5.5.4-1; haven't tried that yet. Current version of dhcpcd is 5.5.6.

Any thoughts? Thanks in advance!

Tryptophan 01-25-2013 07:35 PM

Hi, i have the same problem here... I have a Dell Studio 1558 with Slackware 14.0 recently installed and i can't unblock the devices. I've tried "rfkill unblock wlan/all/0" and nothing happened, so i don't have internet on my Linux.

Any help would be appreciate..


wrobertz 01-26-2013 05:31 AM

Tryptophan, first, I found that on my Dell laptop, Fn<F2> would unblock both the hard and soft blocks that rfkill did. (I had to reboot or suspend/resume for them to actually unblock.) Seems that /usr/lib/pm-utils/sleep.d/49bluetooth-generic does a 'rfkill block bluetooth', which also results in both soft and hard blocks on dell-wifi, which don't seem to be unblocked with a 'rfkill unblock ...'. So I removed the execute bit on this file: chmod -x /usr/lib/pm-utils/sleep.d/49bluetooth-generic so that it's no longer called by pm-suspend.

Next, my IT person from my previous job suggested the following:
echo 'SUSPEND_MODULES="uhci_hd button ehci_hd iwlwifi"' > /etc/pm/config.d/modules.
This will result in the wifi modules to be specifically unloaded before suspend and
reloaded after resume.

Finally, I found that although wifi (wlan0) had been properly resumed, I always have to restart dhcpcd:
dhcpcd -d -t 20 wlan0
It would be nice to have this done automatically after the wifi is resumed, but I haven't been able to figure out how to do this.

The above works for me, and I thus have added the acpi hook in /etc/acpi/
case "2" in
lid) pm-suspend

Hope this helps!

Tryptophan 01-26-2013 08:47 AM

Wrobertz, pressing fn+F2 was enough!!. Thank you so much for your help!! :).

All times are GMT -5. The time now is 08:08 PM.