wireless connection occasionally is dropped

Dell Inspiron 600m laptop, SUSE 11.2, Broadcom b43 driver, using Network Manager, with a Belkin N+ wireless router.

My wireless works well most of the time, BUT the connection occasionally drops. It may be after a period of inactivity. Sometimes, it happens while I’m actively using it.

For what it’s worth, I have no problems with two other laptops, one Windows XP and one Windows 7, using the same router.

When it’s working (after boot):

mark@linux-wpmp:~> dmesg | grep firmware
   59.000366] tg3 0000:02:00.0: firmware: requesting tigon/tg3_tso5.bin
   60.768095] b43 ssb0:0: firmware: requesting b43/ucode5.fw
   60.895486] b43 ssb0:0: firmware: requesting b43/pcm5.fw
   60.977859] b43 ssb0:0: firmware: requesting b43/b0g0initvals5.fw
   61.013849] b43 ssb0:0: firmware: requesting b43/b0g0bsinitvals5.fw
   61.252090] b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10)

mark@linux-wpmp:~> sudo /usr/sbin/iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"myssid"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: [my router mac address]   
          Bit Rate=54 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:[my encryption key] [3]
          Power Management:off
          Link Quality=64/70  Signal level=-46 dBm  Noise level=-68 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

When it drops, I see a disconnected wireless icon in the gnome panel. When the wireless connection has failed:

mark@linux-wpmp:~> sudo /usr/sbin/iwconfig
root's password:
lo        no wireless extensions.

eth0      no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"g\xC6isQ\xFFJ\xEC)\xCD\xBA\xAB\xF2\xFB\xE3F|\xC2T\xF8\x1B\xE8\xE7\x8DvZ.c3\x9F\xC9\x9A"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
          Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

mark@linux-wpmp:~> dmesg | grep wlan0
   74.808329] wlan0: authenticate with AP [router mac address]
   74.809891] wlan0: authenticated
   74.809897] wlan0: associate with AP [router mac address]
   74.812594] wlan0: RX AssocResp from [router mac address] (capab=0x411 status=0 aid=1)
   74.812602] wlan0: associated
   79.660824] martian source 255.255.255.255 from 192.168.4.10, on dev wlan0
   84.024363] martian source 255.255.255.255 from 192.168.4.10, on dev wlan0
  993.433251] wlan0: deauthenticated (Reason: 3)
  994.432063] wlan0: direct probe to AP [router mac address] try 1
  994.436545] wlan0 direct probe responded
  994.436550] wlan0: authenticate with AP [router mac address]
  994.438387] wlan0: authenticated
  994.438391] wlan0: associate with AP [router mac address]
  994.441045] wlan0: RX ReassocResp from [router mac address] (capab=0x411 status=0 aid=1)
  994.441051] wlan0: associated
 7938.886667] wlan0: disassociating by local choice (reason=3)

Now, if I right-click the Network Manager (version 0.7.1), Select edit connections,
Select wireless tab in the Network Connections window,
Left-click my wireless [my ssid], and ENTER,
The Editing [my ssid] window comes up, click Apply,
This re-establishes the connection, and a Bug Buddy window opens
The crash details are as follows:


Distribution: openSUSE 11.2 (i586)
Gnome Release: 2.28.2 (null) (SUSE)
BugBuddy Version: 2.28.0

System: Linux 2.6.31.12-0.1-default #1 SMP 2010-01-27 08:20:11 +0100 i686
X Vendor: The X.Org Foundation
X Vendor Release: 10605000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Sonar
Icon Theme: Gilouche
GTK+ Modules: canberra-gtk-module, gnomebreakpad

Memory status: size: 0 vsize: 0 resident: 0 share: 0 rss: 0 rss_rlim: 0
CPU usage: start_time: 0 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 0



----------- .xsession-errors ---------------------
** (nm-applet:1610): WARNING **: Invalid connection: 'NMSettingConnection' / 'type' invalid: 3
** (nm-applet:1610): WARNING **: Invalid connection: 'NMSettingConnection' / 'type' invalid: 3
** (nm-applet:1610): WARNING **: Invalid connection: 'NMSettingConnection' / 'type' invalid: 3
** (nm-applet:1610): WARNING **: Invalid connection: 'NMSettingWirelessSecurity' / 'key-mgmt' invalid: 2
** (nm-applet:1610): WARNING **: Invalid connection: 'NMSettingConnection' / 'type' invalid: 3
** (nm-applet:1610): WARNING **: Invalid connection: 'NMSettingWireless' / 'ssid' invalid: 2
(nm-connection-editor:12881): GLib-GObject-WARNING **: invalid cast from `NMConnectionEditor' to `GtkWindow'
** (bug-buddy:13045): WARNING **: Couldn't load /etc/xdg/autostart/ksmolt-autostart.desktop: Invalid key name: X-KDE-autostart-condition$e]
--------------------------------------------------

Any ideas on how to avoid all this aggravation ??