8

I a Broadcom 4312 using the STA drivers, I reinstalled ubuntu because the b43 drivers were giving me a huge hassle along with some weird kernel issues.

My wireless speed is fine, everything works well, except upon restart of computer and after taking the computer out of suspend. It takes about 30-45 seconds for the wireless to reconnect, and I think it is a driver issue (I clicked on the network manager at the top and for about 30 seconds there are no wireless networks listed.)

I tried this advice already: http://lilserenity.wordpress.com/2007/10/31/fix-ubuntu-dropping-wireless-on-suspendhibernate-resume/ which basically says to change this:

STOP_SERVICES=""

to

STOP_SERVICES="networking"

in the file

/etc/default/acpi-support

This did not help anything. Something to note is that the issue does not occur when I am logging back in after already logging in once and logging out.

4 Answers 4

7

The following woked for me on an Asus x50N. Cheers

STOP_SERVICES=""

to

STOP_SERVICES="networking"

in the file /etc/default/acpi-support

1
  • This worked also for me with T60.
    – user13345
    Mar 31, 2011 at 15:35
1

Adding "networking" to /etc/default/acpi-support might not be enough. You might find you get better results by putting the whole network card to sleep. I have to do so to my bluetooth driver, or the whole laptop fails to resume after suspend.

Go to your network manager applet, right-click and choose Connection Information. Note the name of your Driver. You can confirm this name by opening a terminal and issuing lsmod. Perhaps grep the result for your driver (eg lsmod | grep sky2) because if anything depends on this, you'll need to tell ACPI to shut that down too.

Then in /etc/default/acpi-support, add your driver. So the sum total of your edits will be :

STOP_SERVICES="networking"
MODULES="sky2 toshiba_bluetooth bluetooth btusb"

n.b. I use a Toshiba laptop, hence the Toshiba references. Your modules will have to be determined from the output of lsmod outlined above.

The order is important, so that networking is stopped first, then the modules are unloaded in the order of sky2 WiFi driver, then the bluetooth drivers. They are then started in reverse order after a resume.

3
  • I so wanted this to work, but it doesn't on my Compaq Mini311c (Broadcom wireless). I added "networking bluetooth btusb wl" but it takes about the same length of time to bring up the interface and reconnect. Shame.
    – Jonathon
    Dec 29, 2010 at 16:18
  • That's interesting - just checked my /etc/default/acpi-support and I've not used "Stop Services", I've used "Modules". I'll update my answer.
    – Scaine
    Dec 29, 2010 at 17:06
  • It didn't seem to solve the problem. for the MODULES string I had MODULES="wl bluetooth btusb", and tried removing combinations of bluetooth and btusb and coming out of sleep but to no avail. One thing to note is that I couldn't find an equivalent "toshiba_bluetooth" driver for my dell
    – eqzx
    Dec 30, 2010 at 5:11
0

I'm pretty sure this is normal behaviour with all wireless cards in Ubuntu; it does the same with both my Broadcom and Intel cards.

If you disable and reenable wireless you will see the same thing - it takes time to initialise the card and for Network Manager to detect the card, then detect the wireless network.

When you log out the card is still active within the system, so all Network Manager has to do when you log in is to scan for networks.

If memory serves, Windows 7 does exactly the same thing - it doesn't detect wireless networks immediately after resume (or boot, for that matter).

1
  • My Toshiba U400 uses a Marvel chipset (sky2 driver) and I have wireless connectivity about 10 seconds after opening the lid. By the time I've put my password in, it's usually connected.
    – Scaine
    Dec 29, 2010 at 14:10
0

I found a similar issue with Ubuntu 12.04. The above suggested solution does not fix it. The problem appears to be this bug:

https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/274405

The workaround in comment 74 fixes it for me:

Change the last part in /usr/lib/pm-utils/sleep.d/55NetworkManager

from
  thaw|resume)
     resume_nm

to
  thaw|resume)
    resume_nm
    sleep 2 && iwlist eth1 scanning &
1

You must log in to answer this question.

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