Ubuntu – Wireless connection keeps dropping with an Intel 3945ABG card

11.10connectionintel-wirelesswireless

After updating to 11.10 from 11.04, my wireless connection keeps dropping off from time to time.

Now, I already experience this problem when I was using 10.04 (the workaround back then was to replace NetworkManager with wicd. But the thing is I'm not really a fan of wicd and seeing that the problem seems to have been fixed in previous releases, I think there's a similar solution that I can try.

Here's the some more detail of my system

$ sudo lshw -C network

*-network
       description: Wireless interface
       product: PRO/Wireless 3945ABG [Golan] Network Connection
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: wlan0
       version: 02
       serial: 00:19:d2:ad:20:4d
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwl3945 driverversion=3.0.0-12-generic firmware=15.32.2.9 ip=192.168.1.3 latency=0 link=yes multicast=yes wireless=IEEE 802.11abg
       resources: irq:44 memory:84100000-84100fff

$ sudo lsmod | grep iwl

iwl3945                73329  0 
iwl_legacy             71499  1 iwl3945
mac80211              272785  2 iwl3945,iwl_legacy
cfg80211              172392  3 iwl3945,iwl_legacy,mac80211

$ dmesg

[43972.920056] wlan0: no IPv6 routers present
[44533.245630] wlan0: deauthenticating from 94:0c:6d:c0:51:ca by local choice (reason=3)
[44533.260462] cfg80211: All devices are disconnected, going to restore regulatory settings
[44533.260472] cfg80211: Restoring regulatory settings
[44533.260488] cfg80211: Calling CRDA to update world regulatory domain
[44533.273177] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain 
[44533.273181] cfg80211: World regulatory domain updated:
[44533.273184] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[44533.273188] cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[44533.273191] cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[44533.273195] cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[44533.273198] cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[44533.273202] cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[44534.078574] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[44539.626843] wlan0: authenticate with 94:0c:6d:c0:51:ca (try 1)
[44539.628827] wlan0: authenticated
[44539.629214] wlan0: associate with 94:0c:6d:c0:51:ca (try 1)
[44539.631514] wlan0: RX AssocResp from 94:0c:6d:c0:51:ca (capab=0x411 status=0 aid=1)
[44539.631522] wlan0: associated
[44539.633667] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[44551.104169] wlan0: no IPv6 routers present
[44987.241475] wlan0: deauthenticating from 94:0c:6d:c0:51:ca by local choice (reason=3)
[44987.288269] cfg80211: All devices are disconnected, going to restore regulatory settings
[44987.288279] cfg80211: Restoring regulatory settings
[44987.288294] cfg80211: Calling CRDA to update world regulatory domain
[44987.309376] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain 
[44987.309383] cfg80211: World regulatory domain updated:
[44987.309385] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[44987.309389] cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[44987.309393] cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[44987.309396] cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[44987.309400] cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[44987.309403] cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[44988.074180] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[44993.648439] wlan0: authenticate with 94:0c:6d:c0:51:ca (try 1)
[44993.651354] wlan0: authenticated
[44993.651651] wlan0: associate with 94:0c:6d:c0:51:ca (try 1)
[44993.653990] wlan0: RX AssocResp from 94:0c:6d:c0:51:ca (capab=0x411 status=0 aid=1)
[44993.653995] wlan0: associated
[44993.655984] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[45005.400035] wlan0: no IPv6 routers present

Thanks,

Best Answer

Got to say i'm sorry; at that time the code posted here http://ubuntuforums.org/showpost.php?p=11356188&postcount=35 seemd to have worked but haven't.

I found a solution on launchpad which seem to work - /etc/modprobe.d/iwl3945.conf options iwl3945 disable_hw_scan=0. It works even after a system reboot. Cheers!