Patches + build scripts + firmware sources to make the Broadcom BCM43224
(PCI 0x14e4:0x4353, subvendor 0x106b:0x00d1) work on FreeBSD 15.1.
Fixes:
- Fix 1: compile GPL N-PHY code (BWN_GPL_PHY build wiring)
- Fix 2: NULL-guard bwn_dma_ringfree on partial attach
- Fix 3: wire bwn_update_mcast to ic->ic_update_mcast
- Fix 5: load bwn_v4_n firmware at loader stage (loader.conf)
- Fix 6: reclaim pending TX frames at bwn_dma_stop (detach double-free)
- Fix 7: driver-owned node ref + remove dr_usedslot early-return +
bhndb_pci BHNDB_PCI_QUIRK_NO_MSI for BCM43224 (legacy INTx)
- Fix 8: restrict reclaim to TX rings only (RX reclaim caused heap
corruption / TCP panic)
README.md = rebuild guide (apply.sh + build.sh, manual steps)
RESEARCH.md = root-cause investigation log (Fixes 5-8)
7 lines
405 B
Plaintext
7 lines
405 B
Plaintext
# Fix 5 (bwn driver): load the Broadcom v4 firmware module at loader time so it
|
|
# is present BEFORE if_bwn attaches bwn0 (if_bwn auto-loads via devmatch when
|
|
# bwn_pci0 attaches, but the firmware-only module has no modalias and would
|
|
# otherwise only load from kld_list, which is fragile). Without this the driver
|
|
# panics with "firmware bwn_v4_ucode16_mimo not found" during cleanup.
|
|
bwn_v4_n_load="YES"
|