Re: b43/BCM4312 fails with DMA errors

2009-10-22 Thread Thomas Ilnseher
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?

2009-09-17 Thread Thomas Ilnseher
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

2009-09-16 Thread Thomas Ilnseher
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

2009-09-16 Thread Thomas Ilnseher
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

2009-09-16 Thread Thomas Ilnseher

 
 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

2009-09-15 Thread Thomas Ilnseher
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

2009-09-14 Thread Thomas Ilnseher

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

2009-09-14 Thread Thomas Ilnseher
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

2009-09-14 Thread Thomas Ilnseher
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

2009-09-14 Thread Thomas Ilnseher
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

2009-09-14 Thread Thomas Ilnseher
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

2009-09-14 Thread Thomas Ilnseher
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 ?!?

2009-09-13 Thread Thomas Ilnseher
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

2009-09-13 Thread Thomas Ilnseher
 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

2009-09-11 Thread Thomas Ilnseher
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

2009-09-11 Thread Thomas Ilnseher
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..

2009-05-10 Thread Thomas Ilnseher
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

2009-03-03 Thread Thomas Ilnseher
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

2009-01-22 Thread Thomas Ilnseher
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

2009-01-22 Thread Thomas Ilnseher
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

2008-12-31 Thread Thomas Ilnseher
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

2008-11-06 Thread Thomas Ilnseher

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

2008-09-01 Thread Thomas Ilnseher

  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?

2008-08-31 Thread Thomas Ilnseher

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

2008-08-28 Thread Thomas Ilnseher

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

2008-08-17 Thread Thomas Ilnseher
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