How to make working new Broadcom chips like BCM4331?

Johannes Dieterich dieterich.joh at gmail.com
Wed Apr 1 22:12:51 UTC 2015


On Wed, Apr 1, 2015 at 11:42 PM, Felix Friedlander <felixphew0 at gmail.com> wrote:
>> Hi,
>>
>> On Mon, 02 Feb 2015 08:12:17 +0300
>> Alexander Perechnev <herfleisch at me.com> wrote:
>>
>>> Hello everyone,
>>>
>>> I’ve installed FreeBSD 10.1 on my MacBook Pro 13 mid 2012. Everything
>>> works pretty good, except wireless. It works with [ndis], but it
>>> doesn’t work with existing [bwi-firmware-kmod] and
>>> [bwn-firmware-kmod] facilities.
>>>
>>> I’ve looked into [bwn] port Makefile
>>> (https://github.com/aperechnev/freebsd-ports/blob/master/net/bwn-firmware-kmod/Makefile)
>>> and found that all it does is just to download necessary firmware
>>> (4.150.10.5 and 4.178.10.4), extracts it via [b43-fwcutter-015] and
>>> compiles it into kernel module.
>>>
>>> So the first problem is that 4th gen firmware does not support my
>>> BCM4331.
>>>
>>> Also i’ve found the [siba-bwn], which recognizes the broadcom
>>> devices:
>>> https://github.com/freebsd/freebsd/blob/master/sys/dev/siba/siba_bwn.c.
>>>
>>> So summary it seems that it is not so hard to support my BCM4331. I
>>> have to:
>>>
>>> - port [b43-fwcutter-018] to FreeBSD, because earlier versions
>>> doesn’t work with newest firmware
>>> - update existing [bwn-firmware-kmod] to point it to newest firmware
>>> - add my BCM4331 device to [siba-bwn]
>>>
>>> I expect that after this steps my BCM4331 should be working. But I am
>>> new in FreeBSD and I’m just asking you for any help like related
>>> information, existing problems, links, etc.
>>>
>>> I am not sure if I am right in my theory, but for me it seems that it
>>> should work. So if you know another problems, which I don’t, please
>>> let me know before I go through this steps.
>>>
>>> Thank you for excellent operating system, now it’s my favorite one!
>>>
>>> Best regards,
>>> Alexander Perechnev.
>>> _______________________________________________
>>> freebsd-wireless at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
>>> To unsubscribe, send any mail to
>>> "freebsd-wireless-unsubscribe at freebsd.org"
>>
>> Hi,
>>
>> out of curiosity I reviewed the BCM status.
>>
>> IMO you don't have to port the b43-fwcutter to BSD. It would be nice,
>> but you can use any Linux to get the firmware (from /lib/firmware/). For
>> example.
>> https://help.ubuntu.com/community/MacBookPro8-2/Oneiric#Wireless
>>
>> As of the support, JFYI
>> BCM4331 Linux driver is provided by Broadcom
>> http://www.broadcom.com/docs/linux_sta/README_6.30.223.248.txt
>>
>> ,there is no support in the Linux kernel atm
>> https://wireless.wiki.kernel.org/en/users/drivers/brcm80211
>>
>> and I'm not sure, where do the bwi/bwn drivers come from (to see how
>> probable is the support of BCM4331).
>> bwi -- Broadcom BCM43xx IEEE 802.11b/g wireless network driver
>> bwn -- Broadcom BCM43xx IEEE 802.11b/g wireless network driver
>>
>>
>> Cheers,
>>
>>       -vlado
> Just out of curiosity, is anyone working on this ATM? I’ve had the same problem, and it is (no offence to anyone intended) a bit ridiculous that the latest Broadcom chips we support are around 5 years old now. I don’t actually know enough to say this for sure, but judging by the first message it looks like this is a (relatively) simple fix  - simply add newer firmware and sell siba to detect the new cards. Is this the case, or am I misreading the whole situation?
Well, looking at the commit history of both the siba source and the
port containing the firmware binaries, I'd say the driver is in
maintenance mode since March 2010. Which nicely lines up with the five
year old chips, unfortunately. No idea if it is indeed as simple as
adding a few PCI-IDs and the binaries but if you have such a device,
maybe you could try it?


> Also, the Broadcom-provided linux STA driver you referenced above is not very widely used - b43 (the kernel driver) is much more common, and requires extracting the firmware just like the FreeBSD drivers. See https://wireless.wiki.kernel.org/en/users/Drivers/b43
The page also claims that the operation of b43 is limited to 11g? Is
this correct?

Johannes


More information about the freebsd-wireless mailing list