Re: b43/BCM4312 fails with DMA errors
On Do, 2009-10-22 at 17:06 -0500, Larry Finger wrote: + static int count; count is declared, and incremented, but never set to 0. I guess this will work anyway, because it might be magically cleared to 0 by defining it (it is static, and will probably be allocated to some place that is zeroed before), but I'd find it much cleaner if this was declared like static int count = 0; slot = (int)((desc-dma64) - descbase); B43_WARN_ON(!(slot = 0 slot ring-nr_slots)); @@ -190,6 +191,10 @@ static void op64_fill_descriptor(struct desc-dma64.control1 = cpu_to_le32(ctl1); desc-dma64.address_low = cpu_to_le32(addrlo); desc-dma64.address_high = cpu_to_le32(addrhi); + if (count++ 10) + b43dbg(ring-dev-wl, cntrl0, cntrl1, addrlo, addrhi: 0x%X 0x%X + 0x%X 0x%X\n, desc-dma64.control0, desc-dma64.control1, + desc-dma64.address_low, desc-dma64.address_high); } ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: LP-PHY status?
Am Donnerstag, den 17.09.2009, 18:02 +0200 schrieb Rafał Miłecki: Hi, I would like to ask about status of LP-PHY status. Could you explain to simple end-user what is missing in current implementation? Is this just calibration for performance, or something more? Did someone make some tests for AP mode? Or is this /stupid/ idea without calibration done? The LP PHY code works for me since compat-wireless-02-09-09. I can't use newer versions because of some IRQ_THREAD stuff. Maybe my device crashes here then, but hat could be due to other stuff as well (It's an embedded system, ASUS WL-520gU) I have written a (very small) patch that implements proper analog switch support for the LP PHY, and that seems to improve throughput on my device. Stefanik is there change you find some time to finish calibration part before .32 merge window? Don't want to rush you, you already have done great work, just would like to know. I don't know how difficult this calibration stuff is. If it's as simple as the analog switch patch (or the other two useless patches I wrote), You (Stefanik) can drop me a note that I should do it. If you think my patches are crap, and I'm only wasting your time, just inform me. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[PATCH 0/2] b43: improve TX power handling for LP PHYs
I implemented the functions: lpphy_update_tx_power_npt and lpphy_set_tx_power_control, and together, both improve the bitrate of my device: wlan0 IEEE 802.11bg ESSID:tommy Mode:Managed Frequency:2.412 GHz Access Point: XXX Bit Rate=54 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=70/70 Signal level=10 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 without these patches, I maxed out at about 24 Mbit/s. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[PATCH 1/2] b43: Add lpphy_update_tx_power_npt function to improve TX power handling on LP PHYs
The lpphy_update_tx_power_npt routine is currently missing in the code. I added the routine according to the specs. Signed-off-by: Thomas Ilnseher il...@gmx.de --- diff -uNr compat-wireless-2009-09-15/drivers/net/wireless/b43/b43.h compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/b43.h --- compat-wireless-2009-09-15/drivers/net/wireless/b43/b43.h 2009-09-15 06:13:53.0 +0200 +++ compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/b43.h 2009-09-15 23:35:02.651859159 +0200 @@ -255,7 +255,10 @@ #define B43_SHM_SH_MAXBFRAMES 0x0080 /* Maximum number of frames in a burst */ #define B43_SHM_SH_SPUWKUP 0x0094 /* pre-wakeup for synth PU in us */ #define B43_SHM_SH_PRETBTT 0x0096 /* pre-TBTT in us */ - +/* MAC Statistics */ +#define B43_SHM_SH_TX_FRAMES_SENT 0x00E0 /* # TX Frames sent */ +#define B43_SHM_SH_TX_RTS 0x00E2 /* # TX RTS */ +#define B43_SHM_SH_TX_CTS 0x00E4 /* # TX CTS */ /* SHM_SCRATCH offsets */ #define B43_SHM_SC_MINCONT 0x0003 /* Minimum contention window */ #define B43_SHM_SC_MAXCONT 0x0004 /* Maximum contention window */ diff -uNr compat-wireless-2009-09-15/drivers/net/wireless/b43/phy_lp.c compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/phy_lp.c --- compat-wireless-2009-09-15/drivers/net/wireless/b43/phy_lp.c 2009-09-15 06:13:53.0 +0200 +++ compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/phy_lp.c 2009-09-16 00:00:20.712857949 +0200 @@ -1103,6 +1103,28 @@ (u16)~B43_LPPHY_TX_PWR_CTL_CMD_MODE, ctl); } +static void lpphy_update_tx_power_npt(struct b43_wldev *dev) +{ + u16 tx_cnt; + u16 npt; + u16 s3; + + s3 = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_TX_FRAMES_SENT); + tx_cnt = s3 - dev-phy.lp-tssi_tx_count; + npt = (b43_phy_read(dev, B43_LPPHY_TX_PWR_CTL_NNUM) 0x700) 8; + + if ((1 (npt 0x1F)) = tx_cnt) + return; + /* NB: Spec says do the stuff if xxx tx_cnt, so return on xxx txcnt */ + dev-phy.lp-tssi_tx_count = s3; + if (npt 7) { + npt++; + b43_phy_maskset(dev, B43_LPPHY_TX_PWR_CTL_NNUM, 0xF8FF, (npt 8)); + } + dev-phy.lp-tssi_npt = npt; + dev-phy.lp-tssi_idx = (b43_phy_read(dev, B43_LPPHY_TX_PWR_CTL_STAT) 0x7F00) 8; +} + static void lpphy_set_tx_power_control(struct b43_wldev *dev, enum b43_lpphy_txpctl_mode mode) { @@ -1116,7 +1138,7 @@ lpphy-txpctl_mode = mode; if (oldmode == B43_LPPHY_TXPCTL_HW) { - //TODO Update TX Power NPT + lpphy_update_tx_power_npt(dev); //TODO Clear all TX Power offsets } else { if (mode == B43_LPPHY_TXPCTL_HW) { ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH 2/2] b43: Add lpphy_clear_tx_power_offsets to improve TX Power handling
Put a printk here to see if this branch is getting hit. (BTW, are you loading b43 with the hwpctl modparam? That enables experimental HW TX power control support, which might explain what you were seeing.) Hi Gabor, I'm stupid. I applied 3 Patches, the analog switch patch, and the other two patches. The analog switch patch did it. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[PATCH - RFC] Add lpphy_update_tx_power_npt for LP PHY
Hello Michael, Gábor Larry, I tried to implement the lpphy_update_tx_power_npt function according to the specs. Please review this patch (I don't want to annoy Linville with 100 different versions of this patch). Please note: I can verify it compiles, but it is UNTESTED (right now, lack of time. Will do that tomorrow) SPECS: http://bcm-v4.sipsolutions.net/802.11/PHY/LP/ClearTXPowerOffsets --- diff -uNr compat-wireless-2009-09-15/drivers/net/wireless/b43/b43.h compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/b43.h --- compat-wireless-2009-09-15/drivers/net/wireless/b43/b43.h 2009-09-15 06:13:53.0 +0200 +++ compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/b43.h 2009-09-15 23:35:02.651859159 +0200 @@ -255,7 +255,10 @@ #define B43_SHM_SH_MAXBFRAMES 0x0080 /* Maximum number of frames in a burst */ #define B43_SHM_SH_SPUWKUP 0x0094 /* pre-wakeup for synth PU in us */ #define B43_SHM_SH_PRETBTT 0x0096 /* pre-TBTT in us */ - +/* MAC Statistics */ +#define B43_SHM_SH_TX_FRAMES_SENT 0x00E0 /* # TX Frames sent */ +#define B43_SHM_SH_TX_RTS 0x00E2 /* # TX RTS */ +#define B43_SHM_SH_TX_CTS 0x00E4 /* # TX CTS */ /* SHM_SCRATCH offsets */ #define B43_SHM_SC_MINCONT 0x0003 /* Minimum contention window */ #define B43_SHM_SC_MAXCONT 0x0004 /* Maximum contention window */ diff -uNr compat-wireless-2009-09-15/drivers/net/wireless/b43/phy_lp.c compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/phy_lp.c --- compat-wireless-2009-09-15/drivers/net/wireless/b43/phy_lp.c 2009-09-15 06:13:53.0 +0200 +++ compat-wireless-2009-09-15.mod/drivers/net/wireless/b43/phy_lp.c 2009-09-16 00:00:20.712857949 +0200 @@ -1103,6 +1103,28 @@ (u16)~B43_LPPHY_TX_PWR_CTL_CMD_MODE, ctl); } +static void lpphy_update_tx_power_npt(struct b43_wldev *dev) +{ + u16 tx_cnt; + u16 npt; + u16 s3; + + s3 = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_TX_FRAMES_SENT); + tx_cnt = s3 - dev-phy.lp-tssi_tx_count; + npt = (b43_phy_read(dev, B43_LPPHY_TX_PWR_CTL_NNUM) 0x700) 8; + + if ((1 (npt 0x1F)) = tx_cnt) + return; + /* NB: Spec says do the stuff if xxx tx_cnt, so return on xxx txcnt */ + dev-phy.lp-tssi_tx_count = s3; + if (npt 7) { + npt++; + b43_phy_maskset(dev, B43_LPPHY_TX_PWR_CTL_NNUM, 0xF8FF, (npt 8)); + } + dev-phy.lp-tssi_npt = npt; + dev-phy.lp-tssi_idx = (b43_phy_read(dev, B43_LPPHY_TX_PWR_CTL_STAT) 0x7F00) 8; +} + static void lpphy_set_tx_power_control(struct b43_wldev *dev, enum b43_lpphy_txpctl_mode mode) { @@ -1116,7 +1138,7 @@ lpphy-txpctl_mode = mode; if (oldmode == B43_LPPHY_TXPCTL_HW) { - //TODO Update TX Power NPT + lpphy_update_tx_power_npt(dev); //TODO Clear all TX Power offsets } else { if (mode == B43_LPPHY_TXPCTL_HW) { ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[PATCH] Add analog switching support for LP PHY based chips
diff -uNr compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_a.c compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_a.c --- compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_a.c 2009-09-14 06:14:18.0 +0200 +++ compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_a.c 2009-09-14 19:09:22.543023974 +0200 @@ -583,7 +583,7 @@ .radio_write = b43_aphy_op_radio_write, .supports_hwpctl = b43_aphy_op_supports_hwpctl, .software_rfkill = b43_aphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_phyop_switch_analog_ag, .switch_channel = b43_aphy_op_switch_channel, .get_default_chan = b43_aphy_op_get_default_chan, .set_rx_antenna = b43_aphy_op_set_rx_antenna, diff -uNr compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_common.c compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_common.c --- compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_common.c 2009-09-14 06:14:18.0 +0200 +++ compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_common.c 2009-09-14 19:09:22.555774832 +0200 @@ -417,7 +417,7 @@ return average; } -void b43_phyop_switch_analog_generic(struct b43_wldev *dev, bool on) +void b43_phyop_switch_analog_ag(struct b43_wldev *dev, bool on) { b43_write16(dev, B43_MMIO_PHY0, on ? 0 : 0xF4); } diff -uNr compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_common.h compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_common.h --- compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_common.h 2009-09-14 06:14:19.0 +0200 +++ compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_common.h 2009-09-14 19:09:22.567774125 +0200 @@ -419,7 +419,7 @@ * Do _not_ call this directly. Only use it as a switch_analog callback * for struct b43_phy_operations. */ -void b43_phyop_switch_analog_generic(struct b43_wldev *dev, bool on); +void b43_phyop_switch_analog_ag(struct b43_wldev *dev, bool on); #endif /* LINUX_B43_PHY_COMMON_H_ */ diff -uNr compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_g.c compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_g.c --- compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_g.c 2009-09-14 06:14:18.0 +0200 +++ compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_g.c 2009-09-14 19:09:22.579773421 +0200 @@ -3044,7 +3044,7 @@ .radio_write = b43_gphy_op_radio_write, .supports_hwpctl = b43_gphy_op_supports_hwpctl, .software_rfkill = b43_gphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_phyop_switch_analog_ag, .switch_channel = b43_gphy_op_switch_channel, .get_default_chan = b43_gphy_op_get_default_chan, .set_rx_antenna = b43_gphy_op_set_rx_antenna, diff -uNr compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_lp.c compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_lp.c --- compat-wireless-2009-09-14/drivers/net/wireless/b43/phy_lp.c 2009-09-14 06:14:18.0 +0200 +++ compat-wireless-2009-09-14.mod/drivers/net/wireless/b43/phy_lp.c 2009-09-14 19:09:22.589888677 +0200 @@ -2228,6 +2228,20 @@ return B43_TXPWR_RES_DONE; } +void b43_lpphy_op_switch_analog(struct b43_wldev *dev, bool on) +{ + u16 tmp; + if (on) { + tmp = b43_phy_read(dev, B43_LPPHY_AFE_CTL_OVR); + b43_phy_write(dev, B43_LPPHY_AFE_CTL_OVR, 0xfff8 tmp); + } else { + tmp = b43_phy_read(dev, B43_LPPHY_AFE_CTL_OVRVAL); + b43_phy_write(dev, B43_LPPHY_AFE_CTL_OVRVAL, 0x0007 | tmp); + tmp = b43_phy_read(dev, B43_LPPHY_AFE_CTL_OVR); + b43_phy_write(dev, B43_LPPHY_AFE_CTL_OVR, 0x0007 | tmp); + } +} + const struct b43_phy_operations b43_phyops_lp = { .allocate = b43_lpphy_op_allocate, .free = b43_lpphy_op_free, @@ -2239,7 +2253,7 @@ .radio_read = b43_lpphy_op_radio_read, .radio_write = b43_lpphy_op_radio_write, .software_rfkill = b43_lpphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_lpphy_op_switch_analog, .switch_channel = b43_lpphy_op_switch_channel, .get_default_chan = b43_lpphy_op_get_default_chan, .set_rx_antenna = b43_lpphy_op_set_rx_antenna, ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[PATCH] - try2 Add analog switching support for LP PHY based chips
On Mo, 2009-09-14 at 20:51 +0200, Michael Buesch wrote: On Monday 14 September 2009 20:44:54 Thomas Ilnseher wrote: *) Please inline the patch *) Why do you rename b43_phyop_switch_analog_generic? It's generic, because it works on the generic PHY0 MMIO register shadow. It's renamed to b43_phyop_switch_analog_ag. I reverted that change. *) Please use b43_phy_mask and b43_phy_set. didn't know these functions, they come in handy. diff -uNr b/drivers/net/wireless/b43/phy_lp.c a/drivers/net/wireless/b43/phy_lp.c --- b/drivers/net/wireless/b43/phy_lp.c 2009-09-14 06:14:18.0 +0200 +++ a/drivers/net/wireless/b43/phy_lp.c 2009-09-14 21:03:15.158507573 +0200 @@ -2228,6 +2228,16 @@ return B43_TXPWR_RES_DONE; } +void b43_lpphy_op_switch_analog(struct b43_wldev *dev, bool on) +{ + if (on) { + b43_phy_mask(dev, B43_LPPHY_AFE_CTL_OVR, 0xfff8); + } else { + b43_phy_maskset(dev, B43_LPPHY_AFE_CTL_OVRVAL, 0x0007); + b43_phy_maskset(dev, B43_LPPHY_AFE_CTL_OVR, 0x0007); + } +} + const struct b43_phy_operations b43_phyops_lp = { .allocate = b43_lpphy_op_allocate, .free = b43_lpphy_op_free, @@ -2239,7 +2249,7 @@ .radio_read = b43_lpphy_op_radio_read, .radio_write= b43_lpphy_op_radio_write, .software_rfkill= b43_lpphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_lpphy_op_switch_analog, .switch_channel = b43_lpphy_op_switch_channel, .get_default_chan = b43_lpphy_op_get_default_chan, .set_rx_antenna = b43_lpphy_op_set_rx_antenna, ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH] b43: LP-PHY: Fix analog core switching
On Mo, 2009-09-14 at 21:10 +0200, Gábor Stefanik wrote: The generic analog switch routine is not correct for LP-PHY according to the latest specs. Implement the proper analog core switch routine. Signed-off-by: Gábor Stefanik netrolller...@gmail.com --- diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 80da9c7..b0e127a 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2160,6 +2160,16 @@ static int lpphy_b2063_tune(struct b43_w return 0; } +static void b43_lpphy_op_switch_analog(struct b43_wldev *dev, bool on) +{ The spec says: Else if this in an LP PHY a. If argument on is zero 1. OR PHY Register 0x43C with 7 2. OR PHY Register 0x43B with 7 + if (on) { This stuff is executed when on is true (ie. anything else than zero) + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVRVAL, 0x7); + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVR, 0x7); + } else { + b43_phy_mask(dev, B43_LPPHY_AFE_CTL_OVR, 0xFFF8); + } +} + static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, unsigned int new_channel) { @@ -2239,7 +2249,7 @@ const struct b43_phy_operations b43_phyo .radio_read = b43_lpphy_op_radio_read, .radio_write= b43_lpphy_op_radio_write, .software_rfkill= b43_lpphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_lpphy_op_switch_analog, .switch_channel = b43_lpphy_op_switch_channel, .get_default_chan = b43_lpphy_op_get_default_chan, .set_rx_antenna = b43_lpphy_op_set_rx_antenna, ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[PATCH3]Add analog switch support
As I've seen Gàbor's patch, I noticed that my previous patch was bullshit. This patch should work: Signed-off-by: Thomas Ilnseher il...@gmx.de diff -uNr b/drivers/net/wireless/b43/phy_lp.c a/drivers/net/wireless/b43/phy_lp.c --- b/drivers/net/wireless/b43/phy_lp.c 2009-09-14 06:14:18.0 +0200 +++ a/drivers/net/wireless/b43/phy_lp.c 2009-09-14 21:03:15.158507573 +0200 @@ -2228,6 +2228,16 @@ return B43_TXPWR_RES_DONE; } +void b43_lpphy_op_switch_analog(struct b43_wldev *dev, bool on) +{ + if (on) { + b43_phy_mask(dev, B43_LPPHY_AFE_CTL_OVR, 0xfff8); + } else { + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVRVAL, 0x0007); + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVR, 0x0007); + } +} + const struct b43_phy_operations b43_phyops_lp = { .allocate = b43_lpphy_op_allocate, .free = b43_lpphy_op_free, @@ -2239,7 +2249,7 @@ .radio_read = b43_lpphy_op_radio_read, .radio_write= b43_lpphy_op_radio_write, .software_rfkill= b43_lpphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_lpphy_op_switch_analog, .switch_channel = b43_lpphy_op_switch_channel, .get_default_chan = b43_lpphy_op_get_default_chan, .set_rx_antenna = b43_lpphy_op_set_rx_antenna, ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH3]Add analog switch support
On Mo, 2009-09-14 at 21:43 +0200, Gábor Stefanik wrote: Always send patches to John Linville, and CC linux-wireless. Ok, the last try ... As I've seen Gàbor's patch, I noticed that my previous patch was bullshit. This patch should work: (see: http://bcm-v4.sipsolutions.net/802.11/PHY/Anacore) Signed-off-by: Thomas Ilnseher il...@gmx.de diff -uNr b/drivers/net/wireless/b43/phy_lp.c a/drivers/net/wireless/b43/phy_lp.c --- b/drivers/net/wireless/b43/phy_lp.c 2009-09-14 06:14:18.0 +0200 +++ a/drivers/net/wireless/b43/phy_lp.c 2009-09-14 21:03:15.158507573 +0200 @@ -2228,6 +2228,16 @@ return B43_TXPWR_RES_DONE; } +void b43_lpphy_op_switch_analog(struct b43_wldev *dev, bool on) +{ + if (on) { + b43_phy_mask(dev, B43_LPPHY_AFE_CTL_OVR, 0xfff8); + } else { + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVRVAL, 0x0007); + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVR, 0x0007); + } +} + const struct b43_phy_operations b43_phyops_lp = { .allocate = b43_lpphy_op_allocate, .free = b43_lpphy_op_free, @@ -2239,7 +2249,7 @@ .radio_read = b43_lpphy_op_radio_read, .radio_write= b43_lpphy_op_radio_write, .software_rfkill= b43_lpphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_lpphy_op_switch_analog, .switch_channel = b43_lpphy_op_switch_channel, .get_default_chan = b43_lpphy_op_get_default_chan, .set_rx_antenna = b43_lpphy_op_set_rx_antenna, ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[PATCH] b43: Add LP PHY Analog Switch Support
The current verison of b43 uses b43_phyop_switch_analog_generic for A, G and LP phys. According to the spec, this is the wrong behaviour for the LP PHY (see: http://bcm-v4.sipsolutions.net/802.11/PHY/Anacore ) While no problems on the x86 plattform where seen, this leads to a crash on the BCM5354 SoC (MIPS 32 LE plattform). This patch implements the analog switch for LP PHYs according to the specs. It fixes the crash signed-off-by: Thomas Ilnseher il...@gmx.de --- diff -uNr b/drivers/net/wireless/b43/phy_lp.c a/drivers/net/wireless/b43/phy_lp.c --- b/drivers/net/wireless/b43/phy_lp.c 2009-09-14 06:14:18.0 +0200 +++ a/drivers/net/wireless/b43/phy_lp.c 2009-09-14 21:03:15.158507573 +0200 @@ -2228,6 +2228,16 @@ return B43_TXPWR_RES_DONE; } +void b43_lpphy_op_switch_analog(struct b43_wldev *dev, bool on) +{ + if (on) { + b43_phy_mask(dev, B43_LPPHY_AFE_CTL_OVR, 0xfff8); + } else { + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVRVAL, 0x0007); + b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVR, 0x0007); + } +} + const struct b43_phy_operations b43_phyops_lp = { .allocate = b43_lpphy_op_allocate, .free = b43_lpphy_op_free, @@ -2239,7 +2249,7 @@ .radio_read = b43_lpphy_op_radio_read, .radio_write= b43_lpphy_op_radio_write, .software_rfkill= b43_lpphy_op_software_rfkill, - .switch_analog = b43_phyop_switch_analog_generic, + .switch_analog = b43_lpphy_op_switch_analog, .switch_channel = b43_lpphy_op_switch_channel, .get_default_chan = b43_lpphy_op_get_default_chan, .set_rx_antenna = b43_lpphy_op_set_rx_antenna, ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: bcm4306 crashes on IPX4XX and works on x86 ?!?
On So, 2009-09-13 at 19:05 +0200, Daniel Schmitt wrote: Does anybody know what I can change in OpenWRT relating to PCI options for WP188? That maybe totally off topic, but: I fiddled a bit with getting wireless running on an ASUS WL-520GU router. I noticed the following: OpenWRT's mac80211 package does _delete_ wireless-compat's /include/linux/ssb directory, forcing compaqt-wireless to use the kernel's ssb headers. This is absolutely necessary for broadcom devices (like mine). I dunno if it also uses the kernel's ssb modules, for my broadcom device, all this ssb stuff is built into the kernel. You can extract the compat wireless package somewhere, and diff it against the kernel headers. To be honest, I do NOT think this makes the problems - I tried to upgrade to compat-wireless-2009-09-02, and it did not even compile against the kernel headers. Then I created a small patch, only upgrading the in-kernel headers and some ssb functionality, and now it works (albeit a bit slow). Thanks for any help, Daniel ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: 5354 + B43 = Instant Crash
devices at 0x0 in 16-bit bank Physically mapped flash: Found an alias at 0x40 for the chip at 0x0 Physically mapped flash: Found an alias at 0x80 for the chip at 0x0 Physically mapped flash: Found an alias at 0xc0 for the chip at 0x0 Physically mapped flash: Found an alias at 0x100 for the chip at 0x0 Physically mapped flash: Found an alias at 0x140 for the chip at 0x0 Physically mapped flash: Found an alias at 0x180 for the chip at 0x0 Physically mapped flash: Found an alias at 0x1c0 for the chip at 0x0 Amd/Fujitsu Extended Query Table at 0x0040 number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. Flash device: 0x40 at 0x1fc0 bootloader size: 131072 Creating 4 MTD partitions on Physically mapped flash: 0x-0x0002 : cfe 0x0002-0x003f : linux 0x000edc00-0x003f : rootfs mtd: partition rootfs doesn't start on an erase block boundary -- force read-only mtd: partition rootfs set to be root filesystem mtd: partition rootfs_data created automatically, ofs=28, len=17 0x0028-0x003f : rootfs_data 0x003f-0x0040 : nvram BCM47xx Watchdog Timer enabled (30 seconds, nowayout) TCP westwood registered NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear gree...@candelatech.com All bugs added by David S. Miller da...@redhat.com VFS: Mounted root (squashfs filesystem) readonly. Freeing unused kernel memory: 136k freed Please be patient, while OpenWrt loads ... diag: Detected 'ASUS WL-520gU' b44: eth0: Link is up at 100 Mbps, full duplex. b44: eth0: Flow control is off for TX and off for RX. roboswitch: Probing device eth0: found! b44: eth0: powering down PHY mini_fo: using base directory: / mini_fo: using storage directory: /jffs b44: eth0: Link is up at 100 Mbps, full duplex. b44: eth0: Flow control is off for TX and off for RX. cfg80211: Calling CRDA to update world regulatory domain cfg80211: World regulatory domain updated: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 4 KHz), (300 mBi, 2000 mBm) (2457000 KHz - 2482000 KHz @ 2 KHz), (300 mBi, 2000 mBm) (2474000 KHz - 2494000 KHz @ 2 KHz), (300 mBi, 2000 mBm) (517 KHz - 525 KHz @ 4 KHz), (300 mBi, 2000 mBm) (5735000 KHz - 5835000 KHz @ 4 KHz), (300 mBi, 2000 mBm) usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb b43-phy0: Broadcom 5354 WLAN found (core revision 13) phy0: Selected rate control algorithm 'minstrel' Broadcom 43xx driver loaded [ Features: PL, Firmware-ID: FW13 ] ip_tables: (C) 2000-2006 Netfilter Core Team ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver nf_conntrack version 0.5.0 (256 buckets, 1024 max) ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver ohci_hcd ssb0:1: SSB OHCI Controller ohci_hcd ssb0:1: new USB bus registered, assigned bus number 1 ohci_hcd ssb0:1: irq 6, io mem 0x18003000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected ohci_hcd ssb0:1: SSB EHCI Controller ohci_hcd ssb0:1: new USB bus registered, assigned bus number 2 ohci_hcd ssb0:1: irq 6, io mem 0x18003800 ohci_hcd ssb0:1: USB 0.0 started, EHCI 1.00 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected hub 2-0:1.0: unable to enumerate USB device on port 1 usb 1-1: new full speed USB device using ohci_hcd and address 2 usb 1-1: configuration #1 chosen from 1 choice b43 ssb0:3: firmware: requesting b43/ucode13.fw b43 ssb0:3: firmware: requesting b43/lp0initvals13.fw b43 ssb0:3: firmware: requesting b43/lp0bsinitvals13.fw b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10) Registered led device: b43-phy0::tx Registered led device: b43-phy0::rx wlan0: direct probe to AP 8047522c (try 1) wlan0 direct probe responded wlan0: authenticate with AP 8047522c (try 1) wlan0: authenticated wlan0: associate with AP 8047522c (try 1) wlan0: RX AssocResp from 804a906e (capab=0x431 status=0 aid=1) wlan0: associated cfg80211: Calling CRDA for country: DE cfg80211: Current regulatory domain updated by AP to: DE (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2483500 KHz @ 4 KHz), (N/A, 2000 mBm) usb 1-1: usbfs: interface 0 claimed by usbfs while 'saned' sets config #1 On Sa, 2009-09-12 at 12:38 +0200, Michael Buesch wrote: On Saturday 12 September 2009 02:32:55 Thomas Ilnseher wrote: On Sa, 2009-09-12 at 00:56 +0200, Gábor Stefanik wrote: 2009/9/12 Gábor Stefanik netrolller...@gmail.com: On Fri, Sep 11, 2009 at 10:54 PM, Thomas Ilnseher il...@gmx.de wrote: Hi List, I installed the latest version of OpenWRT on a ASUS WL-520GU. I compiles a few kernel patches to make the OpenWRT kernel (2.6.28.10) compatible with compat wireless. Than I
5354 + B43 = Instant Crash
Hi List, I installed the latest version of OpenWRT on a ASUS WL-520GU. I compiles a few kernel patches to make the OpenWRT kernel (2.6.28.10) compatible with compat wireless. Than I patched OpenWRT to build compat-wireless-09-02 As said, It yields an instant crash: cfg80211: World regulatory domain updated: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 4 KHz), (300 mBi, 2000 mBm) (2457000 KHz - 2482000 KHz @ 2 KHz), (300 mBi, 2000 mBm) (2474000 KHz - 2494000 KHz @ 2 KHz), (300 mBi, 2000 mBm) (517 KHz - 525 KHz @ 4 KHz), (300 mBi, 2000 mBm) (5735000 KHz - 5835000 KHz @ 4 KHz), (300 mBi, 2000 mBm) b43-phy0: Broadcom 5354 WLAN found (core revision 13) Decompressing..done == CFE Again, no usefull stuff on teh RS232 port FWIW, I add the patches for the kernel. diff -uNr linux-2.6.28.10/include/linux/ssb/ssb.h linux-2.6.28.10_new/include/linux/ssb/ssb.h --- linux-2.6.28.10/include/linux/ssb/ssb.h 2009-09-11 19:46:51.0 +0200 +++ linux-2.6.28.10_new/include/linux/ssb/ssb.h 2009-09-11 20:40:46.112875751 +0200 @@ -27,24 +27,54 @@ u8 et1mdcport; /* MDIO for enet1 */ u8 board_rev; /* Board revision number from SPROM. */ u8 country_code; /* Country Code */ - u8 ant_available_a; /* A-PHY antenna available bits (up to 4) */ - u8 ant_available_bg; /* B/G-PHY antenna available bits (up to 4) */ + u8 ant_available_a; /* 2GHz antenna available bits (up to 4) */ + u8 ant_available_bg; /* 5GHz antenna available bits (up to 4) */ u16 pa0b0; u16 pa0b1; u16 pa0b2; u16 pa1b0; u16 pa1b1; u16 pa1b2; + u16 pa1lob0; + u16 pa1lob1; + u16 pa1lob2; + u16 pa1hib0; + u16 pa1hib1; + u16 pa1hib2; u8 gpio0; /* GPIO pin 0 */ u8 gpio1; /* GPIO pin 1 */ u8 gpio2; /* GPIO pin 2 */ u8 gpio3; /* GPIO pin 3 */ - u16 maxpwr_a; /* A-PHY Amplifier Max Power (in dBm Q5.2) */ - u16 maxpwr_bg; /* B/G-PHY Amplifier Max Power (in dBm Q5.2) */ + u16 maxpwr_bg; /* 2.4GHz Amplifier Max Power (in dBm Q5.2) */ + u16 maxpwr_al; /* 5.2GHz Amplifier Max Power (in dBm Q5.2) */ + u16 maxpwr_a; /* 5.3GHz Amplifier Max Power (in dBm Q5.2) */ + u16 maxpwr_ah; /* 5.8GHz Amplifier Max Power (in dBm Q5.2) */ u8 itssi_a; /* Idle TSSI Target for A-PHY */ u8 itssi_bg; /* Idle TSSI Target for B/G-PHY */ - u16 boardflags_lo; /* Boardflags (low 16 bits) */ - u16 boardflags_hi; /* Boardflags (high 16 bits) */ + u8 tri2g; /* 2.4GHz TX isolation */ + u8 tri5gl; /* 5.2GHz TX isolation */ + u8 tri5g; /* 5.3GHz TX isolation */ + u8 tri5gh; /* 5.8GHz TX isolation */ + u8 rxpo2g; /* 2GHz RX power offset */ + u8 rxpo5g; /* 5GHz RX power offset */ + u8 rssisav2g; /* 2GHz RSSI params */ + u8 rssismc2g; + u8 rssismf2g; + u8 bxa2g; /* 2GHz BX arch */ + u8 rssisav5g; /* 5GHz RSSI params */ + u8 rssismc5g; + u8 rssismf5g; + u8 bxa5g; /* 5GHz BX arch */ + u16 cck2gpo; /* CCK power offset */ + u32 ofdm2gpo; /* 2.4GHz OFDM power offset */ + u32 ofdm5glpo; /* 5.2GHz OFDM power offset */ + u32 ofdm5gpo; /* 5.3GHz OFDM power offset */ + u32 ofdm5ghpo; /* 5.8GHz OFDM power offset */ + u16 boardflags_lo; /* Board flags (bits 0-15) */ + u16 boardflags_hi; /* Board flags (bits 16-31) */ + u16 boardflags2_lo; /* Board flags (bits 32-47) */ + u16 boardflags2_hi; /* Board flags (bits 48-63) */ + /* TODO store board flags in a single u64 */ /* Antenna gain values for up to 4 antennas * on each band. Values in dBm/4 (Q5.2). Negative gain means the @@ -58,7 +88,7 @@ } ghz5; /* 5GHz band */ } antenna_gain; - /* TODO - add any parameters needed from rev 2, 3, or 4 SPROMs */ + /* TODO - add any parameters needed from rev 2, 3, 4, 5 or 8 SPROMs */ }; /* Information about the PCB the circuitry is soldered on. */ @@ -208,6 +238,7 @@ SSB_BUSTYPE_SSB, /* This SSB bus is the system bus */ SSB_BUSTYPE_PCI, /* SSB is connected to PCI bus */ SSB_BUSTYPE_PCMCIA, /* SSB is connected to PCMCIA bus */ + SSB_BUSTYPE_SDIO, /* SSB is connected to SDIO bus */ }; /* board_vendor */ @@ -240,8 +271,12 @@ /* The core in the basic address register window. (PCI bus only) */ struct ssb_device *mapped_device; - /* Currently mapped PCMCIA segment. (bustype == SSB_BUSTYPE_PCMCIA only) */ - u8 mapped_pcmcia_seg; + union { + /* Currently mapped PCMCIA segment. (bustype == SSB_BUSTYPE_PCMCIA only) */ + u8 mapped_pcmcia_seg; + /* Current SSB base address window for SDIO. */ + u32 sdio_sbaddr; + }; /* Lock for core and segment switching. * On PCMCIA-host busses this is used to protect the whole MMIO access. */ spinlock_t bar_lock; @@ -252,6 +287,11 @@ struct pci_dev *host_pci; /* Pointer to the PCMCIA device (only if bustype == SSB_BUSTYPE_PCMCIA). */ struct pcmcia_device *host_pcmcia; + /* Pointer to the SDIO device (only if bustype == SSB_BUSTYPE_SDIO). */ + struct sdio_func *host_sdio; + + /* See enum ssb_quirks */ + unsigned int quirks; #ifdef CONFIG_SSB_SPROM /* Mutex to protect
Re: 5354 + B43 = Instant Crash
On Sa, 2009-09-12 at 00:56 +0200, Gábor Stefanik wrote: 2009/9/12 Gábor Stefanik netrolller...@gmail.com: On Fri, Sep 11, 2009 at 10:54 PM, Thomas Ilnseher il...@gmx.de wrote: Hi List, I installed the latest version of OpenWRT on a ASUS WL-520GU. I compiles a few kernel patches to make the OpenWRT kernel (2.6.28.10) compatible with compat wireless. Than I patched OpenWRT to build compat-wireless-09-02 As said, It yields an instant crash: cfg80211: World regulatory domain updated: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 4 KHz), (300 mBi, 2000 mBm) (2457000 KHz - 2482000 KHz @ 2 KHz), (300 mBi, 2000 mBm) (2474000 KHz - 2494000 KHz @ 2 KHz), (300 mBi, 2000 mBm) (517 KHz - 525 KHz @ 4 KHz), (300 mBi, 2000 mBm) (5735000 KHz - 5835000 KHz @ 4 KHz), (300 mBi, 2000 mBm) b43-phy0: Broadcom 5354 WLAN found (core revision 13) Decompressing..done == CFE Again, no usefull stuff on teh RS232 port FWIW, I add the patches for the kernel. These patches are probably not enough - there were more changes to the ssb module since 2.6.28. You will probably need to compile a new kernel from wireless-testing or net-next-2.6 (linux-next linux-2.6 may also work). (God luck doing that in the OpenWRT build system...) I will try to copy all ssb files from compat-wireless to the 2.6.28.10 kernel, and create a patch. I assume the kernel will crash on boot then, cause I'd need some changes in /arch/mips/ I can probably hack the build system to support a newer kernel, but the problem remains that there are a gazillion patches that need porting :/ So I think the next thing to do is a diff of that ssb stuff, and see what's changed. The main Issue is that I can't get any usefull information what's going on- I see only the single line above. As far as I understand the code (that I've read so far) It should printk some driver message BEFORE this message. I've seen some verbosity parameter, I will play with that. Oops... that was Good's hand. :) ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: need help..
On Mo, 2009-05-11 at 00:53 +0530, Harshil Doshi wrote: hi my name is harshil doshi i have a request as how am i supposed to un-subscribe...pls help ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de Hi! Click the link below: https://lists.berlios.de/mailman/listinfo/bcm43xx-dev Then you see a web page. Scroll down to the bottom. you see a button labeled Unsubscribe or edit options, and left of it a text-field. Enter you email address in the text field, and press the button. Then there will be a webpage with a number of buttons again. Press the Unsubscribe button. then you will get a confirmation email, with another link you have to click. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: unsupported PHY on BCM5354
Am Dienstag, den 03.03.2009, 14:30 +0100 schrieb Henning Holtschneider: Hello everybody, I'm trying to use the b43 driver on a Broadcom 5354 SoC platform running OpenWRT SVN Trunk (Linux kernel 2.6.28.7). When loading the driver, I get: b43-phy0: Broadcom 5354 WLAN found (core revision 13) b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 6, Type 5, Revision 0) b43: probe of ssb0:3 failed with error -122 Broadcom 43xx driver loaded [ Features: PLR, Firmware-ID: FW13 ] Is the BCM5354 device supported at all? No. This SoC uses an LP Phy. Support is not ready yet. The reverse engineering is done, thou. If it is, what can I do to get further than UNSUPPORTED PHY? Implement Support for LP PHYs. I Think Michael Buesch is adding support for those phys right now. You should ask him how you can help him. Best regards, Henning Holtschneider -- LocaNet oHG - http://www.loca.net Lindemannstrasse 81, D-44137 Dortmund tel +49 231 91596-25, fax +49 231 91596-55 sip 2...@voip.loca.net Registergericht Amtsgericht Dortmund HRA 14208 Geschäftsführer Sven Haufe, Henning Holtschneider ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: Broadcom driver in Android
Am Donnerstag, den 22.01.2009, 10:26 +0100 schrieb Holger Schurig: Just found this in the Android's repository and think maybe this info can be useful for someone in this list: http://android.git.kernel.org/?p=platform/system/wlan/broadcom .git;a=summary .. and it's even GPL. :-) but it's for an broadcom chip with built-in arm7tdmi cpu, and built-in firmware So doesn't help too much for normal broadcom cards ... ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: Broadcom driver in Android
Am Donnerstag, den 22.01.2009, 11:04 +0100 schrieb Rafał Miłecki: 2009/1/22 Otto Solares so...@guug.org: FYI: Just found this in the Android's repository and think maybe this info can be useful for someone in this list: http://android.git.kernel.org/?p=platform/system/wlan/broadcom.git;a=summary Could someone with bigger knowledge post some info about this driver? WARNING: My knowledge on this only vague Does is support the same devices that b43(legacy) does? From what I know (and have seen by skimming thru the driver), this driver does support some kind of embedded wlan chip from broadcom. This chip is connected via sdio, and has a built in ARM7TDMI CPU alongside with RAM and (some kind of) ROM. The WLAN stack runs inside this CPU. The host communicates with this device like with an standard ethernet card (albeit with some extensions). If the device was an usb device, this would be called CDC (communcation device class), her it is called DCH (whatever...) There is a modified CDC driver in the kernel to support similar broadcom usb cards. the b43 driver does support broadcom cards without this embedded cpu (connected via PCI...) and does implement the functions of the embedded code of the embedded cards on the x86 host cpu. So this driver is orthogonal to b43 Maybe including LP-PHY? Or 802.11n devices? Is there anything in this driver we can (and need to) port to b43? ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
happy new year
Happy new year to all of You! Cheers, Thomas ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: b43: Everybody with PHY TX error, please try
Am Donnerstag, den 06.11.2008, 12:46 + schrieb Przemek Kulczycki: On Fri, Oct 24, 2008 at 6:32 PM, Michael Buesch [EMAIL PROTECTED] wrote: Everybody with PHY TX error, please try updated firmware from ftp://ftp.linksys.com/opensourcecode/wrt610n/1.00.00.018/wrt610n_v1.00.00.018_us.tgz (Yeah, big tarball. It's 87MB) This is some source code for a router with embedded mips cpu Extract the file wrt610n_v1.00.00.018_us/release/src/wl/linux/wl.o out of the archive. Get latest b43-tools: git clone http://git.bu3sch.de/git/b43-tools.git Build and install fwcutter from latest b43-tools.git Extract the firmware from the wl.o file: b43-fwcutter --unsupported -w /lib/firmware/DESTPATH wl.o Try to reproduce the PHY TX error with the new firmware. If this tarball is so large then maybe downloading latest ubuntu restricted modules will be faster. http://packages.ubuntu.com/intrepid/linux-restricted-modules-2.6.27-7-generic AFAIK this package contains the proprietary Broadcom WL driver which is for x86. so the latest firmware might be in it too. These are two totally different wl.o files. it will not work with x86 proprietary wl.(k)o driver. -- Thomas Ilnseher [EMAIL PROTECTED] ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: bcm-43xx for bcm-4328
Hi! It's my first post to bcm-43xx list. I searching about bcm4328 device without ndiswrapper, but i didn't found anything. Can you tell me about this? thanks No bcm4328 support so far, we are working on that. Don't ask. There is NO support!, I'm not a developer, but this is the message that I get when i join to #bcm-users on IRC, however wanna know something about that, I know nobody i paid to answer, but there are some users that wanna know something about this driver and what can we do to help in the process. indeed I would like to make a donation(humble), but i guess that can help. out of curiosity: what kind of device is using the bcm4328 ? the broadcom product brief states: • Embedded ARM7 CPU that executes the full WLAN driver, eliminating the need for complicated wireless LAN integration into the host platform. reading this, i'd say interfacing this device should be fairly easy. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: Broadcom's own driver: firmware?
Am Sonntag, den 31.08.2008, 15:08 +0200 schrieb Stefanik Gábor: Wouldn't this enable distros to ship the necessary firmware in their network installation boot CDs? Currently a working boot CD requires the cut firmware files to be included - but such a CD is inherently illegal to distribute, as it includes modified versions of files marked as illegal to modify. (Scripting fwcutter to automatically cut the firmware on boot could possibly solve this issue, but that requires a writable root filesystem.) it requires any writable file system. IE, /tmp could be mounted as tmpfs, which is writable. then they could: a) change the firmware path from /lib/firmware to /tmp/firmware b) have a symlink in /lib/firmware/b43 to /tmp/firmware/b43 c) etc... you see this is a solvable problem. the next thing is that most boot cd's already HAVE a writeable / thx to unionfs / tmpfs or simmilar things. -- Thomas Ilnseher [EMAIL PROTECTED] ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: Wireless Problems - Ubuntu 8.04
Am Mittwoch, den 27.08.2008, 21:12 -0300 schrieb Susan Higashi: Hello for all, I have tried the tips listed in http://linuxwireless.org/en/users/Drivers/b43#b43andb43legacy, but my wireless is not working yet. =( First, I installed the firmware: sudo /usr/share/b43-fwcutter/install_bcm43xx_firmware.sh did you get any error messages then ? this should have been enough. other steps should *NOT* be required. Second, I runned the folowing lines: wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2 tar xjf b43-fwcutter-011.tar.bz2 cd b43-fwcutter-011 make cd .. Finally, these lines were done: export FIRMWARE_INSTALL_DIR=/lib/firmware wget http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o sudo ./b43-fwcutter-011/b43-fwcutter -w $FIRMWARE_INSTALL_DIR wl_apsta-3.130.20.0.o After all my wireless net is not workin yet... Anybody can help me, pleaseee? maybe you should provide these information: * Output of lspci (sudo lspci) * Output of lsmod * Output of dmesg (relevant lines at least) Thank you very much!! ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev -- Thomas Ilnseher [EMAIL PROTECTED] ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
ETA for LP PHY support
Hi, I got an asus WL520GU (with LP PHY). Unfortunately, even the specs on bcm-v4 are quite incomplete yet. Is there any ETA when specs are complete, when prelimanry support is added (offset to previous date, of course) ? I'm trying to read the code of phy.c, but there are still some things that i don't understand. I can't ask (non stupid) questions about that right now, cause i'm still reading. How much time would it take me to get accomplished to this stuff ? my experience: a) C Programming (apps) ++ b) kernel programming 0 (simple patches only) c) wlan stuff -- should i try to hak this stuff (once specs are there) or should i wait, cause you could do this in a couple of weeks ? Thanks, Tom -- GMX Kostenlose Spiele: Einfach online spielen und Spaß haben mit Pastry Passion! http://games.entertainment.gmx.net/de/entertainment/games/free/puzzle/6169196 ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev