Hello First time here, but a read most of the threads here and wanted to add my experience:
I have Three Mac Pro : 3,1 2Quad cores of 3,0Ghz with Capitan, a 4,1 flashed to 5,1 2Quad cores 2,8Ghz and 24Gigs of 1333 Ram and at Home a 4,1 Solo Quad core 2,66 16Gigas of 1066 Ram also flashed to 5,1.
First two have a Atheros Ar5bxb72 "3" antennas WiFi working great at 300Mbits/s . My Home MacPro has a BCM94321 that only works with Capitan at 130Mbits/s when booting from el Capitan HD . I Installed Sierra, downloaded from apple site, on a separated HD, When booting from Sierra my WiFi card it appears not present "no hardware," as if hardware was turned off/ or disabled :-(
GOOD News i got it back working copy the IO80211Family.kext from Capitan ( noted 5 Plugins ) and installed to Sierra (which had missing the AppleAirPortBrcm43224.kext plugin) installed with Kext Utility 2 ,a very handy tool !! rebooted and WiFi is back again !! (note a had do disable SIP from recovery via terminal)
Hope this Helps others
I'm a newbie here too and like
Digital64, I possibly had some success getting BCM94321COEX2 working in Sierra. Great thread by the way

.
I have two Macbook Airs 2,1, I'm refurbishing. One is 1.6GHz and the other the 1.86MHz version I think. Anyway they both have BCM94321COEX2 WiFi/Bluetooth cards. The one in the 1.6 machine is an (0x14E4, 0x88) card and the other machine is an (0x14E4, 0x90) card.
When I installed your
dosdude1's excellent Sierra patch in both machines, it went smoothly, but as he warns about the (0x14E4, 0x90) cards, there was no WiFi card detected in the 1.86 GHz machine. Interestingly however no adapter was detected in the (0x14E4, 0x8B) BCM4321 1.6 GHz machine either.
I skimmed around the internet and found this
site. The instructions did not work for my two Sierra machines, until I found the BroadcomFix.kext file
here, and installed it too using Kext Utility (version 2.5.7).
After that, I actually was able to get WiFi in Sierra using the BCM4321 for both machines, including the (0x14E4, 0x90) one, which if I understand correctly from
dosdude1's page, shouldn't work. There was a problem though, initially after doing these two kext installs, Sierra crashed with a "kernel panic." The machines then both rebooted without crashing and at that point I had the WiFi service. I have attached the message from the 1.6 GHz machine, but I think the 1.86GHz one is the same, but I misplaced that file.
Essentially both errors seem to report a crash after "BSD process name corresponding to current thread: airportd Boot args: -no_compat_check." My question is, if the kernel is running a -no_compat_check when the airportd driver is loaded, can't I just stop it from making that check? What file do I need to edit to stop doing the -no_compat_check? After the crash the machines reboot without crashing again and seems to run the WiFi fine, detecting networks, accepting password, providing internet access etc. I haven't check bluetooth and I haven't rebooted maybe enough times to see if the kernel panic crash is chronic.
The OS X Yosemite WiFi Fix site's version of IO80211Family.kext contains the AppleAirPortBrcm43224.kext, that Digital64 reported is missing from Sierra's version of IO80211Family.kext. The BroadcomFix.kext is just a plist that adds <string>pci14e4,4321</string> to the list of WiFi adapters that should use the AppleAirPortBrcm43224.kext driver.
The only problem for me with this is that I looked at the BroadcomFix.kext plist file further up and it references AirPort_Brcm43xx driver not the AppleAirPortBrcm43224. Do you all think I really needed to add the BroadcomFix.kext or maybe installing the older version of IO80211Family.kext was enough, and it simply didn't work at first? I guess then if that's true, the BroadcomFix.kext only appeared to make WiFi work on my Macbook Airs and it was just coincidental. I'm attaching the BroadcomFix.kext also.
One more question, is it possible that the AppleAirPortBrcm43224.kext I installed with the Yosemite version of IO80211Family.kext is not as advanced as the El Capitan version? Could that cause by itself the kernel panic?