Okay. What bit rate is being reported by iwconfig? Just post the whole thing.
P.S.: On second thought, I'm not sure if it really matters what iwconfig says at any given moment. First, I never bother with system-config-network (the old Network Configuration utility where we all used to configure wireless interfaces manually). I leave that thing alone nowdays, and it's set at auto by default for the rate which gets negotiated to a satisfactory rate for me. Its text config files (*/ifcfg-wlan0), which I also never edit nowadays, usually have only about three default lines and rate is not one. Next, when I look at the rate in iwconfig, do a an Internet connection speed test (speedtest.net), and look at iwconfig again, there seems to be no correlation between what iwconfig says and the speed test results. For example, I manually entered the rate as 1 with iwconfig wlan0 rate 1M
, confirmed the entered rate with iwconfig, and ran the speed test. The result was normal for me (4.5 Mbs up). I have AT&T Extreme 6.0 DSL, but I am hell-and-gone from the location of the card to which I am connected at the telephone company. I typically get up speeds of 4.5 to 6 Mbs depending on who-knows-what. Anyway, iwconfig at that point said the rate was 5.5M. Then I entered the rate of 54M with iwconfig, confirmed it, ran the speed test, and got 1.38 Mbs up. Re-entered auto, repeated the speed test, and still got 1.43 Mbs up. Checked iwconfig again and it said the rate was at 48M. I did this several times, over and over, different rates with iwconfig and system-config-network. Never saw a correlation to the speedtests. Now my system-config-network config files (*/ifcfg-wlan0) have a bunch of new lines due to fooling with system-config-network. Rate is at auto. I returned everything to ante-experiment, rebooted, retested, and got 4.01 Mbs up, and iwconfig said the rate was 1M. So I don't really know if what iwconfig is saying matters when NetworkManager is controlling the interface.
To anyone: Is there a way to control the interface connection rate when NetworkManager is controlling the interface? Or is that strictly something that gets negotiated to the best level?
P.P.S.: If you never get anywhere with this speed issue, then you certainly can try other drivers or driver methods or firmware. No promises. I generally trust the kernel to load the appropriate module for detected hardware. And when it loads b43legacy, the linuxwireless.org (home of b43/b43legacy) documentation says to install version 3 firmware. But nothing would stop you from trying the OpenFWWF firmware that comes with Fedora nowadays. It is advertised to support the BCM4306 chipset. You also can try ndiswrapper with your Windows driver (W2K or XP, not Vista or W7). I did that with my BCM4306 cards in the days of Fedora 4 or 5 before I learned how to use NetworkManager. It worked fine. But don't waste time with broadcom-wl. It is not known to work with BCM4306.
P.P.S.: Try a different router channel. You never know.