I thought it would be fun to try out FreeBSD and had an old MacBook Pro (13 “ mid 2009) which I could screw around with. Everything was going pretty good until I tried to connect to my wifi network. I’ve got a Broadcom 4322 wifi card in the machine. After a bit of poking around the hand book, old mailing lists, Landon Fuller’s blog, Adrian Chadd’s blog and so on. I ascertained that it requires the bwn driver with the GPL options. I tethered my laptop to the internet using my phone and did the following things:

1) Make install cleaned the ports/net/bwn-firmware-kmod

2) In the makefile for the /sys/modules/bwn/Makefile I've uncommented the ".PATH: ${SRCTOP}/sys/gnu/dev/bwn/phy_n" and the "SRC+= if_bwn…" lines

3) recompiled the kernel with the "device bwn” line uncommented in the kernel config file and I added the “device firmware” line at this point as well (its now in there)

4) added the following to the /boot/loader.conf If_bwn_load=“YES” bwn_v4_ucode_load=“YES” and then to be safe bwn_v4_n_ucode_load=“YES” bwn_v4_lp_ucode_load=“YES”

So the results of a dmesg | grep bwn: bwn0: bwn_phy_n_attach: BWN_GPL_PHY not in the kernel config; no PHY-N support

Now this is were it gets confusing for me:

I added the line options BWN_GPL_PHY To the kernel config file and tried to recompile the kernel and it exits with an error in the linker saying that it can’t find the definitions for a number of nphy_op_ functions. I have however found the functions that it couldn’t link against in the if_bwn_phy_n_core.c file in the /sys/gnu/dev/bwn/phy_n directory so I am now somewhat confused.


add BWN_DEBUG and BWN_GPL_PHY to your kernel config

FreeBSD 12 works as well without editing the driver source. Cf. https://lists.freebsd.org/pipermail/freebsd-wireless/2016-May/006738.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.