Re: [PATCH RFT] b43: Fix for broken transmission
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
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
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
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
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
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