OpenWrt Forum Archive

Topic: How do I get BCM4331_CHIP wokring on WNDR3700v3

The content of this topic has been archived on 7 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I have been successfully running openWRT on a WNDR3700v3.
Now I am trying investigate the causes of 'invalid SPROM read' as show in the log file below.  And hopefully fixit.

[    0.640000] bcma: bus1: Found chip with id 0x4331, rev 0x02 and package 0x08
[    0.640000] bcma: bus1: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x25, class 0x0)
[    0.640000] bcma: bus1: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x1D, class 0x0)
[    0.640000] bcma: bus1: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x13, class 0x0)
[    0.640000] bcma: bus1: Found rev 10 PMU (capabilities 0x108C260A)
[    0.640000] bcma: bus1: SPROM offset 0x800
[    0.730000] bcma: bus1: Invalid SPROM read from the PCIe card, trying to use fallback SPROM
[    0.890000] bcma: bus1: Using SPROM revision 9 provided by platform.
[    0.890000] bcma: bus1: PMU resource config unknown or not needed for device 0x4331
[    0.900000] bcma: bus1: Bus registered
[    0.900000] bcma: bus0: Bus registered

Further down in the openWRT log file I get this:

[   14.140000] wl0: Broadcom BCM4329 802.11 Wireless Controller 5.10.56.27
[   14.150000] SSB/BCMA glue driver successfully attached
[   14.150000] bcma: PCI: Fixing up device 0000:00:01.0
[   14.200000] wl1: 5.10.56.27 driver failed with code 11
[   14.200000] Memory leak of bytes 20

Does wl1 fail because of the 'invalid SPROM' read ?

The Linux kernel has some support for the BCM4331 hw. I however suspects that some additional piece is required/missing.
https://git.kernel.org/cgit/linux/kerne … s/v3.10.33
Look for the 4331 HW id.

How can correct the issue with 'invalid SPROM read' ?
I will study the code to see what I can come up with.
I can test patches and maybe even try to create a patch that solves the problem.

Salutations
/David

Broadcom's wireless cards in routers don't have SPROM and that's expected. SPROM has to be created from NVRAM values and this is what's happening in your case.

wl is not likely to use bcma or it's SPROM for anything.

The problem with wl and BCM4331 is that wl in OpenWrt is too old to support BCM4331. Before you ask: no. It can not be easily updated. no!

Zajec wrote:

Broadcom's wireless cards in routers don't have SPROM and that's expected. SPROM has to be created from NVRAM values and this is what's happening in your case.

wl is not likely to use bcma or it's SPROM for anything.

ok, thank you for the clarification.

Zajec wrote:

The problem with wl and BCM4331 is that wl in OpenWrt is too old to support BCM4331. Before you ask: no. It can not be easily updated. no!

It is bad that it can not easily be updated to a newer version.
Thank you for the information.

Don't buy routers with Broadcom chipsets..

Zajec,
       I have generated BB firmware for your LinkSys E4200(Broadcom BCM4718 Target board with BCM4331 Wireless NIC)

wl command is not working.

But I see in OpenWrt prompt
root@OpenWrt:~# wl ver
wl: wl driver adapter not found
root@OpenWrt:~#


AND in dmesg--->
[   15.630000] wl: module license 'unspecified' taints kernel.---->
[   15.630000] Disabling lock debugging due to kernel taint------>
[   15.740000] wl0: Broadcom BCM4329 802.11 Wireless Controller 5.10.56.27
[   15.740000] SSB/BCMA glue driver successfully attached
[   15.750000] bcma: PCI: Fixing up device 0000:00:01.0
[   15.790000] wl1: 5.10.56.27 driver failed with code 11---->
[   15.800000] Memory leak of bytes 20


Is it the same issue as you are refering?

Any solution to this issue?

Will be glad if you can help.

Regards
Muktikanta

muktikanta wrote:

Zajec,
       I have generated BB firmware for your LinkSys E4200(Broadcom BCM4718 Target board with BCM4331 Wireless NIC)

wl command is not working.

But I see in OpenWrt prompt
root@OpenWrt:~# wl ver
wl: wl driver adapter not found
root@OpenWrt:~#


AND in dmesg--->
[   15.630000] wl: module license 'unspecified' taints kernel.---->
[   15.630000] Disabling lock debugging due to kernel taint------>
[   15.740000] wl0: Broadcom BCM4329 802.11 Wireless Controller 5.10.56.27
[   15.740000] SSB/BCMA glue driver successfully attached
[   15.750000] bcma: PCI: Fixing up device 0000:00:01.0
[   15.790000] wl1: 5.10.56.27 driver failed with code 11---->
[   15.800000] Memory leak of bytes 20


Is it the same issue as you are refering?

Any solution to this issue?

Will be glad if you can help.

Regards
Muktikanta




I get:

root@OpenWrt:/# wl -a wl0 cap
ap sta wet led wme 802.11d 802.11h rm cqa mbss16 ampdu amsdurx amsdutx acktiming 
root@OpenWrt:/# 

root@OpenWrt:/# wl -a wl0 ver
5.10 RC56.27
wl0: Apr 13 2014 10:03:30 version 5.10.56.27

root@OpenWrt:/# wl -a wl1 ver
wl: wl driver adapter not found
root@OpenWrt:/# 

I don't hink the issue will be solved anytime soon. The WL drivers basically out of date/old.
One solution would be if Broadcom in some stroke of infinite wisdom decided to publish the source code for the cards.

They Broadcom, publish binary drivers for the kernel but only for intel architetcture.

Regards,
David

The discussion might have continued from here.