Re: [PATCH RFT] b43: Fix for broken transmission

2007-12-11 Thread Larry Finger
Michael Buesch wrote:
> On Tuesday 11 December 2007 13:43:50 Michael Buesch wrote:
>> This patch fixes the transmission problems introduced by
>> commit f04b3787bbce4567e28069a9ec97dcd804626ac7
>>
>> It depends on
>> [PATCH] b43: Fix ofdmtab write regression
>>
>> I'm not sure if the dummy read is really required.
>> The old code does it. I think it can't hurt and can possibly
>> fix some write posting problems (hardware bugs or whatever. Who knows).
>>
>> Please test this.
>>
>> NOT-signed-off-by: Michael Buesch <[EMAIL PROTECTED]>
> 
> Here's an updated version that should fix even more bugs:
> http://bu3sch.de/patches/wireless-2.6/20071211-1622/patches/005-b43-fix-init-rewrite-breakage.patch

This patch (and its predecessor) seem to make transmission at the OFDM rates a 
bit more reliable on 
my BCM4311/2 card.

Larry
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: b43 regression

2007-12-11 Thread Brennan Ashton
On Dec 11, 2007 3:02 AM, Michael Buesch <[EMAIL PROTECTED]> wrote:
> On Tuesday 11 December 2007 02:14:05 Brennan Ashton wrote:
> > https://bugzilla.redhat.com/show_bug.cgi?id=412861
> > I downloaded the source for 2.6.23.8-63.fc8.src.rpm the package that
> > things started to stop working at, and could not find any part of this
> > patch applied, so at least for that bug it is something else.
> >
>
> Please find out which patch broke it then. Nobody but you can do this.

What do you use to hammer the card with data to see if if fails?  I
have been just surfing the web, and moving data back and forth, but it
is very inefficient and a poor form of a test. I think I may have
narrowed down the kernel were it starting failing, but I want to make
sure.

-- 
Brennan Ashton
Bellingham, Washington

"The box said, 'Requires Windows XP or better'. So I installed Linux"
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: b43 continues to have issue with APs at times

2007-12-11 Thread Michael Buesch
On Tuesday 11 December 2007 22:41:49 John H. wrote:
> Is that a question?

Not really.
You know the history of this driver? I mean. It's good
that it works at all. If you need better performance
someone has to fix it, probably. You could start with it. :)

> On Dec 9, 2007 5:40 AM, Michael Buesch <[EMAIL PROTECTED]> wrote:
> > On Sunday 09 December 2007 12:37:27 John H. wrote:
> > > i dont know what other ones i would have used.  bcm43xx never worked
> > > right, really, and had bandwidth limitations.
> > >
> > > Right now I am downloading over a wireless lan and getting 1mb/s.
> > > Why?  That just makes no sense.
> >
> > Because it's broken?

-- 
Greetings Michael.
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: [PATCH RFT] b43: Fix for broken transmission

2007-12-11 Thread Michael Buesch
On Tuesday 11 December 2007 13:43:50 Michael Buesch wrote:
> This patch fixes the transmission problems introduced by
> commit f04b3787bbce4567e28069a9ec97dcd804626ac7
> 
> It depends on
> [PATCH] b43: Fix ofdmtab write regression
> 
> I'm not sure if the dummy read is really required.
> The old code does it. I think it can't hurt and can possibly
> fix some write posting problems (hardware bugs or whatever. Who knows).
> 
> Please test this.
> 
> NOT-signed-off-by: Michael Buesch <[EMAIL PROTECTED]>

Here's an updated version that should fix even more bugs:
http://bu3sch.de/patches/wireless-2.6/20071211-1622/patches/005-b43-fix-init-rewrite-breakage.patch

-- 
Greetings Michael.
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


[PATCH RFT] b43: Fix for broken transmission

2007-12-11 Thread Michael Buesch
This patch fixes the transmission problems introduced by
commit f04b3787bbce4567e28069a9ec97dcd804626ac7

It depends on
[PATCH] b43: Fix ofdmtab write regression

I'm not sure if the dummy read is really required.
The old code does it. I think it can't hurt and can possibly
fix some write posting problems (hardware bugs or whatever. Who knows).

Please test this.

NOT-signed-off-by: Michael Buesch <[EMAIL PROTECTED]>


Index: wireless-2.6/drivers/net/wireless/b43/wa.c
===
--- wireless-2.6.orig/drivers/net/wireless/b43/wa.c 2007-12-11 
01:08:40.0 +0100
+++ wireless-2.6/drivers/net/wireless/b43/wa.c  2007-12-11 13:35:26.0 
+0100
@@ -123,10 +123,16 @@ static void b43_wa_rssi_lt(struct b43_wl
 {
int i;
 
+#if 0
for (i = 0; i < 8; i++)
b43_ofdmtab_write16(dev, B43_OFDMTAB_RSSI, i, i + 8);
for (i = 8; i < 16; i++)
b43_ofdmtab_write16(dev, B43_OFDMTAB_RSSI, i, i - 8);
+#endif
+   /* FIXME: Current specs are wrong. The following loop matches the
+* old specs, which works great on my device. --mb */
+   for (i = 0; i < 64; i++)
+   b43_ofdmtab_write16(dev, B43_OFDMTAB_RSSI, i, i);
 }
 
 static void b43_wa_analog(struct b43_wldev *dev)
@@ -306,16 +312,16 @@ static void b43_wa_crs_ed(struct b43_wld
struct b43_phy *phy = &dev->phy;
 
if (phy->rev == 1) {
-   b43_phy_write(dev, B43_PHY_CRSTHRES1, 0x4F19);
+   b43_phy_write(dev, B43_PHY_CRSTHRES1_R1, 0x4F19);
} else if (phy->rev == 2) {
-   b43_phy_write(dev, B43_PHY_CRSTHRES1_R1, 0x1861);
-   b43_phy_write(dev, B43_PHY_CRSTHRES2_R1, 0x1861);
+   b43_phy_write(dev, B43_PHY_CRSTHRES1, 0x1861);
+   b43_phy_write(dev, B43_PHY_CRSTHRES2, 0x0271);
b43_phy_write(dev, B43_PHY_ANTDWELL,
  b43_phy_read(dev, B43_PHY_ANTDWELL)
  | 0x0800);
} else {
-   b43_phy_write(dev, B43_PHY_CRSTHRES1_R1, 0x0098);
-   b43_phy_write(dev, B43_PHY_CRSTHRES2_R1, 0x0070);
+   b43_phy_write(dev, B43_PHY_CRSTHRES1, 0x0098);
+   b43_phy_write(dev, B43_PHY_CRSTHRES2, 0x0070);
b43_phy_write(dev, B43_PHY_OFDM(0xC9), 0x0080);
b43_phy_write(dev, B43_PHY_ANTDWELL,
  b43_phy_read(dev, B43_PHY_ANTDWELL)
@@ -441,7 +447,7 @@ static void b43_wa_altagc(struct b43_wld
}
}
b43_phy_write(dev, B43_PHY_DIVSRCHIDX,
-   (b43_phy_read(dev, B43_PHY_DIVSRCHIDX) & 0x7F7F) | 0x7874);
+   (b43_phy_read(dev, B43_PHY_DIVSRCHIDX) & 0x8080) | 0x7874);
b43_phy_write(dev, B43_PHY_OFDM(0x8E), 0x1C00);
if (phy->rev == 1) {
b43_phy_write(dev, B43_PHY_DIVP1P2GAIN,
@@ -466,6 +472,7 @@ static void b43_wa_altagc(struct b43_wld
b43_phy_write(dev, B43_PHY_OFDM(0x26),
b43_phy_read(dev, B43_PHY_OFDM(0x26)) & ~0x1000);
}
+   b43_phy_read(dev, B43_PHY_VERSION_OFDM); /* Dummy read */
 }
 
 static void b43_wa_tr_ltov(struct b43_wldev *dev) /* TR Lookup Table Original 
Values */
Index: wireless-2.6/drivers/net/wireless/b43/phy.h
===
--- wireless-2.6.orig/drivers/net/wireless/b43/phy.h2007-12-11 
01:08:40.0 +0100
+++ wireless-2.6/drivers/net/wireless/b43/phy.h 2007-12-11 12:57:40.0 
+0100
@@ -25,7 +25,7 @@ struct b43_phy;
 #define  B43_PHY_BBANDCFG_RXANT0x180   /* RX Antenna selection 
*/
 #define  B43_PHY_BBANDCFG_RXANT_SHIFT  7
 #define B43_PHY_PWRDOWNB43_PHY_OFDM(0x03)  /* 
Powerdown */
-#define B43_PHY_CRSTHRES1  B43_PHY_OFDM(0x06)  /* CRS 
Threshold 1 */
+#define B43_PHY_CRSTHRES1_R1   B43_PHY_OFDM(0x06)  /* CRS 
Threshold 1 (phy.rev 1 only) */
 #define B43_PHY_LNAHPFCTL  B43_PHY_OFDM(0x1C)  /* LNA/HPF 
control */
 #define B43_PHY_LPFGAINCTL B43_PHY_OFDM(0x20)  /* LPF Gain 
control */
 #define B43_PHY_ADIVRELATEDB43_PHY_OFDM(0x27)  /* FIXME rename 
*/
@@ -69,8 +69,8 @@ struct b43_phy;
 #define B43_PHY_DIVP1P2GAINB43_PHY_OFDM(0xAB)
 #define B43_PHY_DIVSRCHGAINBACKB43_PHY_OFDM(0xAD)  /* 
Divider search gain back */
 #define B43_PHY_DIVSRCHGAINCHNGB43_PHY_OFDM(0xAE)  /* 
Divider search gain change */
-#define B43_PHY_CRSTHRES1_R1   B43_PHY_OFDM(0xC0)  /* CRS 
Threshold 1 (rev 1 only) */
-#define B43_PHY_CRSTHRES2_R1   B43_PHY_OFDM(0xC1)  /* CRS 
Threshold 2 (rev 1 only) */
+#define B43_PHY_CRSTHRES1  B43_PHY_OFDM(0xC0)  /* CRS 
Threshold 1 (phy.rev >= 2 only) */
+#define B43_PHY_CRSTHRES2  B43_PHY_OFDM(0xC1)  /* CRS 
Threshold 2 (phy.rev >= 2 only)

Re: b43 regression

2007-12-11 Thread Michael Buesch
On Tuesday 11 December 2007 02:14:05 Brennan Ashton wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=412861
> I downloaded the source for 2.6.23.8-63.fc8.src.rpm the package that
> things started to stop working at, and could not find any part of this
> patch applied, so at least for that bug it is something else.
> 

Please find out which patch broke it then. Nobody but you can do this.

-- 
Greetings Michael.
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev