Wireless not working after suspend (S3) with ipw2100

Bug #115743 reported by JakeG
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu
Invalid
Undecided
Unassigned

Bug Description

When I suspend (s3/sleep) and then wake up, my wireless is no longer working. Its on (lit) but does not work, possibly a DHCP problem.

02:05.0 Network controller: Intel Corporation PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)

I've tried unloading and reloading the ipw2100 module and this turns the LED for the wireless on and off, but doesn't help. I've also tried restarting network manager, ifdown eth1 and ifup eth1, "/etc/dbus-1/event.d/22dhcdbd restart
", "/etc/dbus-1/event.d/22dhcdbd restart" and various other potential solutions I've found elsewhere. None work.

Hibernating or restarting makes wireless work again. This happens every time I've tried a suspend so far. I use vbetools for suspend as per my bug https://bugs.launchpad.net/ubuntu/+bug/115579 as it doesn't work normally. See that bug for lspci-vvnn.log and dmesg.log.

Please let me know if anyone needs any extra info, log files etc. Laptop is an Acer Travelmate C110 (C111TCi). Using Feisty: Linux jake-tablet 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007 i686 GNU/Linux

Thanks,

Jake

Revision history for this message
JakeG (ubuntu-jakeg) wrote :

If I haven't done a suspend/resume cycle, ifdown then ifup eth1 gives me this output:

---
Listening on LPF/eth1/00:04:23:63:d8:23
Sending on LPF/eth1/00:04:23:63:d8:23
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7
DHCPOFFER from 192.168.2.1
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 192.168.2.1
bound to 192.168.2.3 -- renewal in 967833463 seconds.
---

... i.e. it works

But after a restart if I try the same thing, I get this:

---
Listening on LPF/eth1/00:04:23:63:d8:23
Sending on LPF/eth1/00:04:23:63:d8:23
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 4
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 15
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
No DHCPOFFERS received.
Trying recorded lease 192.168.2.13
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.

--- 192.168.2.1 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

No working leases in persistent database - sleeping.
---

/var/log/messages records this:

---
May 20 09:25:39 jake-tablet kernel: [ 1919.064000] ieee80211: 802.11 data/management/control stack, git-1.1.13
May 20 09:25:39 jake-tablet kernel: [ 1919.064000] ieee80211: Copyright (C) 2004-2005 Intel Corporation <email address hidden>
May 20 09:25:39 jake-tablet kernel: [ 1919.084000] ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, git-1.2.2
May 20 09:25:39 jake-tablet kernel: [ 1919.084000] ipw2100: Copyright(c) 2003-2006 Intel Corporation
May 20 09:25:39 jake-tablet kernel: [ 1919.088000] ACPI: PCI Interrupt 0000:02:05.0[A] -> Link [LNKG] -> GSI 11 (level, low) -> IRQ 11
May 20 09:25:39 jake-tablet kernel: [ 1919.088000] ipw2100: Detected Intel PRO/Wireless 2100 Network Connection
May 20 09:25:39 jake-tablet kernel: [ 1919.176000] eth1: Radio is disabled by RF switch.
May 20 09:25:40 jake-tablet kernel: [ 1919.408000] ADDRCONF(NETDEV_UP): eth1: link is not ready

---

Jake.

Revision history for this message
JakeG (ubuntu-jakeg) wrote :

This line in /var/log/messages gives it away:

May 20 09:25:39 jake-tablet kernel: [ 1919.176000] eth1: Radio is disabled by RF switch.

I searched for this and found that when my laptop resumes from sleep, for some weird reason the WiFi radio is disabled. I downloaded and installed 'acerhk' which makes my Acer's HotKeys (including a wireless switch) work. So now after resume, I can press the appropriate hotkey (a couple of times) until the switch goes back to 0 (meaning not-disabled, i.e. 'on').

To check whether on or not I do:
$ cat /sys/bus/pci/drivers/ipw2100/*/rf_kill

... this tells me the state of the rf switch, with possible values:

0 = RF kill not enabled (radio on)
1 = SW based RF kill active (radio off)
2 = HW based RF kill active (radio off)
3 = Both HW and SW RF kill active (radio off)

... 0 is what I want. When the laptop resumes from sleep though, it defaults to 2.

The Acer HotKey program can be downloaded from here:
http://www.cakey.de/acerhk/

After downloading and 'make' 'make install' a 'modprobe acerhk' is also needed as root.

Still, this is still a bug. Its taken me a few hours to figure this out and have stretched my technical knowledge. Best of luck if my gran wanted to get it working.

Revision history for this message
asdf (asdf123123-deactivatedaccount-deactivatedaccount) wrote :

I have a quite similar problem. On my laptop (hp nx 7010) wlan is not working after suspend (however if I reboot it works again). I didn't figure out so far what is causing the problem, I only found the following things in /var/log/daemon.log

May 29 17:37:42 nx7010 kernel: [77978.556000] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
May 29 17:37:52 nx7010 kernel: [77987.996000] ADDRCONF(NETDEV_UP): eth1: link is not ready
May 29 17:37:53 nx7010 kernel: [77989.316000] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

But nothing like "radio is disabled"

i also found this in /var/log/messages

May 29 17:42:14 nx7010 dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth1 for sub-path eth1.dbus.get.reason

Revision history for this message
asdf (asdf123123-deactivatedaccount-deactivatedaccount) wrote :

I noticed that this is not always the case, when I use use networking with NetworkManager it seems to work fine. However At school i have to use the internet w/o NetworkManager and with a custom wpa_supplicant config, because it has an enterprise setup with wep (they will move to wpa2 soon). So I turn of then NetworkManager (right click and turn off "Enable Networking") then start wpa_supplicant and dhclient manually. I think I also killed wpa_supplicant before closing and suspending the laptop, but I'm not sure.

Revision history for this message
Thomas de Graaff (thomasdegraaff) wrote :

My computer with Xubuntu feisty had a problem with getting an ip-adress after waking from hibernation. I´ve solved this problem by changing /etc/default/acpi-support

Editing this file, look for the line below, where to add [networking] after that no problems anymore:

# Add services to this list to stop them before suspend and restart them in
# the resume process.
STOP_SERVICES="networking"

Hope this will work for you to,
Thomas.

Revision history for this message
Olivier Lemaire (olivier-lemaire) wrote :

I'm running feisty too, and had the same issue with resuming from a suspended state: must, most of the time, dhclient my wireless interface again to have network correctly resumed.

I applied your tip (STOP_SERVICES="networking" to /etc/default/acpi-support) and it's working fine now.

Perhaps this could be the default behaviour of next release?

Revision history for this message
robotron2084 (ubergeek-ubergeek) wrote :

I am also running an Acer Travelmate C110 with the ipw2100. Thanks so much for the info, as I thought noone would else would have the same hardware and hence the same problem. Installing the acerhk code fixed the issue, but I needed to run (per the faq):

echo 1 > /proc/driver/acerhk/wirelessled

to get it rolling. I put this into /etc/acpi/resume.d/60-asus-wireless-led.sh and now it just works, no button press needed!

I realize though that this is a hack. The setLEDAsusWireless function should theoretically work out of the box on older Acer hardware. This would probably require including acerhk in the distribution, and modify the acpi scripts to fix the problem. Alas, I'm not that heavyweight at acpi hacking.

Revision history for this message
Markus Kienast (elias1884) wrote :

All this sounds familiar. I have an Acer laptop with intel wireless too. But the Intel Corporation PRO/Wireless 2200BG on my Vaio does somewhat the same thing. It seems as if nm-applet is connecting but it never gets an IP and is unable to talk to the WLAN if I assign one manually.

On my Vaio this is after resuming from hibernation. On the Acer after resuming from either suspend or hibernation.

Revision history for this message
Markus Kienast (elias1884) wrote :

This bug might be related or an additional problem preventing this to work beside the hardware side: bug #158017. On my VAIO in Gutsy this nm-applet bug was the cause of the problem. However I am pretty sure this is not a duplicate. I will confirm as soon as I have checked on my mothers Acer, but I am pretty sure there is something else to this as well.

Revision history for this message
Markus Kienast (elias1884) wrote :

As this bug seems to be hardware related I would say, this bug would also benefit from resolving bug #3382.

Please add your comment to the bug report if you feel this would be a good thing to solve.

Revision history for this message
TomasHnyk (sup) wrote :
Revision history for this message
Andy Grover (andy-groveronline) wrote :

Here is the solution on Gutsy for my Acer C110:

1) acerhk.ko is included in linux-ubuntu-modules package so you don't need to build from source. You probably already have this installed.
2) Add acerhk to /etc/modules and type "sudo modprobe acerhk"
3) Instead of modifying the asus file as mentioned above, I think it's better to create a new one:
sudo echo "echo 1 > /proc/driver/acerhk/wirelessled" > /etc/acpi/resume.d/60-acer-wireless-led.sh

Revision history for this message
Brian Murray (brian-murray) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. However, this bug is a duplicate of bug 53310 and is being marked as such. Feel free to submit any future bugs you may find.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.