Opened 5 months ago

Last modified 4 months ago

#18906 new enhancement

Add support of Broadcom BCM43602 Wi-Fi card

Reported by: volodroid Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Network Version: R1/beta4
Keywords: bwfm, wifi Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by korli)

Following up on the discussion here please add support of the Broadcom BCM43602 Wi-Fi card (PCI id 14E4:43BA). The card is supported by the OpenBSD bwfm driver.

Change History (7)

comment:1 by korli, 5 months ago

Description: modified (diff)

comment:3 by volodroid, 4 months ago

Not only those, but also a brcmfmac43602-pcie.txt NVRAM configuration file, as described here: https://gist.github.com/rob-hills/9134b7352ee7471c4d4f4fbd6454c4b9#wifi

Without that configuration 5GHz might not work properly (in that thread Andy Holst provides a few versions of the file, and a lot of valuable info regarding its content).

comment:4 by korli, 4 months ago

OpenBSD provides this archive: http://firmware.openbsd.org/firmware/7.5/bwfm-firmware-20200316.1.3p3.tgz (from 2020). It doesn't contain a brcmfmac43602-pcie.txt file FWIW. Same for https://packages.debian.org/bookworm/all/firmware-brcm80211/filelist

comment:5 by volodroid, 4 months ago

Probably the OpenBSD archive doesn't contain the brcmfmac43602-pcie.txt file, because the archive is a bit old, as the first working samples of the NVRAM configuration for BCM43602 started to appear over the Internet around the end of 2019. Please check the following thread at Kernel.org Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=193121 (as someone else said: "it's a long discussion but well worth the time to read through from beginning to end."). Starting from the comment 51 there are examples of working .txt configuration file. There was also a question in that thread on who can take the next step and add the file to the linux-firmware package in a legal way. As Linux (and OpenBSD) already contains similar .txt configs for other Broadcom chips, I assume that nobody just picked up the baton with BCM43602.

In any case, the brcmfmac43602-pcie.bin firmware kinda works just by itself because it contains some hardcoded values for the NVRAM configuration (including the hardcoded MAC address of 00:90:4c:0d:f4:3e), but those hardcoded defaults don't allow a 5GHz connection. So, it'd be perfectly fine if we try just the .bin file as a first step of porting to Haiku, and if 2GHz works we can proceed with tweaking the NVRAM configuration.

comment:6 by korli, 4 months ago

Sure, just note, we can't package something which isn't published/released with a license. If the driver needs to look in some other directories to load some optional txt files, then why not.

comment:7 by volodroid, 4 months ago

Sure thing. And to be honest I don't think packaging a NVRAM file is a good idea per se, as it besides the common config it contains also specific parts like region and MAC-address.
Btw, I was looking at firmware_get logic which is shared between FreeBSD and OpenBSD compatibility layers. Am I right the firmware and NVRAM config files would be searched in the /boot/system/non-packaged/data/firmware/[bwfm-driver-name]/?

Version 0, edited 4 months ago by volodroid (next)
Note: See TracTickets for help on using tickets.