Wireless connection drops when downloading files (Corrected Post)

I saw there was another thread on this but with out a solution and I didn’t want to piggyback on it. Not sure if my issue is 100% the same. My wireless connection drops when I try to download a file (ie, google chrome). Once it drops however, it will not reconnect until i reboot.

I am using a Dell Inspiron mini 12 on openSUSE 11.4 with the following adapter:

03:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
03:00.0 0280: 14e4:4315 (rev 01)

dmesg says the following about this card:

 9.972877] b43-pci-bridge 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
 9.972907] b43-pci-bridge 0000:03:00.0: setting latency timer to 64
 10.628962] b43-phy0: Broadcom 4312 WLAN found (core revision 15)
 10.939346] Broadcom 43xx driver loaded  Features: PMLS, Firmware-ID: FW13 ]
 38.786147] b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23)

it also says this right after, not sure if this has anything to do with anything:

 10.631177] dell-laptop: Blacklisted hardware detected - not enabling rfkill

from iwconfig:

SUSE Paste

any help here would be greatly appreciated

On 03/11/2013 09:56 AM, khaos337 wrote:
>
> any help here would be greatly appreciated

Sorry that I missed your first post, but the source of your problem has been
found since you first wrote. That is the good news. The bad part is that you
will need to do some work.

The problem is that the brain-dead firmware (that Broadcom refuses to let us
redistribute) apparently does not detect a buffer-full condition, and stupidly
overwrites the buffer space, which causes the driver to abort. The only recovery
is to reset the driver, which is an intrusive change. The problem is aggravated
by a fast link and a slow CPU.

A simpler work-around involves quadrupling the size of the buffer, which seems
to work even for the very slow CPU found in Linksys WRT54G routers. The downside
is that the driver needs about 1/2 MB more memory.

The easiest way for you to get a driver that includes this change would be to
run one of the following commands depending on whether your system is 64- or 32-bit:


sudo rpm -i
http://download.opensuse.org/repositories/Kernel:/HEAD/standard/x86_64/kernel-desktop-3.8.2-2.1.x86_64.rpm

or


sudo rpm -i
http://download.opensuse.org/repositories/Kernel:/HEAD/standard/i686/kernel-desktop-3.8.2-2.1.i686.rpm

This command will include a 40 MB download, thus you might want to use a wired
connection if one is available. Once that command finishes, you should reboot
and select the new entry for the 3.8.2 kernel in the GRUB menu. Once you have
verified that it works, then use YaST -> System => Boot Loader to make this the
default kernel.

As 11.4 is no longer being maintained, you should probably consider upgrading.
The standard kernel in 12.3 (3.7.10) includes this fix; however, the kernel in
12.2 does not.

On 2013-03-11 17:29, Larry Finger wrote:
>
> As 11.4 is no longer being maintained, you should probably consider
> upgrading. The standard kernel in 12.3 (3.7.10) includes this fix;
> however, the kernel in 12.2 does not.

11.4 is maintained in Evergreen, and a kernel 3.0 is being prepared in
the path. I doubt that this patch will be backported, but you can ask.


Cheers / Saludos,

Carlos E. R.
(from 11.4, with Evergreen, x86_64 “Celadon” (Minas Tirith))

Updated the kernel and all seems to be working great! Thanks for the help!

On 03/12/2013 04:16 PM, khaos337 wrote:
>
> Updated the kernel and all seems to be working great! Thanks for the
> help!

Yes, that fix was really needed. Too bad Broadcom screwed up their part. I guess
that is why the firmware is closed source - it is really lousily coded.

You are welcome.