On Thu, Sep 19, 2013 at 4:06 PM, Martin Pieuchot <mpieuc...@nolizard.org> wrote: > If I'm not mistaken the linux b43 driver uses another version of the > firmware (v4+). But bwi(4) is a rewrite/port of what's now the > b43legacy driver which depends on a firmware (v3) that does not > support 11A phy. > > So I'm not sure it makes sense to port code from the b43 driver.
If I am not mistaken Linux only uses b43legacy for "BCM4306 Rev 2 and cards that have only 802.11b" [1]. These chips are the last ones that Linux cannot succeed to switch to the firmware v4+. All others use the b43 driver. But the drivers are very similar. b43legacy seems to not support phya and the b43 code for phyg is the same that is used for b43legacy on phyg and phyb. I was thinking that taking the phya initialization code was not risky. With these diffs I was trying to start adding each piece of code that performs phy initialization in b43 that are not present b43legacy (if these pieces don't break bwi). It should help us to switch to v4+ in the future with minimum pain. I think that with some work we could mix what is done b43 and b43legacy in bwi and load the good firmware(v3 or v4+) depending on the hardware ids. But I should probably come back with a stack of diffs when I've got some results going forward in this direction :) Cheers, [1] http://wireless.kernel.org/en/users/Drivers/b43 -- Sylvestre Gallon