Getting the wifi to work when compiling your own kernel can be
tricky. Even with good documentation[0].

## PCI device ID check

	lspci -vnn -d 14e4
	...
	[14e4:4727]
	...

## Kernel/modules compilation

	[*] Networking support  --->
	    [*] Wireless  --->
	        <*>   cfg80211 - wireless configuration API
	        [ ]     nl80211 testmode command
	        [ ]     enable developer warnings
	        [ ]     cfg80211 regulatory debugging
	        [ ]     cfg80211 certification onus
	        [*]     enable powersave by default
	        [ ]     cfg80211 DebugFS entries
	        [ ]     use statically compiled regulatory rules database
	        [ ]     cfg80211 wireless extensions compatibility
	        <*>   Generic IEEE 802.11 Networking Stack (mac80211)
	        [ ]   PID controller based rate control algorithm
	        [ ]   Enable mac80211 mesh networking (pre-802.11s) support
	        -*-   Enable LED triggers
	        [ ]   Export mac80211 internals in DebugFS
	        [ ]   Trace all mac80211 debug messages
	        [ ]   Select mac80211 debugging features  ----       

	Device Drivers  --->
	    [*] Network device support  --->
	        [*] Wireless LAN  --->
	            <M> Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
	    [*] Broadcom specific AMBA  --->
	        {M} BCMA support
	        [*] Support for BCMA on PCI-host bus

Compile your kernel, install modules, then fetch the BCM firmware from the
linux-firmware repo:

> git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

## Firmware installation

Copy brcm/bcm43xx-0.fw and brcm/bcm43xx_hdr-0.fw to /lib/firmware/brcm

And finally,

	# modprobe brcmsmac
	# ip addr show

[0]: http://www.linuxwireless.org/en/users/Drivers/brcm80211/#To_be_done_for_softmac_driver