Thank You Poznan University of Technology
As you should know, I'm involved in Broadcom-related Linux development ─ some time ago I've added support for 802.11n Broadcom chipset named BCM4321. Unfortunately it took me a lot of time and the support wasn't really complete. I've done all the work in my free time and I still had to be focused on my studies. Luckily, Poznan University of Technology (the university I study at), noticed my efforts and valued it! They proposed me to continue my contribution to the b43 project as part of my MSc work! This allowed me to spend a lot of time on Broadcom cards drivers :)
As the result I've added support for BCM4322 chipset, performed some tests, improved speeds achieved on N-PHY cards and wrote documentation. Then we've discovered there are newer Broadcom's cards available, based on AMBA-like bus (instead of earlier SSB). I've decided the work I've already done is not enough and I've continued to work on support in Linux.
I've spent some time to understand the new bus, then created new driver called bcma (BCMA ─ Broadcom's AMBA) which has landed in 3.0. It was so close to add support for new chipsets in b43 I couldn't resist. I've added bus layer abstraction, wrote some new functions, modified existing ones and ─ finally ─ added BCMA support to the b43. This allowed us to handle N-PHY cards built on top of BCMA like BCM43224 and BCM43225 based ones! According to Broadcom there are also BCM43227 and BCM43228 chipsets, but we could not find a single card using any of them. Additionaly Broadcom is not willing to send any of them for development purpose.
In any case, today I've sent last 2 patches to the linux-wireless mailing list. They add support for (at least) BCM43224 and BCM43225. With a little of hope, John will take them for big 3.1 merge.
I'd like to say big "Thank You" to Poznan University of Technology. I couldn't do all of that without their help. Focusing on another MSc work woudn't give me so much time, not to mention satisfaction!
What do we still need to do? Just like in case of BCM4321 and BCM4322: add support for 5 GHz band width (easier) and HT (harder). It would be also nice to find BCM43227 or BCM43228 card and test it with b43.