b43/SSB: SPROM revision problem

Rafał Miłecki zajec5 at gmail.com
Fri Oct 22 07:23:45 EDT 2010


I've problem with initializing N radio (2055) on my Broadcom card.

In case of my card simple workaround [1] for radio initialization is
needed. If I do not use workaround radio simply does not start. I
dumped MMIO operations of "wl" and it uses workaround for my card as
well.

The problem is that workaround condition is SPROM-based. It looks like this:
if (sprom->revision < 4)
	workaround = (some_specific_card);
else
	workaround = ((sprom->boardflags_hi & B43_BFH_NOPA) == 0);

So now goes the tricky part. My SSB has following SPROM:
[ 6208.080097] ssb: SPROM offset is 0x1000
[ 6208.089815] ssb: SPROM revision 5 detected.

However in drivers/ssb/pci.c there are some translations, including
one for my card. My SPROM revision gets translated to 4. The result
is:
sprom->revision: 4
sprom->boardflags_hi: 0x1

With that revision and boardflags workaround is not used and my radio
does not init. There are two possibilities:
1) Specs are wrong
2) We do SPROM translation incorrectly

Any hints about that?


[1] http://bcm-v4.sipsolutions.net/802.11/Radio/2055/Init#Post_Init

-- 
Rafał



More information about the b43-dev mailing list