Search Linux Wireless

Re: AP6275 / bcm43752 pcie on mainline brcmf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 11/13/22 09:10, Shengyu Qu wrote:
Actually you can use any other clm info blob with this firmware as I tried. I also uploaded this to armbian's firmware repo. Hope we could get the proper firmware uploaded by Broadcom soon.

Thank, I tried this, it did accept to download the clm part from the Rockchip SDK firmware.

# ls -l /lib/firmware/brcm
-rw-r--r-- 1 root root  30993 Oct  3 08:40 clm_bcm43752a2_pcie_ag.blob
-rw-r--r-- 1 root root 743607 Nov 13 08:45 fw_bcm43752a2_ag.bin
lrwxrwxrwx 1 root root 46 Nov 13 09:19 fw_bcm43752a2_pcie.clm_blob -> /lib/firmware/brcm/clm_bcm43752a2_pcie_ag.blob lrwxrwxrwx 1 root root 20 Nov 13 08:38 fw_bcm43752a2_pcie.rockchip,rk3588-evb1-v10.bin -> fw_bcm43752a2_ag.bin lrwxrwxrwx 1 root root 36 Nov 13 08:47 fw_bcm43752a2_pcie.txt -> /lib/firmware/brcm/nvram_ap6275s.txt
-rw-r--r-- 1 root root   8709 Nov 13 08:44 nvram_ap6275s.txt

But it's no happier after the NVRAM download part.

# dmesg | grep brcm
[    3.530116] brcmfmac: brcmfmac_module_init No platform data available.
[    3.530303] brcmfmac 0002:21:00.0: enabling device (0000 -> 0002)
[    3.530362] brcmfmac: brcmf_chip_recognition found AXI chip: BCM43752/2
[ 3.531325] brcmfmac: brcmf_chip_cores_check [1 ] core 0x800:65 base 0x18000000 wrap 0x18100000 [ 3.531329] brcmfmac: brcmf_chip_cores_check [2 ] core 0x812:82 base 0x18001000 wrap 0x18101000 [ 3.531334] brcmfmac: brcmf_chip_cores_check [3 ] core 0x83e:16 base 0x18002000 wrap 0x18102000 [ 3.531338] brcmfmac: brcmf_chip_cores_check [4 ] core 0x83c:65 base 0x18003000 wrap 0x18103000 [ 3.531342] brcmfmac: brcmf_chip_cores_check [5 ] core 0x829:26 base 0x18004000 wrap 0x18104000 [ 3.531346] brcmfmac: brcmf_chip_cores_check [6 ] core 0x844:2 base 0x18005000 wrap 0x18105000 [ 3.531350] brcmfmac: brcmf_chip_cores_check [7 ] core 0x840:15 base 0x18010000 wrap 0x00000000 [ 3.531354] brcmfmac: brcmf_chip_cores_check [8 ] core 0x827:35 base 0x18012000 wrap 0x00000000 [ 3.531358] brcmfmac: brcmf_chip_cores_check [9 ] core 0x240:0 base 0x00000000 wrap 0x1810a000 [ 3.531362] brcmfmac: brcmf_chip_cores_check [10] core 0x135:0 base 0x00000000 wrap 0x18112000 [ 3.531365] brcmfmac: brcmf_chip_cores_check [11] core 0x135:0 base 0x00000000 wrap 0x18113000
[    3.531369] brcmfmac: brcmf_chip_set_passive Enter
[    3.641635] brcmfmac: brcmf_chip_set_passive Enter
[    3.642156] brcmfmac: brcmf_chip_tcm_rambase: 43752 OK
[ 3.642159] brcmfmac: brcmf_chip_get_raminfo RAM: base=0x170000 size=1310720 (0x140000) sr=0 (0x0) [ 3.642187] brcmfmac: brcmf_chip_setup ccrev=65, pmurev=35, pmucaps=0x84565f23 [ 3.642193] brcmfmac: brcmf_get_module_param Enter, bus=2, chip=43752, rev=2
[    3.642207] brcmfmac: brcmf_alloc Enter
[ 3.642231] brcmfmac: brcmf_fw_alloc_request: using brcm/fw_bcm43752a2_pcie for chip BCM43752/2
[    3.642235] brcmfmac: brcmf_fw_get_firmwares enter: dev=0002:21:00.0
[ 3.642241] brcmfmac: brcm_alt_fw_path FW alt path: brcm/fw_bcm43752a2_pcie.rockchip,rk3588-evb1-v10.bin [ 3.646995] brcmfmac: brcmf_fw_complete_request firmware brcm/fw_bcm43752a2_pcie.bin found [ 3.647006] brcmfmac: brcm_alt_fw_path FW alt path: brcm/fw_bcm43752a2_pcie.rockchip,rk3588-evb1-v10.txt [ 3.647308] brcmfmac: brcmf_fw_complete_request firmware brcm/fw_bcm43752a2_pcie.txt found
[    3.647312] brcmfmac: brcmf_fw_request_nvram_done enter: dev=0002:21:00.0
[ 3.647484] brcmfmac: brcmf_fw_request_nvram_done nvram 00000000c4269a30 len 5968 [ 3.647491] brcmfmac: brcm_alt_fw_path FW alt path: brcm/fw_bcm43752a2_pcie.rockchip,rk3588-evb1-v10.clm_blob [ 3.647911] brcmfmac: brcmf_fw_complete_request firmware brcm/fw_bcm43752a2_pcie.clm_blob found
[    3.648197] brcmfmac: brcmf_chip_tcm_rambase: 43752 OK
[ 3.648200] brcmfmac: brcmf_chip_get_raminfo RAM: base=0x170000 size=1310720 (0x140000) sr=0 (0x0)
[    3.723260] brcmfmac: Download NVRAM brcm/fw_bcm43752a2_pcie.txt
[ 3.723895] brcmfmac: brcmf_pcie_download_fw_nvram: sharedram_addr 0xfa2c05d3
[    3.723899] brcmfmac: brcmf_chip_set_active Enter
[ 9.721628] brcmfmac 0002:21:00.0: brcmf_pcie_download_fw_nvram: FW failed to initialize: 0xfa2c05d3
[    9.721657] brcmfmac: brcmf_detach Enter
[    9.745615] brcmfmac: brcmf_bus_change_state 0 -> 0
[    9.745623] brcmfmac: brcmf_proto_detach Enter

CONFIG_BRCMUTIL=m
# CONFIG_BRCMSMAC is not set
CONFIG_BRCMFMAC=m
# CONFIG_BRCMFMAC_PROTO_MSGBUF is not set
# CONFIG_BRCMFMAC_SDIO is not set
# CONFIG_BRCMFMAC_USB is not set
CONFIG_BRCMFMAC_PCIE=y
CONFIG_BRCM_TRACING=y
CONFIG_BRCMDBG=y

I have the AP6275 module EN signal with the gpio wired to it as an "always-on" gpio regulator in DT, and don't use the hacky rfkill thing the rockchip SDK came with.

It's on top of 6.1.0-rc4.

Does your setup differ from this?

-Andy

Shengyu

于 2022年11月13日 GMT+08:00 下午5:03:06, Andy Green <andy@xxxxxxxxxxx> 写到:


On 11/13/22 08:26, Shengyu Qu wrote:

Hello, I'm facing the same problem on sdio version of AP6275 module in mainline kernel. But I found a very old version from here could work with mainline brcmfmac driver.
Link: https://bbs.t-firefly.com/forum.php?mod=viewthread&tid=3107

Thanks for the info.

The firmware on the firefly thread doesn't seem to have a CLM blob that the mainline driver wants, just two types of the ~900KB main firmware for AP mode support or not.

It also doesn't have _sdio or _pcie in the filenames... I tried it but although it's different in what it read after downloading NVRAM

[    3.775602] brcmfmac: brcmf_pcie_download_fw_nvram: sharedram_addr 0xfa2c05d3

(the rockchip SDK firmware says 0xfa1a05e5)

it still times it out a few seconds later as unresponsive after the fw load... maybe it is for SDIO only, or the lack of CLM, present in the Rockchip fw, means it won't get anywhere.

Besides who I should ask to make proper firmware for it into linux-firmware repo?

It would also be great to hear if the PCIe firmware from Rockchip aimed at the OOT driver was definitively incompatible with the mainline driver and we have to find a solution for that from Broadcom, or it is expected to basically work.  I realize it might not be easy to get an answer internally but this chipset is likely to appear in more RK3588 SBCs soon since it's the one on the evb.

-Andy

Shengyu



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux