Wireless connection is lost periodically and without apparent reason and is quickly reestablished on a BCM4312

My wireless connection has lost stability after I upgraded from Ubuntu 11.10 to Ubuntu 12.04. It used to remain connected for as long as there was signal, but now I get periodic disconnects which appear very random and without a defined cause.

I have attached an image (below) of a signal graph (graphed by iwScanner) which shows how signal is relatively stable but it is somehow lost momentarily and quickly regained.

iwScanner signal graph

You can see how there are short interruptions in the signal that cut the connection, which I assure you, are not caused by my router.

My network card is a Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01), in case it is relevant.

ADDENDUM I

Test information

I had thought that the cause of this problem was either my network management application or the wireless card driver, so I decided to find out and tried the following configurations:

  • wicd with my same wl driver. This does not fix the problem, the behavior stays the same.
  • wicd with the b43 driver. With this configuration, I can't even connect to internet - wicd reads no networks in range.
  • nm-applet with b43 driver. This does not fix the problem either.

(My original configuration was nm-applet with the wl driver)

Also, I think the wl driver is also called sta.

Because of the outcome of this tests, I would conclude that the problem is not in the network management application nor in the driver. Where else could it be?


Disable IPv6

Possible answer By the question's author, credit for user Captine.

I noticed this question on the Related sidebar, and one of its answers seems to solve my problem: Disabling IPv6 connectivity.

I have set the Network Manager applet to ignore by all means IPv6, but perhaps what was causing the problem was that my connection was changed by the upgrade so that it required IPv6 addressing before it was considered completed.

Connection settings

Of course this does not seem like a perfect solution (or even permanent), now that even though in my country IPv6 is still not a standard, it will someday be and I would like to have a continuous connection by then. For those whose ISPs provide only IPv6 connectivity, this is not a solution.

I have had a continuous connection for a long time now: enter image description here

If I have no interruptions for the whole day, I will make this an answer and consider this question closed. Of course, this question might be a duplicate of the one I linked - the opinion of a moderator is pending.


My laptop has a Broadcom 4313 chipset which uses the same driver as yours. One thing I observed is that, when there's sustained and relatively high network traffic, the link will go down for about 10 seconds every 2 minutes. This is because the driver scans for access points every 2 minutes, but can't do this if the link is up; it thus brings the link down, scans, and brings link back up.

I'm not sure why this happens but a workaround I found is

  1. Find the hardware address for your access point. One way to do it is to use the iwconfig command and look where it says "Access Point:". It will have an address looking like AA:BB:CC:DD:EE:FF.
  2. Open the Networks indicator, then go to Edit Connections
  3. Select your wireless connection , press Edit, and on the BSSID field (NOT SSID), put the hardware address from your access point. Then save the connection.

I think what happens is, if the BSSID is configured, the driver knows the router's MAC address and doesn't need to go trying to find it every 2 minutes. If it's not configured, all it knows is the SSID and needs to check the MAC address, and for some reason wants to do it constantly.