All of lore.kernel.org
 help / color / mirror / Atom feed
* RFT: The real fix for BCM4311 and BCM4312
@ 2007-02-07  6:02 Larry Finger
  2007-02-07  6:34 ` Pavel Roskin
  0 siblings, 1 reply; 9+ messages in thread
From: Larry Finger @ 2007-02-07  6:02 UTC (permalink / raw)
  To: Broadcom Linux, wireless

The patch I sent out earlier was wrong; however, it provided a clue as to what was wrong in the
specs and in the code. As it turned out, the mistake I made earlier only affected 4 places in the
code and it was easy to test them in turn. According to Murphy's law, the wrong one was the last one
tested. If you don't know about Murphy, his law can be paraphrased as "Anything that can go wrong will".

The patch below will only affect cards with PHY revision 8, which I think are only BCM4311 and
BCM4312. At least those are the only ones in the database.

Sorry about the false step earlier, but I was so excited to get the 4311 working that I screwed up
the test of the 4318.

Larry

==============



Index: linux-2.6/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
+++ linux-2.6/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
@@ -1225,7 +1225,7 @@ static void bcm43xx_phy_initg(struct bcm
 	}
 	if (phy->rev < 3 && phy->connected)
 		bcm43xx_phy_write(bcm, 0x047E, 0x0078);
-	if (phy->rev >= 6 && phy->rev <= 8) {
+	if (phy->rev >= 6 && phy->rev < 8) {
 		bcm43xx_phy_write(bcm, 0x0801, bcm43xx_phy_read(bcm, 0x0801) | 0x0080);
 		bcm43xx_phy_write(bcm, 0x043E, bcm43xx_phy_read(bcm, 0x043E) | 0x0004);
 	}



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-07  6:02 RFT: The real fix for BCM4311 and BCM4312 Larry Finger
@ 2007-02-07  6:34 ` Pavel Roskin
  2007-02-07 13:43   ` Rafael J. Wysocki
  0 siblings, 1 reply; 9+ messages in thread
From: Pavel Roskin @ 2007-02-07  6:34 UTC (permalink / raw)
  To: Larry Finger; +Cc: Broadcom Linux, wireless

On Wed, 2007-02-07 at 00:02 -0600, Larry Finger wrote:
> The patch below will only affect cards with PHY revision 8, which I think are only BCM4311 and
> BCM4312. At least those are the only ones in the database.

BCM4312, old patch: 1.7M/s
no patch: 26k/s
no patch, rate 1: 100k/s
new patch: 1.7M/s
new patch, rate 1: 1.1M/s
new patch, rate 2: 1.5M/s
new patch, rate 5.5: 1.7M/s
new patch, rate 18: 2.2M/s
new patch, rate 36: 2.2M/s

Yes, it looks like the new patch is as good as the previous one for my card.

The rates are reported by wget, so they are not nearly precise, but the
difference of 2 orders of magnitude just cannot be explained by anything
other than the fix to the driver.

-- 
Regards,
Pavel Roskin


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-07  6:34 ` Pavel Roskin
@ 2007-02-07 13:43   ` Rafael J. Wysocki
  2007-02-07 13:53     ` Larry Finger
  0 siblings, 1 reply; 9+ messages in thread
From: Rafael J. Wysocki @ 2007-02-07 13:43 UTC (permalink / raw)
  To: Larry Finger; +Cc: bcm43xx-dev, Pavel Roskin, wireless

On Wednesday, 7 February 2007 07:34, Pavel Roskin wrote:
> On Wed, 2007-02-07 at 00:02 -0600, Larry Finger wrote:
> > The patch below will only affect cards with PHY revision 8, which I think are only BCM4311 and
> > BCM4312. At least those are the only ones in the database.
> 
> BCM4312, old patch: 1.7M/s
> no patch: 26k/s
> no patch, rate 1: 100k/s
> new patch: 1.7M/s
> new patch, rate 1: 1.1M/s
> new patch, rate 2: 1.5M/s
> new patch, rate 5.5: 1.7M/s
> new patch, rate 18: 2.2M/s
> new patch, rate 36: 2.2M/s
> 
> Yes, it looks like the new patch is as good as the previous one for my card.

The patch is apparently sufficient for me too.  Moreover, the D-Link APs that
were previously "invisible" are now listed by "iwlist ... scan" and I can
connect with them.  Thanks again!

Greetings,
Rafael

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-07 13:43   ` Rafael J. Wysocki
@ 2007-02-07 13:53     ` Larry Finger
  2007-02-10 23:30       ` Miles Lane
  0 siblings, 1 reply; 9+ messages in thread
From: Larry Finger @ 2007-02-07 13:53 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: wireless, bcm43xx-dev

Rafael J. Wysocki wrote:
> On Wednesday, 7 February 2007 07:34, Pavel Roskin wrote:
>> On Wed, 2007-02-07 at 00:02 -0600, Larry Finger wrote:
>>> The patch below will only affect cards with PHY revision 8, which I think are only BCM4311 and
>>> BCM4312. At least those are the only ones in the database.
>> BCM4312, old patch: 1.7M/s
>> no patch: 26k/s
>> no patch, rate 1: 100k/s
>> new patch: 1.7M/s
>> new patch, rate 1: 1.1M/s
>> new patch, rate 2: 1.5M/s
>> new patch, rate 5.5: 1.7M/s
>> new patch, rate 18: 2.2M/s
>> new patch, rate 36: 2.2M/s
>>
>> Yes, it looks like the new patch is as good as the previous one for my card.
> 
> The patch is apparently sufficient for me too.  Moreover, the D-Link APs that
> were previously "invisible" are now listed by "iwlist ... scan" and I can
> connect with them.  Thanks again!

Great - a two-for-one! That must have been a signal strength issue.

Larry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-07 13:53     ` Larry Finger
@ 2007-02-10 23:30       ` Miles Lane
  2007-02-10 23:41         ` Larry Finger
  0 siblings, 1 reply; 9+ messages in thread
From: Miles Lane @ 2007-02-10 23:30 UTC (permalink / raw)
  To: Larry Finger; +Cc: Rafael J. Wysocki, wireless, bcm43xx-dev

I am testing this patch applied to the wireless-net git tree.
The card is a Linksys WPC54G.  The card is still getting very
weak signal strength and the connection seems unresponsive
most of the time.

lspci shows:
Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN
Controller (rev 02)

Here is the output of "dmesg | grep bcm":

bcm43xx driver
bcm43xx: Chip ID 0x4318, rev 0x2
bcm43xx: Number of cores: 4
bcm43xx: Core 0: ID 0x800, rev 0xd, vendor 0x4243
bcm43xx: Core 1: ID 0x812, rev 0x9, vendor 0x4243
bcm43xx: Core 2: ID 0x804, rev 0xc, vendor 0x4243
bcm43xx: Core 3: ID 0x80d, rev 0x7, vendor 0x4243
bcm43xx: PHY connected
bcm43xx: Detected PHY: Version: 3, Type 2, Revision 7
bcm43xx: Detected Radio: ID: 8205017f (Manuf: 17f Ver: 2050 Rev: 8)
bcm43xx: Radio turned off
bcm43xx: Radio turned off
bcm43xx: PHY connected
bcm43xx: Microcode rev 0x127, pl 0xe (2005-04-18  02:36:27)
bcm43xx: Radio turned on
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: Chip initialized
bcm43xx: 32-bit DMA initialized
bcm43xx: Keys cleared
bcm43xx: Selected 802.11 core (phytype 2)
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: Radio turned off
bcm43xx: DMA-32 0x0200 (RX) max used slots: 2/64
bcm43xx: DMA-32 0x02A0 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0280 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0260 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0240 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0220 (TX) max used slots: 2/512
bcm43xx: DMA-32 0x0200 (TX) max used slots: 0/512
bcm43xx: Microcode rev 0x127, pl 0xe (2005-04-18  02:36:27)
bcm43xx: Radio turned on
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: Chip initialized
bcm43xx: 32-bit DMA initialized
bcm43xx: Keys cleared
bcm43xx: Selected 802.11 core (phytype 2)
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: Radio turned off
bcm43xx: DMA-32 0x0200 (RX) max used slots: 1/64
bcm43xx: DMA-32 0x02A0 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0280 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0260 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0240 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0220 (TX) max used slots: 5/512
bcm43xx: DMA-32 0x0200 (TX) max used slots: 0/512
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: Microcode rev 0x127, pl 0xe (2005-04-18  02:36:27)
bcm43xx: Radio turned on
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: Chip initialized
bcm43xx: 32-bit DMA initialized
bcm43xx: Keys cleared
bcm43xx: Selected 802.11 core (phytype 2)
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: Radio turned off
bcm43xx: DMA-32 0x0200 (RX) max used slots: 1/64
bcm43xx: DMA-32 0x02A0 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0280 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0260 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0240 (TX) max used slots: 0/512
bcm43xx: DMA-32 0x0220 (TX) max used slots: 9/512
bcm43xx: DMA-32 0x0200 (TX) max used slots: 0/512
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: Microcode rev 0x127, pl 0xe (2005-04-18  02:36:27)
bcm43xx: Radio turned on
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: Chip initialized
bcm43xx: 32-bit DMA initialized
bcm43xx: Keys cleared
bcm43xx: Selected 802.11 core (phytype 2)
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at:
drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1496:bcm43xx_find_lopair()
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0

I just tried the firmware that was included with the card.  It looks
like it is an earlier revision.  The performance seems the same.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-10 23:30       ` Miles Lane
@ 2007-02-10 23:41         ` Larry Finger
  2007-02-13 21:13           ` John W. Linville
  0 siblings, 1 reply; 9+ messages in thread
From: Larry Finger @ 2007-02-10 23:41 UTC (permalink / raw)
  To: Miles Lane; +Cc: wireless, bcm43xx-dev

Miles Lane wrote:
> I am testing this patch applied to the wireless-net git tree.
> The card is a Linksys WPC54G.  The card is still getting very
> weak signal strength and the connection seems unresponsive
> most of the time.

As the subject says, the patch was for 4311 and 4312 cards. The 4318's are not yet fixed.

As measured by my RF receiver, the amplitude of the 4318 is about -70 dBm, the 4311 is about -60 dBm
and the 4306 is -50 dBm. All should have the -50 reading with my test setup.

I'm working on the power routines and will let you know.

Larry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-10 23:41         ` Larry Finger
@ 2007-02-13 21:13           ` John W. Linville
  2007-02-13 22:19             ` Larry Finger
  0 siblings, 1 reply; 9+ messages in thread
From: John W. Linville @ 2007-02-13 21:13 UTC (permalink / raw)
  To: Larry Finger; +Cc: Miles Lane, wireless, bcm43xx-dev

On Sat, Feb 10, 2007 at 05:41:06PM -0600, Larry Finger wrote:
> Miles Lane wrote:
> > I am testing this patch applied to the wireless-net git tree.
> > The card is a Linksys WPC54G.  The card is still getting very
> > weak signal strength and the connection seems unresponsive
> > most of the time.
> 
> As the subject says, the patch was for 4311 and 4312 cards. The 4318's are not yet fixed.
> 
> As measured by my RF receiver, the amplitude of the 4318 is about -70 dBm, the 4311 is about -60 dBm
> and the 4306 is -50 dBm. All should have the -50 reading with my test setup.
> 
> I'm working on the power routines and will let you know.

FWIW, this patch seems to have helped some BCM4311 and BCM4312 wielding
Fedora users.

John
-- 
John W. Linville
linville@tuxdriver.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-13 21:13           ` John W. Linville
@ 2007-02-13 22:19             ` Larry Finger
  2007-02-13 23:36               ` Stephen Sinclair
  0 siblings, 1 reply; 9+ messages in thread
From: Larry Finger @ 2007-02-13 22:19 UTC (permalink / raw)
  To: John W. Linville; +Cc: Miles Lane, wireless, bcm43xx-dev

John W. Linville wrote:
> On Sat, Feb 10, 2007 at 05:41:06PM -0600, Larry Finger wrote:
>> Miles Lane wrote:
>>> I am testing this patch applied to the wireless-net git tree.
>>> The card is a Linksys WPC54G.  The card is still getting very
>>> weak signal strength and the connection seems unresponsive
>>> most of the time.
>> As the subject says, the patch was for 4311 and 4312 cards. The 4318's are not yet fixed.
>>
>> As measured by my RF receiver, the amplitude of the 4318 is about -70 dBm, the 4311 is about -60 dBm
>> and the 4306 is -50 dBm. All should have the -50 reading with my test setup.
>>
>> I'm working on the power routines and will let you know.
> 
> FWIW, this patch seems to have helped some BCM4311 and BCM4312 wielding
> Fedora users.

I think most, if not all, the 4311 and 4312's are helped. I will be submitting a set of patches this
afternoon that help most cards.

Larry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: RFT: The real fix for BCM4311 and BCM4312
  2007-02-13 22:19             ` Larry Finger
@ 2007-02-13 23:36               ` Stephen Sinclair
  0 siblings, 0 replies; 9+ messages in thread
From: Stephen Sinclair @ 2007-02-13 23:36 UTC (permalink / raw)
  To: Larry Finger; +Cc: John W. Linville, wireless, Miles Lane, bcm43xx-dev

> I think most, if not all, the 4311 and 4312's are helped. I will be submitting a set of
> patches this afternoon that help most cards.

I just wanted to express my thanks for all your work on this driver,
and everyone else who's contributed to it.  Since this patch has fixed
the speed issues, I haven't had to boot to Windows on my laptop in
like a week.  I wonder if I ever will again.  It's the way it should
be, and it's just fantastic.  Thank you!  If I could, I'd definitely
buy you a beer.  ;-)


Steve

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-02-13 23:36 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-07  6:02 RFT: The real fix for BCM4311 and BCM4312 Larry Finger
2007-02-07  6:34 ` Pavel Roskin
2007-02-07 13:43   ` Rafael J. Wysocki
2007-02-07 13:53     ` Larry Finger
2007-02-10 23:30       ` Miles Lane
2007-02-10 23:41         ` Larry Finger
2007-02-13 21:13           ` John W. Linville
2007-02-13 22:19             ` Larry Finger
2007-02-13 23:36               ` Stephen Sinclair

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.