Mailing list test, please ignore

2010-02-28 Thread Gábor Stefanik
Mailing list test, please ignore.

-- 
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


test

2010-02-06 Thread strk
Is it me or this list is misconfigured ?

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


Re: test

2010-02-06 Thread Gábor Stefanik
Why would it be misconfigured?

On Sat, Feb 6, 2010 at 8:11 PM, strk s...@keybit.net wrote:
 Is it me or this list is misconfigured ?

 --srrk;
 ___
 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: Fatal DMA error problem with netbook and BCM4312 - Test 3

2009-12-28 Thread Andrew Benton
On 28/12/09 04:49, Larry Finger wrote:
 Hi,

 In the latest Broadcom driver, I found code that sets the timeout field of the
 SSB configuration for some BCM4311 and all BCM4312 devices. Please test this
 patch following a cold boot.


Sadly it does not work. Tested with the mainline kernel. The DMA errors 
persist.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 3

2009-12-28 Thread Larry Finger
On 12/28/2009 09:52 AM, Andrew Benton wrote:
 
 Sadly it does not work. Tested with the mainline kernel. The DMA errors 
 persist.

Shucks!!! I was hoping for a late Christmas present. Unfortunately, more coal in
my stocking.

As usual, thanks for testing.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 3

2009-12-28 Thread Michael Buesch
On Monday 28 December 2009 05:49:14 Larry Finger wrote:
+  tmp = ~(SSB_IMCFGLO_SERTO | SSB_IMCFGLO_REQTO_SHIFT);

This does not make any sense.
Did you mean:
+   tmp = ~(SSB_IMCFGLO_SERTO | SSB_IMCFGLO_REQTO);


+  tmp |= 3;

So you set SER-timeout to 3 and REQ-timeout to 0. Is that what we want?
REQ=zero smells fishy to me, but if the broadcom code also does this, I'm OK 
with it.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 3

2009-12-28 Thread Larry Finger
On 12/28/2009 12:33 PM, Michael Buesch wrote:
 On Monday 28 December 2009 05:49:14 Larry Finger wrote:
 +tmp = ~(SSB_IMCFGLO_SERTO | SSB_IMCFGLO_REQTO_SHIFT);
 
 This does not make any sense.
 Did you mean:
 + tmp = ~(SSB_IMCFGLO_SERTO | SSB_IMCFGLO_REQTO);
 
 
 +tmp |= 3;
 
 So you set SER-timeout to 3 and REQ-timeout to 0. Is that what we want?
 REQ=zero smells fishy to me, but if the broadcom code also does this, I'm OK 
 with it.

I did get that wrong. The Broadcom code does the equivalent of

tmp = tmp  ~0x77 | 3

which is what my code ended up doing by accident, but REQ is set to zero.

Are these values discussed anywhere in the open? I have not found anything
regarding the SSB configuration.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 3

2009-12-28 Thread Michael Buesch
On Monday 28 December 2009 20:09:05 Larry Finger wrote:
 I did get that wrong. The Broadcom code does the equivalent of
 
 tmp = tmp  ~0x77 | 3

Ok, so you need my version of the masking.

 which is what my code ended up doing by accident, but REQ is set to zero.

Yeah, OK to me. It's a workaround after all...

 Are these values discussed anywhere in the open? I have not found anything
 regarding the SSB configuration.

Well, there's no real docs on these, but I'm pretty sure they are related
to the posting of messages on the SSB bus. These values are timeouts for
the communication on the bus. So yeah, I think in _theory_ it can cause
DMA (and other) trouble.

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


Fatal DMA error problem with netbook and BCM4312 - Test 3

2009-12-27 Thread Larry Finger
Hi,

In the latest Broadcom driver, I found code that sets the timeout field of the
SSB configuration for some BCM4311 and all BCM4312 devices. Please test this
patch following a cold boot.

Thanks,

Larry



Index: wireless-testing/drivers/ssb/driver_pcicore.c
===
--- wireless-testing.orig/drivers/ssb/driver_pcicore.c
+++ wireless-testing/drivers/ssb/driver_pcicore.c
@@ -621,6 +621,14 @@ int ssb_pcicore_dev_irqvecs_enable(struc
tmp |= 0x40;
ssb_pcie_write(pc, 0x100, tmp);
}
+   if (bus-chip_id == 0x4312 ||
+  (bus-chip_id == 0x4311  bus-chip_rev == 2)) {
+   tmp = ssb_read32(pdev, SSB_IMCFGLO);
+   tmp = ~(SSB_IMCFGLO_SERTO | SSB_IMCFGLO_REQTO_SHIFT);
+   tmp |= 3;
+   ssb_write32(pdev, SSB_IMCFGLO, tmp);
+   ssb_commit_settings(bus);
+   }
}
pc-setup_done = 1;
 out:
Index: wireless-testing/drivers/ssb/driver_chipcommon_pmu.c
===
--- wireless-testing.orig/drivers/ssb/driver_chipcommon_pmu.c
+++ wireless-testing/drivers/ssb/driver_chipcommon_pmu.c
@@ -424,9 +424,9 @@ static void ssb_pmu_resources_init(struc
switch (bus-chip_id) {
case 0x4312:
/* We keep the default settings:
-* min_msk = 0xCBB
 * max_msk = 0x7
 */
+   min_msk = 0xCBB;
break;
case 0x4325:
/* Power OTP down later. */
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Larry Finger
Hi,

I placed a number of test prints in my system trying to find where a
DMA data error might occur. In doing so, I found that 3 slots in the
DMA header cache cross a page boundary. Such a situation is allowed on
my system, but it might be forbidden on Atom processors. Please try
this really ugly hack to see if it makes any difference.

Thanks,

Larry


Index: wireless-testing/drivers/net/wireless/b43/dma.h
===
--- wireless-testing.orig/drivers/net/wireless/b43/dma.h
+++ wireless-testing/drivers/net/wireless/b43/dma.h
@@ -160,7 +160,7 @@ struct b43_dmadesc_generic {
 #define B43_DMA0_RX_FRAMEOFFSET30
 
 /* DMA engine tuning knobs */
-#define B43_TXRING_SLOTS   256
+#define B43_TXRING_SLOTS   74
 #define B43_RXRING_SLOTS   64
 #define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN
 
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Michael Buesch
On Monday 21 December 2009 22:31:10 Larry Finger wrote:
 Hi,
 
 I placed a number of test prints in my system trying to find where a
 DMA data error might occur. In doing so, I found that 3 slots in the
 DMA header cache cross a page boundary. Such a situation is allowed on
 my system, but it might be forbidden on Atom processors. Please try
 this really ugly hack to see if it makes any difference.

First thing is that the DMA buffers are allowed to cross any boundary (and
the header is just a buffer). The boundary requirements only apply to the
memory holding the descriptors.

Second thing is: How does the patch prevent a boundary crossing?

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Larry Finger
On 12/21/2009 03:47 PM, Michael Buesch wrote:
 On Monday 21 December 2009 22:31:10 Larry Finger wrote:
 Hi,

 I placed a number of test prints in my system trying to find where a
 DMA data error might occur. In doing so, I found that 3 slots in the
 DMA header cache cross a page boundary. Such a situation is allowed on
 my system, but it might be forbidden on Atom processors. Please try
 this really ugly hack to see if it makes any difference.
 
 First thing is that the DMA buffers are allowed to cross any boundary (and
 the header is just a buffer). The boundary requirements only apply to the
 memory holding the descriptors.

That is what we will test for the Atom. I know it doesn't matter for
my CPU, but ...

 Second thing is: How does the patch prevent a boundary crossing?

The number of slots is reduced to the point that the header cache fits
in one page, just as the RX header cache does. As I said, this is
really ugly. If this fixes the problem, then a more elegant fix will
be needed.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Michael Buesch
On Monday 21 December 2009 23:02:39 Larry Finger wrote:
 On 12/21/2009 03:47 PM, Michael Buesch wrote:
  On Monday 21 December 2009 22:31:10 Larry Finger wrote:
  Hi,
 
  I placed a number of test prints in my system trying to find where a
  DMA data error might occur. In doing so, I found that 3 slots in the
  DMA header cache cross a page boundary. Such a situation is allowed on
  my system, but it might be forbidden on Atom processors. Please try
  this really ugly hack to see if it makes any difference.
  
  First thing is that the DMA buffers are allowed to cross any boundary (and
  the header is just a buffer). The boundary requirements only apply to the
  memory holding the descriptors.
 
 That is what we will test for the Atom. I know it doesn't matter for
 my CPU, but ...

I'm pretty sure the broadcom DMA engine is not _that_ braindead.
(It is pretty weird, but not _that_ weird).
It would effectively mean that we'd have to bouncebuffer _every_ TX packet.

  Second thing is: How does the patch prevent a boundary crossing?
 
 The number of slots is reduced to the point that the header cache fits
 in one page, just as the RX header cache does. As I said, this is
 really ugly. If this fixes the problem, then a more elegant fix will
 be needed.

But the allocation is not required to be aligned to the page start.
The first header might start at offset 4000 of a page, so you cross
the page border after the first few headers.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread William Bourque


Larry Finger wrote:
 Hi,
 
 I placed a number of test prints in my system trying to find where a
 DMA data error might occur. In doing so, I found that 3 slots in the
 DMA header cache cross a page boundary. Such a situation is allowed on
 my system, but it might be forbidden on Atom processors. Please try
 this really ugly hack to see if it makes any difference.

I confirm that the DMA error is still present with this patch.

- William

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Larry Finger
On 12/21/2009 04:11 PM, Michael Buesch wrote:
 On Monday 21 December 2009 23:02:39 Larry Finger wrote:
 On 12/21/2009 03:47 PM, Michael Buesch wrote:
 On Monday 21 December 2009 22:31:10 Larry Finger wrote:
 Hi,

 I placed a number of test prints in my system trying to find where a
 DMA data error might occur. In doing so, I found that 3 slots in the
 DMA header cache cross a page boundary. Such a situation is allowed on
 my system, but it might be forbidden on Atom processors. Please try
 this really ugly hack to see if it makes any difference.

 First thing is that the DMA buffers are allowed to cross any boundary (and
 the header is just a buffer). The boundary requirements only apply to the
 memory holding the descriptors.

 That is what we will test for the Atom. I know it doesn't matter for
 my CPU, but ...
 
 I'm pretty sure the broadcom DMA engine is not _that_ braindead.
 (It is pretty weird, but not _that_ weird).
 It would effectively mean that we'd have to bouncebuffer _every_ TX packet.

I'm not that worried about the Broadcom implementation as I am about
the support chips on the Netbooks.

 Second thing is: How does the patch prevent a boundary crossing?

 The number of slots is reduced to the point that the header cache fits
 in one page, just as the RX header cache does. As I said, this is
 really ugly. If this fixes the problem, then a more elegant fix will
 be needed.
 
 But the allocation is not required to be aligned to the page start.
 The first header might start at offset 4000 of a page, so you cross
 the page border after the first few headers.

Here, it was slot 74 that crossed the page boundary. At 110 bytes per
every 2 slots, that works out to 4070 bytes for 0 - 73. From that, I
infer that the cache starts on a page boundary.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Larry Finger
On 12/21/2009 04:18 PM, William Bourque wrote:
 
 
 Larry Finger wrote:
 Hi,

 I placed a number of test prints in my system trying to find where a
 DMA data error might occur. In doing so, I found that 3 slots in the
 DMA header cache cross a page boundary. Such a situation is allowed on
 my system, but it might be forbidden on Atom processors. Please try
 this really ugly hack to see if it makes any difference.
 
 I confirm that the DMA error is still present with this patch.

Thanks for testing. The results are as Michael expected, and as I feared.

Larry


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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Michael Buesch
On Monday 21 December 2009 23:20:06 Larry Finger wrote:
 Here, it was slot 74 that crossed the page boundary. At 110 bytes per
 every 2 slots, that works out to 4070 bytes for 0 - 73. From that, I
 infer that the cache starts on a page boundary.

Yeah well. For you.

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


Re: Fatal DMA error problem with netbook and BCM4312 - Test 2

2009-12-21 Thread Chris Vine
On Mon, 21 Dec 2009 17:18:01 -0500
William Bourque william.bour...@polymtl.ca wrote:
 Larry Finger wrote:
  Hi,
  
  I placed a number of test prints in my system trying to find where a
  DMA data error might occur. In doing so, I found that 3 slots in the
  DMA header cache cross a page boundary. Such a situation is allowed
  on my system, but it might be forbidden on Atom processors. Please
  try this really ugly hack to see if it makes any difference.
 
 I confirm that the DMA error is still present with this patch.

Ditto.

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


Fatal DMA error problem with netbook and BCM4312 - another test

2009-12-19 Thread Larry Finger
Hi,

If possible, please test this patch starting from a cold boot. It is a
variation of something we tried earlier, but enough different to try it.

Thanks,

Larry

In exploring the cause of DMA errors for BCM4312 devices on Atom
processors, other drivers that work write to PCI configuration
register 0x40. The code fragment below was found in the open-code
portion of the Broadcom hybrid wl driver. It is also used in the
ipw2100 and ath9k drivers. In the latter case, it had been removed
and later restored to prevent fatal interrupt errors.

Signed-off-by: Larry Finger larry.fin...@lwfinger.net
---

Index: wireless-testing/drivers/net/wireless/b43/main.c
===
--- wireless-testing.orig/drivers/net/wireless/b43/main.c
+++ wireless-testing/drivers/net/wireless/b43/main.c
@@ -4292,6 +4292,15 @@ static int b43_wireless_core_init(struct
setup_struct_wldev_for_init(dev);
phy-ops-prepare_structs(dev);
 
+   /* We disable the RETRY_TIMEOUT register (0x41) to keep
+* PCI Tx retries from interfering with C3 CPU state
+* This code fragment found in the Broadcom hybrid wl driver
+*/
+   pci_read_config_dword(bus-host_pci, 0x40, tmp);
+   if ((tmp  0xff00) != 0)
+   pci_write_config_dword(bus-host_pci, 0x40, tmp 
+  ~(0xff00));
+
/* Enable IRQ routing to this device. */
ssb_pcicore_dev_irqvecs_enable(bus-pcicore, dev-dev);
 
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: Fatal DMA error problem with netbook and BCM4312 - another test

2009-12-19 Thread Chris Vine
On Sat, 19 Dec 2009 10:43:29 -0600
Larry Finger larry.fin...@lwfinger.net wrote:
 Hi,
 
 If possible, please test this patch starting from a cold boot. It is a
 variation of something we tried earlier, but enough different to try
 it.
 
 Thanks,
 
 Larry

I applied this to 2.6.32.2 and it didn't help with the DMA errors I am
afraid.

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


Re: Fatal DMA error problem with netbook and BCM4312 - another test

2009-12-19 Thread Andrew Benton
On 19/12/09 19:55, Chris Vine wrote:
 On Sat, 19 Dec 2009 10:43:29 -0600
 Larry Fingerlarry.fin...@lwfinger.net  wrote:
 Hi,

 If possible, please test this patch starting from a cold boot. It is a
 variation of something we tried earlier, but enough different to try
 it.

 Thanks,

 Larry

 I applied this to 2.6.32.2 and it didn't help with the DMA errors I am
 afraid.

 Chris


Same here, the patch didn't prevent the DMA errors, however, I did 
notice that it only reported the error once, it didn't keep trying to 
reload the firmware.

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


Re: Fatal DMA error problem with netbook and BCM4312 - another test

2009-12-19 Thread Larry Finger
On 12/19/2009 05:11 PM, Andrew Benton wrote:
 On 19/12/09 19:55, Chris Vine wrote:

 I applied this to 2.6.32.2 and it didn't help with the DMA errors I am
 afraid.

 Chris

 
 Same here, the patch didn't prevent the DMA errors, however, I did 
 notice that it only reported the error once, it didn't keep trying to 
 reload the firmware.

The change that bails out after one fatal DMA error is a separate one.
As there is no chance of recovering, we decided not to spam the logs.

Thanks for testing. I had little expectation, but this one may be
needed in conjunction with something else. Back to the grindstone.

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


Re: Fatal DMA error problem with netbook and BCM4312 - another test

2009-12-19 Thread William Bourque


Larry Finger wrote:
 Hi,
 
 If possible, please test this patch starting from a cold boot. It is a
 variation of something we tried earlier, but enough different to try it.
 
 Thanks,
 
 Larry
 

A little late but I just tested and I have the same bug.
However, unlike Andrew, the error keep repeating as before...

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


Re: Fatal DMA error problem with netbook and BCM4312 - another test

2009-12-19 Thread Larry Finger
On 12/19/2009 10:15 PM, William Bourque wrote:
 
 
 Larry Finger wrote:
 Hi,

 If possible, please test this patch starting from a cold boot. It is a
 variation of something we tried earlier, but enough different to try it.

 Thanks,

 Larry

 
 A little late but I just tested and I have the same bug.
 However, unlike Andrew, the error keep repeating as before...

He is using wireless-testing or a recent mainline kernel. That is
where the change I described is installed.

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


Test message, please ignore.

2009-08-31 Thread Gábor Stefanik
I suspect that this will trigger a response from a spambot.

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


b43 and sprom modification success on a test card.

2008-06-09 Thread Dale Walsh
Well, I have a different card to modify as I prepare to familiarize  
myself with the process so that when the bcm4321 chipset (0x4328 /  
0x4329) is supported I will have great success.


I found a miniPCI card from a china made bcm4306 based card with the  
0x4320 ID that was not recognized as an Apple Airport card.


It look like it would be recognized by the b43 module based on source  
examination so I figured I'd use a PCI to miniPCI adapter and see if  
I can make the changes without bricking the card.


iwpriv doesn't seem to like the b43 module recognized card and  
wouldn't allow me to perform any read/write functions and it was  
hinted that this method is for the older bcm43xx module.


I located the ssb_sprom file for the card in question by  
identification of lspci and copied out the ssb_sprom file to the  
Desktop as original_sprom for easy identification (and so I know  
which was the unmodified).


Time for step one:
I modified the firmware with the ID's I want using the ssb-sprom  
application.


On to step two:
As suggested by Asheesh, I copied the modified firmware file onto the  
ssb_sprom file in the original location and at first I couldn't tell  
and wasn't sure if anything happened so I rmmod b43; modprobe b43  
and copied the ssb_sprom file back to the desktop as  
new_original_sprom and then did ssb-sprom -i Desktop/ 
new_original_sprom -P and my new ID's were displayed so it was time  
to test this so I started trying the card in various computers and  
was elated with the success of things.


Results now in Mac OS X on a BW G3, a PowerPC Dual G5 Xserve and an  
generic Intel x86 PC sporting a Core 2 Quad is that the card is  
natively recognized and supported.

http://acm.pastebin.com/f517a0a8
http://daleenterprise.com/download/airportclone.png

Now I have question regarding the process I performed.

Was the disabling and enabling of b43 required???

Is this the correct procedure for modification of the subsys ID's???

-- Dale





PGP.sig
Description: This is a digitally signed message part
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


b43 and sprom modification success on a test card. [correction]

2008-06-09 Thread Dale Walsh
Well, I have a different card to modify as I prepare to familiarize  
myself with the process so that when the bcm4321 chipset (0x4328 /  
0x4329) is supported I will have great success.


I found a miniPCI card from a china made bcm4306 based card with the  
0x4320 ID that was not recognized as an Apple Airport card.


It look like it would be recognized by the b43 module based on source  
examination so I figured I'd use a PCI to miniPCI adapter and see if  
I can make the changes without bricking the card.


iwpriv doesn't seem to like the b43 module recognized card and  
wouldn't allow me to perform any read/write functions and it was  
hinted that this method is for the older bcm43xx module.


I located the ssb_sprom file for the card in question by  
identification of lspci and copied out the ssb_sprom file to the  
Desktop as original_sprom for easy identification (and so I know  
which was the unmodified).


Time for step one:
I modified the firmware with the ID's I want using the ssb-sprom  
application.


On to step two:
As suggested by Asheesh, I copied the modified firmware file onto the  
ssb_sprom file in the original location and at first I couldn't tell  
and wasn't sure if anything happened so I rmmod b43; modprobe b43  
and copied the ssb_sprom file back to the desktop as  
new_original_sprom and then did ssb-sprom -i Desktop/ 
new_original_sprom -P and my new ID's were displayed so it was time  
to test this so I started trying the card in various computers and  
was elated with the success of things.


Results now in Mac OS X on a BW G3, a PowerPC Dual G5 Xserve and an  
generic Intel x86 PC sporting a Core 2 Quad is that the card is  
natively recognized and supported.

http://acm.pastebin.com/f5175a0a8
http://daleenterprise.com/download/airportclone.png

Now I have question regarding the process I performed.

Was the disabling and enabling of b43 required???

Is this the correct procedure for modification of the subsys ID's???

-- Dale





PGP.sig
Description: This is a digitally signed message part
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: b43 and sprom modification success on a test card. [correction] [THANK YOU]

2008-06-09 Thread Dale Walsh
I started looking at the Apple ID list again and it appears that  
0x0453 was incorrect for this card type since it was the ID for the  
miniPCIe card and not the miniPCI card I was using so I thought I'd  
give it another shot and change the ID again.


I modified my ID's in a new file and copied it over to ssb_sprom.

I took a look at dmesg and I saw that ssb writing to the card so  
without further action I rebooted into OSX and the ID's were now  
correct for the specific card type.


I tested the card in Mac OS X 10.4.0, 10.4.8, 10.4.11, 10.5.0, 10.5.2  
and 10.5.3 and the card was properly identified.


While the process has now become much simpler, I think it's extremely  
dangerous if it doesn't perform some kind of verification on the data  
that is being copied before it actually performs the firmware update.


I wish to thank Asheesh for his time in helping me get acclimated to  
ubuntu-hardy and also the authors of b43 and ssb for simplifying the  
sprom writing process and look forward to when the new cards like the  
LinkSYS WMP300n and Buffalo Technology WLI-PCI-G300N are supported so  
that the ID's can be corrected thus allowing the use of inexpensive  
third-party cards without sacrificing functionality in other OS's.


Since this has turned out to be such a simple process, waiting for  
the support of newer cards is a worthwhile wait provide that effort  
is being applied.


I really wanna help, the cause is worthwhile.

What task can I perform? (no task to menial)

On Jun 09, 2008, at 04:46 AM, Dale Walsh wrote:

Well, I have a different card to modify as I prepare to familiarize  
myself with the process so that when the bcm4321 chipset (0x4328 /  
0x4329) is supported I will have great success.


I found a miniPCI card from a china made bcm4306 based card with  
the 0x4320 ID that was not recognized as an Apple Airport card.


It look like it would be recognized by the b43 module based on  
source examination so I figured I'd use a PCI to miniPCI adapter  
and see if I can make the changes without bricking the card.


iwpriv doesn't seem to like the b43 module recognized card and  
wouldn't allow me to perform any read/write functions and it was  
hinted that this method is for the older bcm43xx module.


I located the ssb_sprom file for the card in question by  
identification of lspci and copied out the ssb_sprom file to the  
Desktop as original_sprom for easy identification (and so I know  
which was the unmodified).


Time for step one:
I modified the firmware with the ID's I want using the ssb-sprom  
application.


On to step two:
As suggested by Asheesh, I copied the modified firmware file onto  
the ssb_sprom file in the original location and at first I couldn't  
tell and wasn't sure if anything happened so I rmmod b43; modprobe  
b43 and copied the ssb_sprom file back to the desktop as  
new_original_sprom and then did ssb-sprom -i Desktop/ 
new_original_sprom -P and my new ID's were displayed so it was  
time to test this so I started trying the card in various computers  
and was elated with the success of things.


Results now in Mac OS X on a BW G3, a PowerPC Dual G5 Xserve and  
an generic Intel x86 PC sporting a Core 2 Quad is that the card is  
natively recognized and supported.

http://acm.pastebin.com/f5175a0a8
http://daleenterprise.com/download/airportclone.png

Now I have question regarding the process I performed.

Was the disabling and enabling of b43 required???

Is this the correct procedure for modification of the subsys ID's???

-- Dale



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


-- Dale





-- Dale





PGP.sig
Description: This is a digitally signed message part
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: b43 and sprom modification success on a test card. [correction] [THANK YOU]

2008-06-09 Thread Michael Buesch
On Monday 09 June 2008 12:03:35 Dale Walsh wrote:
 While the process has now become much simpler, I think it's extremely  
 dangerous if it doesn't perform some kind of verification on the data  
 that is being copied before it actually performs the firmware update.

It performs an 8bit CRC check. So you can't write any random data to it.

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


Re: 4311: trouble with Fedora 8 Test 3

2007-10-11 Thread sean darcy
On 10/10/07, John W. Linville [EMAIL PROTECTED] wrote:
 On Wed, Oct 10, 2007 at 12:08:08PM -0400, sean darcy wrote:

  Nothing at all about the 4311 card in dmesg.
 
  Made sure NetworkManager was working. Restarted it. I can see the icon.
  No connection. If I connect the wire it starts up the wired connection.

 Please post the output of this command:

 cat /sys/bus/ssb/devices/ssb0\:0/uevent


cat /sys/bus/ssb/devices/ssb0\:0/uevent
PHYSDEVBUS=ssb
MODALIAS=ssb:v4243id0812rev0D


 I suspect that your device's core is too new to be supported.


OK, break my heart. I actually thought that since it had the intel 965
chipset, that it would have intel wlan, but I shoulda checked...

In the meantime, if I can supply any info, just let me know.

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


4311: trouble with Fedora 8 Test 3

2007-10-10 Thread sean darcy
Compaq Presario C714NR, Intel GM965

uname -r
2.6.23-0.224.rc9.git6.fc8

lspci
01:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan
mini-PCI (rev 02)

Installed b43-fwcutter and followed the instructions at
http://linuxwireless.org/en/users/Drivers/b43#devicefirmware

Got http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2

untarred that file and ran
b43-fwcutter -w /lib/firmare broadcom-wl-4.80.53.0/kmod/wl_apsta.o

that seemed to work, and populated /lib/firmware/b43/ with a bunch of
*.fw files.

Then rmmod b43; modprobe -vv b43. No errors. Nothing in syslog.

modprobe also loaded cfg80211 and mac80211.

Shouldn't I have seen the firmware being loaded in dmesg, or syslog?

Nothing at all about the 4311 card in dmesg.

Made sure NetworkManager was working. Restarted it. I can see the icon.
No connection. If I connect the wire it starts up the wired connection.

dmesg does show this error:

ssb: rev 6000
WARNING: at drivers/ssb/main.c:889 ssb_tmslow_reject_bitmask() (Not tainted)

Call Trace:
 [88118878] :ssb:ssb_tmslow_reject_bitmask+0x76/0x7f
 [88119062] :ssb:ssb_device_is_enabled+0xf/0x39
 [8811b232] :ssb:ssb_pcicore_init+0x19/0x4a
 [881185e2] :ssb:ssb_attach_queued_buses+0x83/0x25e
 [88119ce8] :ssb:ssb_pci_get_invariants+0x0/0x2ba
 [88118be8] :ssb:ssb_bus_register+0x144/0x196
 [88118cea] :ssb:ssb_bus_pcibus_register+0x2a/0x4b
 [8811a5a9] :ssb:ssb_pcihost_probe+0x6f/0x9e
 [81137d8d] pci_device_probe+0xd0/0x137
 [811a1033] driver_probe_device+0xff/0x17c
 [811a11f8] __driver_attach+0x90/0xcc
 [811a1168] __driver_attach+0x0/0xcc
 [811a1168] __driver_attach+0x0/0xcc
 [811a03ca] bus_for_each_dev+0x43/0x6e
 [811a0742] bus_add_driver+0x7b/0x19d
 [81137f6f] __pci_register_driver+0x68/0x9a
 [880e9045] :ssb:ssb_modinit+0x45/0x5d
 [8105d8b3] sys_init_module+0x15d5/0x173a
 [8100bbfe] system_call+0x7e/0x83

ssb: Sonics Silicon Backplane found on PCI device :01:00.0

I also rmmod b43, and modprobe'd b43legacy. No help.

Any help appreciated.

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


Re: 4311: trouble with Fedora 8 Test 3

2007-10-10 Thread John W. Linville
On Wed, Oct 10, 2007 at 12:08:08PM -0400, sean darcy wrote:

 Nothing at all about the 4311 card in dmesg.
 
 Made sure NetworkManager was working. Restarted it. I can see the icon.
 No connection. If I connect the wire it starts up the wired connection.

Please post the output of this command:

cat /sys/bus/ssb/devices/ssb0\:0/uevent

I suspect that your device's core is too new to be supported.

 dmesg does show this error:
 
 ssb: rev 6000
 WARNING: at drivers/ssb/main.c:889 ssb_tmslow_reject_bitmask() (Not tainted)

Technically a warning, not an error. :-)

John
-- 
John W. Linville
[EMAIL PROTECTED]
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


Re: 4311: trouble with Fedora 8 Test 3

2007-10-10 Thread Larry Finger
sean darcy wrote:
 Compaq Presario C714NR, Intel GM965
 
 uname -r
 2.6.23-0.224.rc9.git6.fc8
 
 lspci
 01:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan
 mini-PCI (rev 02)

As John Linville suggested, rev 02 of the 4311's are not supported. At the 
moment, the reverse
engineers need to take apart the latest Broadcom driver and write the 
specifications for this
device. Until they find the time, this device will not work with either b43 or 
bcm43xx.

Sorry,

Larry

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


Test framework

2007-03-13 Thread Aleksander Trofimowicz
I was wondering whether there exists a test framework/there is a need
for automated tests, which could be run by everyone, without the
knowledge what is exactly going on in bcm43xx development. What kind
of test would be of any interest to you? Functional/performance
blackbox tests? Coverage tests?
-- 
at
___
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


speed test (4318)

2007-02-09 Thread Jim McCloskey

With this card:

LinkSys Wireless-G WPC54GS (ver.2))

Chip ID 0x4318, rev 0x2
Number of cores: 4
bcm43xx: Core 0: ID 0x800, rev 0xd, vendor 0x4243, enabled
bcm43xx: Core 1: ID 0x812, rev 0x9, vendor 0x4243, disabled
bcm43xx: Core 2: ID 0x804, rev 0xc, vendor 0x4243, enabled
bcm43xx: Core 3: ID 0x80d, rev 0x7, vendor 0x4243, enabled

I'm getting these speeds:

--
2.6.20 patched with 2.6.20.combined
--
 RATE  SPEED

11 Mb/s   621 Kb/s
18 Mb/s   620 Kb/s
24 Mb/s   608 Kb/s
36 Mb/s   534 Kb/s
54 Mb/s   572 Kb/s


--
2.6.20 patched with 2.6.20.combined 
and with the `the real fix for bcm4311 and bcm4312' (Feb 7)
--
 RATE  SPEED

11 Mb/s   524 Kb/s
18 Mb/s   578 Kb/s
24 Mb/s   616 Kb/s
36 Mb/s   619 Kb/s
54 Mb/s   607 Kb/s


The router is a LinkSys WRT54G(L) (no other cards connecting).

The speed estimates come from wget downloading kernel source, averaged
over 3 tries.

With the earlier patch (the `really good news' patch, Feb 6), the card
continued to work, but it slowed to a crawl.

Hope this is helpful. Thanks for all the good work,

Jim




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


Re: speed test (4318)

2007-02-09 Thread Larry Finger
Jim McCloskey wrote:
 With this card:
 
 LinkSys Wireless-G WPC54GS (ver.2))
 
 Chip ID 0x4318, rev 0x2
 Number of cores: 4
 bcm43xx: Core 0: ID 0x800, rev 0xd, vendor 0x4243, enabled
 bcm43xx: Core 1: ID 0x812, rev 0x9, vendor 0x4243, disabled
 bcm43xx: Core 2: ID 0x804, rev 0xc, vendor 0x4243, enabled
 bcm43xx: Core 3: ID 0x80d, rev 0x7, vendor 0x4243, enabled
 
 I'm getting these speeds:
 
 --
 2.6.20 patched with 2.6.20.combined
 --
  RATE  SPEED
 
 11 Mb/s   621 Kb/s
 18 Mb/s   620 Kb/s
 24 Mb/s   608 Kb/s
 36 Mb/s   534 Kb/s
 54 Mb/s   572 Kb/s
 
 
 --
 2.6.20 patched with 2.6.20.combined 
 and with the `the real fix for bcm4311 and bcm4312' (Feb 7)
 --
  RATE  SPEED
 
 11 Mb/s   524 Kb/s
 18 Mb/s   578 Kb/s
 24 Mb/s   616 Kb/s
 36 Mb/s   619 Kb/s
 54 Mb/s   607 Kb/s
 
 
 The router is a LinkSys WRT54G(L) (no other cards connecting).
 
 The speed estimates come from wget downloading kernel source, averaged
 over 3 tries.
 
 With the earlier patch (the `really good news' patch, Feb 6), the card
 continued to work, but it slowed to a crawl.
 
 Hope this is helpful. Thanks for all the good work,

You are very welcome. I'm just happy to finally start to crack these problems 
after so long.

Just as a point of reference, I think wget yields KBs (kilo-bytes/sec). My 
iperf numbers are in Kbs
(kilo-bits/sec).

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


[TEST] Does this help 1GB memory problem?

2006-09-19 Thread Larry Finger
The patch below implements a quick-and-dirty approach to solving the problem of
DMA with more than 1 GB memory. Unfortunately, I don't have the hardware to test
it. The patch is intended for the wireless-2.6 tree. It will not work with
2.6.18-rcX. Please report your results, and the log messages.

Thanks,

Larry


Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
===
--- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
+++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
@@ -215,15 +215,36 @@ void free_descriptor_buffer(struct bcm43
  static int alloc_ringmemory(struct bcm43xx_dmaring *ring)
  {
struct device *dev = (ring-bcm-pci_dev-dev);
+   int i, j;
+   struct {
+   dma_addr_t dmabase;
+   void *descbase;
+   } dma_trial[10];

-   ring-descbase = dma_alloc_coherent(dev, BCM43xx_DMA_RINGMEMSIZE,
+   for (i=0; i10; i++) {
+   ring-descbase = dma_alloc_coherent(dev, 
BCM43xx_DMA_RINGMEMSIZE,
(ring-dmabase), GFP_KERNEL);
-   if (!ring-descbase) {
-   printk(KERN_ERR PFX DMA ringmemory allocation failed\n);
-   return -ENOMEM;
+   if (!ring-descbase) {
+   printk(KERN_ERR PFX DMA ringmemory allocation 
failed\n);
+   return -ENOMEM;
+   }
+   if (ring-dmabase + BCM43xx_DMA_RINGMEMSIZE  0x3fff)
+   goto low_mem_ok;
+   dma_trial[i].descbase = ring-descbase;
+   dma_trial[i].dmabase = ring-dmabase;
+   printk(KERN_INFO PFX Trial %d: dmabase = 0x%.8x\n, i+1, 
ring-dmabase);
}
+   printk(KERN_INFO PFX Unable to get DMA memory below 1 GB boundary.\n);
+
+low_mem_ok:
memset(ring-descbase, 0, BCM43xx_DMA_RINGMEMSIZE);

+   if (i != 0) {
+   for (j=0; ji; j++)/* get rid of any trials that failed */
+   dma_free_coherent(dev, BCM43xx_DMA_RINGMEMSIZE,
+ dma_trial[j].descbase, 
dma_trial[j].dmabase);
+   }   
+
return 0;
  }



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


Re: [TEST] Does this help 1GB memory problem?

2006-09-19 Thread Michael Buesch
On Tuesday 19 September 2006 18:40, Larry Finger wrote:
 The patch below implements a quick-and-dirty approach to solving the problem 
 of
 DMA with more than 1 GB memory. Unfortunately, I don't have the hardware to 
 test
 it. The patch is intended for the wireless-2.6 tree. It will not work with
 2.6.18-rcX. Please report your results, and the log messages.

Q: Does this help  1GB memory problem?
A: No ;)

Please lookup old SVN archives, where I implemented such a
dirty workaround like this.
1) We also need to have descriptor buffers under 1G
2) I think it's clear to you, that this is based on pure
   luck, as retrying 10 times can easily fail as well
   as only trying once.

If you want 1G, get a device which supports this.

 Thanks,
 
 Larry
 
 
 Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
 ===
 --- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
 +++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
 @@ -215,15 +215,36 @@ void free_descriptor_buffer(struct bcm43
   static int alloc_ringmemory(struct bcm43xx_dmaring *ring)
   {
   struct device *dev = (ring-bcm-pci_dev-dev);
 + int i, j;
 + struct {
 + dma_addr_t dmabase;
 + void *descbase;
 + } dma_trial[10];
 
 - ring-descbase = dma_alloc_coherent(dev, BCM43xx_DMA_RINGMEMSIZE,
 + for (i=0; i10; i++) {
 + ring-descbase = dma_alloc_coherent(dev, 
 BCM43xx_DMA_RINGMEMSIZE,
   (ring-dmabase), GFP_KERNEL);
 - if (!ring-descbase) {
 - printk(KERN_ERR PFX DMA ringmemory allocation failed\n);
 - return -ENOMEM;
 + if (!ring-descbase) {
 + printk(KERN_ERR PFX DMA ringmemory allocation 
 failed\n);
 + return -ENOMEM;
 + }
 + if (ring-dmabase + BCM43xx_DMA_RINGMEMSIZE  0x3fff)
 + goto low_mem_ok;
 + dma_trial[i].descbase = ring-descbase;
 + dma_trial[i].dmabase = ring-dmabase;
 + printk(KERN_INFO PFX Trial %d: dmabase = 0x%.8x\n, i+1, 
 ring-dmabase);
   }
 + printk(KERN_INFO PFX Unable to get DMA memory below 1 GB boundary.\n);
 +
 +low_mem_ok:
   memset(ring-descbase, 0, BCM43xx_DMA_RINGMEMSIZE);
 
 + if (i != 0) {
 + for (j=0; ji; j++)/* get rid of any trials that failed */
 + dma_free_coherent(dev, BCM43xx_DMA_RINGMEMSIZE,
 +   dma_trial[j].descbase, 
 dma_trial[j].dmabase);
 + }   
 +
   return 0;
   }
 
 
 
 ___
 Bcm43xx-dev mailing list
 Bcm43xx-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
 

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


Re: [TEST] Does this help 1GB memory problem?

2006-09-19 Thread Hendrik Sattler
Am Dienstag 19 September 2006 18:50 schrieb Michael Buesch:
 If you want 1G, get a device which supports this.

I am not affected by this issue but as mentioned earlier: could you fall back 
to non-dma mode? If not, you should fail completely instead of trying to run 
a setup that is know to not work correctly.

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


Re: [TEST] Does this help 1GB memory problem?

2006-09-19 Thread Larry Finger
Michael Buesch wrote:
 On Tuesday 19 September 2006 18:40, Larry Finger wrote:
 
 Q: Does this help  1GB memory problem?
 A: No ;)
 
 Please lookup old SVN archives, where I implemented such a
 dirty workaround like this.
 1) We also need to have descriptor buffers under 1G
 2) I think it's clear to you, that this is based on pure
luck, as retrying 10 times can easily fail as well
as only trying once.
 
 If you want 1G, get a device which supports this.

Sorry that I didn't see your workaround in the SVN archives. I found what 
Linville did for the b44 
chip.

In your estimation, should it be possible to implement a test for 30-bit 
hardware and more than 1 GB 
memory early enough to switch the interface to pio mode?

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


Re: [TEST] Does this help 1GB memory problem?

2006-09-19 Thread Zahir Toufie
On Tue, 2006-09-19 at 12:45 -0500, Larry Finger wrote:
 Michael Buesch wrote:
  On Tuesday 19 September 2006 18:40, Larry Finger wrote:
  
  Q: Does this help  1GB memory problem?
  A: No ;)
  
  Please lookup old SVN archives, where I implemented such a
  dirty workaround like this.
  1) We also need to have descriptor buffers under 1G
  2) I think it's clear to you, that this is based on pure
 luck, as retrying 10 times can easily fail as well
 as only trying once.
  
  If you want 1G, get a device which supports this.
 
 Sorry that I didn't see your workaround in the SVN archives. I found what 
 Linville did for the b44 
 chip.
 
 In your estimation, should it be possible to implement a test for 30-bit 
 hardware and more than 1 GB 
 memory early enough to switch the interface to pio mode?
 
 Larry

Must admit the patch seemed like a stretch, but tried it anyway, as
predicted, the same exception still exists.

OK, I have'nt been hacking the kernel for many years now but how does
the Win XP driver then work with ndiswrapper. Surely it should be
failing with a similar problem on the same hardware?

From dmesg I see the following, this tells me there are both DMA and
DMA32 available?


On node 0 totalpages: 514181
  DMA zone: 2384 pages, LIFO batch:0
  DMA32 zone: 511797 pages, LIFO batch:31


I am assuming DMA is 16 bit, so is there no way to force the kernel to
only return a DMA allocation  2^30. In other words from the DMA zone
and not the DMA32 zone?

~Z~




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


Re: [TEST] Does this help 1GB memory problem?

2006-09-19 Thread Zahir Toufie
On Tue, 2006-09-19 at 18:50 +0200, Michael Buesch wrote:

 If you want 1G, get a device which supports this.

This is really not an option. 

First and foremost reason is that I like many others use a notebook with
built in hardware. So the option to simply replace the hardware is
unrealistic at best.

Secondly even newer hardware like the Acer Ferrari 5000, Asus
Lamborghini and many more now supports memory way above 1GB. The Acer
for instance supports upto 4GB RAM. Saying that there simply is no way
to get a working driver for that kind of hardware will only cause people
to rethink moving to linux and sticky with what works Win XP / Vista.

Now I'm no Win fan by any chance and I have been a long supporter, user
and hacker of linux since the days when the network drivers were still
embeded inside the kernel, back in '94. We've come along way since then
and I simply can't believe that there is absolutely no way of working
around this problem.

BTW. The Acer Ferrari 5000 still uses a Broadcom chipset for it's
wireless hadrware.

~Z~



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


Re: [TEST] Does this help 1GB memory problem?

2006-09-19 Thread Larry Finger
Zahir Toufie wrote:

 Must admit the patch seemed like a stretch, but tried it anyway, as
 predicted, the same exception still exists.
 
 OK, I have'nt been hacking the kernel for many years now but how does
 the Win XP driver then work with ndiswrapper. Surely it should be
 failing with a similar problem on the same hardware?

 From what I understand, there is a long-standing bug in the DMA memory 
allocation routine. The net 
effect is that it either makes the full 4 GB (32 bit) range available, or it 
limits one to a 16 Mb 
(24 bit) limit. A problem is that for large systems, all memory in the lower 16 
MB is probably used 
before the bcm43xx driver tries to get its allocation. This faulty allocation 
scheme is maintained 
to keep heritage devices from breaking. Windows probably has implemented the 
allocation scheme 
correctly. I'm not sure how ndiswrapper gets around the problem.

What I would like to do is find where the distinction is made between 32- and 
24-bit DMA and prepare 
a mod that an individual user could apply to make their interface work. It 
should be safe to assume 
that any system with 2 GB of memory probably doesn't have any such heritage 
equipment! In any case, 
this patch would _NEVER_ make it into the stable tree. So far, I have not found 
and/or understood 
this part of the code. Any pointers as to where to look would be appreciated.

Larry

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


Re: [TEST] Does this help 1GB memory problem?

2006-09-19 Thread Michael Buesch
On Tuesday 19 September 2006 20:55, Zahir Toufie wrote:
 On Tue, 2006-09-19 at 18:50 +0200, Michael Buesch wrote:
 
  If you want 1G, get a device which supports this.
 
 This is really not an option. 
 
 First and foremost reason is that I like many others use a notebook with
 built in hardware. So the option to simply replace the hardware is
 unrealistic at best.
 
 Secondly even newer hardware like the Acer Ferrari 5000, Asus
 Lamborghini and many more now supports memory way above 1GB. The Acer
 for instance supports upto 4GB RAM. Saying that there simply is no way
 to get a working driver for that kind of hardware will only cause people
 to rethink moving to linux and sticky with what works Win XP / Vista.
 
 Now I'm no Win fan by any chance and I have been a long supporter, user
 and hacker of linux since the days when the network drivers were still
 embeded inside the kernel, back in '94. We've come along way since then
 and I simply can't believe that there is absolutely no way of working
 around this problem.

Oh, come one. If you are a long supporter, user and hacker, you can surely
come up with a good solution that
a) works and
b) is not a damn ugly hack

This is the same issue as with PCI-E hardware. _Lots_ of people
request it, but nobody is going to implement and test it.
Well, I can't do it for you, as I don't have the hardware.

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


[PATCH] Fix for bcm43xx_mac_suspend timeouts - please test

2006-07-02 Thread Larry Finger

Michael,

In trying various things in mac_suspend, I accidentally messed up the test for IRQ ready so that the 
code returned immediately. The bottom line was that nothing went wrong. There were no crashes and no 
hangs. On that basis, I changed the code as shown in the following patch. This code has been running 
for two days on my system. Numerous MAC suspend failed messages have been logged, but the 
interface has not failed. I will continue testing.


Larry



index 1cd47c5..a7ae1a9 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -2307,24 +2147,22 @@ void bcm43xx_mac_enable(struct bcm43xx_p
bcm43xx_power_saving_ctl_bits(bcm, -1, -1);
 }

-/* http://bcm-specs.sipsolutions.net/SuspendMAC */
+/* http://bcm-specs.sipsolutions.net/SuspendMAC calls for the code to delay as 
long as 10 ms for
+   the interface to set the BCM43xx_IRQ_READY bit in 
BCM43xx_MMIO_GEN_IRQ_REASON. To date, only
+   Rev 2 of the BCM4306 has needed any delay before setting the ready bit, and 
this revision
+   seems to work OK without a delay, even when the ready bit is not set. 
Therefore, the delay loop
+   has been removed. */
+
 void bcm43xx_mac_suspend(struct bcm43xx_private *bcm)
 {
-   int i;
-   u32 tmp;
-
bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
bcm43xx_read32(bcm, BCM43xx_MMIO_STATUS_BITFIELD)
 ~BCM43xx_SBF_MAC_ENABLED);
bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy read */
-   for (i = 10; i; i--) {
-   tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
-   if (tmp  BCM43xx_IRQ_READY)
-   return;
-   udelay(10);
-   }
-   printkl(KERN_ERR PFX MAC suspend failed\n);
+   if (!(bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON)  
BCM43xx_IRQ_READY))
+   printkl(KERN_ERR PFX MAC suspend failed\n);
+   return;
 }

 void bcm43xx_set_iwmode(struct bcm43xx_private *bcm,


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


Re: [PATCH] Fix for bcm43xx_mac_suspend timeouts - please test

2006-07-02 Thread Michael Buesch
On Sunday 02 July 2006 17:45, you wrote:
 Michael,
 
 In trying various things in mac_suspend, I accidentally messed up the test 
 for IRQ ready so that the 
 code returned immediately. The bottom line was that nothing went wrong. There 
 were no crashes and no 
 hangs. On that basis, I changed the code as shown in the following patch. 
 This code has been running 
 for two days on my system. Numerous MAC suspend failed messages have been 
 logged, but the 
 interface has not failed. I will continue testing.

This patch is not going upstream, as it is broken.
What are you trying to do here?
If the READY bit will be there the first time IT WON'T LOOP ANYWAY.

PLEASE stop messing with the mac_suspend, and apply my original patch.
Damnit!

We _must_ synchronize with the device here. Fullstop.

 
 
 index 1cd47c5..a7ae1a9 100644
 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
 +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
 @@ -2307,24 +2147,22 @@ void bcm43xx_mac_enable(struct bcm43xx_p
   bcm43xx_power_saving_ctl_bits(bcm, -1, -1);
   }
 
 -/* http://bcm-specs.sipsolutions.net/SuspendMAC */
 +/* http://bcm-specs.sipsolutions.net/SuspendMAC calls for the code to delay 
 as long as 10 ms for
 +   the interface to set the BCM43xx_IRQ_READY bit in 
 BCM43xx_MMIO_GEN_IRQ_REASON. To date, only
 +   Rev 2 of the BCM4306 has needed any delay before setting the ready bit, 
 and this revision
 +   seems to work OK without a delay, even when the ready bit is not set. 
 Therefore, the delay loop
 +   has been removed. */
 +
   void bcm43xx_mac_suspend(struct bcm43xx_private *bcm)
   {
 - int i;
 - u32 tmp;
 -
   bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
   bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
   bcm43xx_read32(bcm, BCM43xx_MMIO_STATUS_BITFIELD)
~BCM43xx_SBF_MAC_ENABLED);
   bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy read */
 - for (i = 10; i; i--) {
 - tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
 - if (tmp  BCM43xx_IRQ_READY)
 - return;
 - udelay(10);
 - }
 - printkl(KERN_ERR PFX MAC suspend failed\n);
 + if (!(bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON)  
 BCM43xx_IRQ_READY))
 + printkl(KERN_ERR PFX MAC suspend failed\n);
 + return;
   }
 
   void bcm43xx_set_iwmode(struct bcm43xx_private *bcm,
 
 
 =
 

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


Re: [Bcm43xx-dev] Test report.

2005-12-31 Thread David Woodhouse
On Sat, 2005-12-31 at 02:37 +, David Woodhouse wrote:
 At that point I can use dhclient successfully and Legacy IP works. 

Hm, almost. If I leave a ping running, I see an occasional TX timeout,
followed by a reset -- and then I have to manually set the ESSID again
before it'll work any more.

I also see it complain 'bcm43xx: ieee80211_rx() failed' every minute,
when it receives a IEEE80211_STYPE_NULLFUNC frame which iee80211_rx()
silently drops.

bcm43xx driver 0.0.1
bcm43xx: Chip ID 0x4306, rev 0x2
bcm43xx: Number of cores: 6
bcm43xx: Core 0: ID 0x800, rev 0x2, vendor 0x4243, enabled
bcm43xx: Core 1: ID 0x812, rev 0x4, vendor 0x4243, enabled
bcm43xx: Core 2: ID 0x80d, rev 0x1, vendor 0x4243, enabled
bcm43xx: Core 3: ID 0x807, rev 0x1, vendor 0x4243, disabled
bcm43xx: Core 4: ID 0x804, rev 0x7, vendor 0x4243, enabled
bcm43xx: Core 5: ID 0x812, rev 0x4, vendor 0x4243, disabled
bcm43xx: Ignoring additional 802.11 core.
bcm43xx: Detected PHY: Version: 1, Type 2, Revision 1
bcm43xx: Detected Radio:  ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)
bcm43xx: Radio turned off
bcm43xx: Radio turned off
bcm43xx: InitVals written
bcm43xx: Radio turned on
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
keys cleared
eth2: no IPv6 routers present
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Associate: Network not known, trying to initiate scan: SoftMAC: Start 
scanning with channel: 1
SoftMAC: Scanning 13 channels
ok.
SoftMAC: Scanning finished
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Associate: Network not known, trying to initiate scan: SoftMAC: Start 
scanning with channel: 1
SoftMAC: Scanning 13 channels
ok.
SoftMAC: Scanning finished
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Associate: Network not known, trying to initiate scan: SoftMAC: Start 
scanning with channel: 1
SoftMAC: Scanning 13 channels
ok.
SoftMAC: Scanning finished
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Unable to find network after scan!
bcm43xx: set security called
bcm43xx:.active_key = 0
bcm43xx:.level = 1
bcm43xx:.enabled = 1
bcm43xx:.encrypt = 1
bcm43xx: TODO: Incomplete code in keymac_write() at 
drivers/net/wireless/bcm43xx/bcm43xx_main.c:1343
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Associate: Network not known, trying to initiate scan: SoftMAC: Start 
scanning with channel: 1
SoftMAC: Scanning 13 channels
ok.
SoftMAC: Scanning finished
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Associate: Network not known, trying to initiate scan: SoftMAC: Start 
scanning with channel: 1
SoftMAC: Scanning 13 channels
ok.
SoftMAC: Scanning finished
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Associate: Network not known, trying to initiate scan: SoftMAC: Start 
scanning with channel: 1
SoftMAC: Scanning 13 channels
ok.
SoftMAC: Scanning finished
SoftMAC: 
net/ieee80211/softmac/ieee80211softmac_assoc.c:149:ieee80211softmac_assoc_work()
SoftMAC: Unable to find network after scan!
SoftMAC: 

[Bcm43xx-dev] Test report.

2005-12-30 Thread David Woodhouse
I've just tried the current (20051230) snapshot on the 2.6.15-rc7-git4
(Fedora Rawhide) kernel on a PowerBook. I also used the patch from 
http://marc.theaimsgroup.com/?l=linux-netdevm=113591302004639w=2 

The resulting kernel package (which also installs on FC4 with --nodeps)
is at http://david.woodhou.se/kernel-2.6.14-1.1805_FC5.bcm43xx.ppc.rpm

Firmware as follows:

  filename :  AppleAirPort2
  version  :  3.90.34.0.p11 (400.17)
  MD5  :  ca0f34df2f0bfb8b5cfd83b5848d2bf5

Although the output of 'iwlist scan' looks correct, it doesn't manage to
connect with ESSID set to 'any'. I have to explicitly set the ESSID for
it to connect. I'm using WEP.

At that point I can use dhclient successfully and Legacy IP works. IPv6,
on the other hand, does not. It looks like a multicast problem -- it
doesn't see the router advertisements which are sent to the multicast
MAC address 33:33:00:00:00:01 -- even when I use tcpdump in promiscuous
mode. 

If I ping the link-local address of other machines on the network, or
manually configure IPv6 address and routes, then it almost works for
_outgoing_ connections -- as long as the machine it's talking to is
automatically inferring its MAC address from the packet which initiates
the connection. To communicate with anything further afield than the
local network, I have to keep pinging the router so that it doesn't
forget my MAC address -- since I never see its neighbour solicitations.

Suspend and resume led to a machine check...

bcm43xx: Resuming...
PCI: Enabling device 0001:10:12.0 ( - 0002)
bcm43xx: InitVals written
bcm43xx: Radio turned on
Machine check in kernel mode.
Caused by (from SRR1=214b030): Transfer error ack signal

Vector: 200 (Machine Check) at [c1807be0]
pc: f216f3e0: bcm43xx_phy_read+0x50/0xa0 [bcm43xx]
lr: f216f584: bcm43xx_phy_set_antenna_diversity+0xb4/0x320 [bcm43xx]

-- 
dwmw2

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