brcmfmac BRCMF_C_GET_PHY_NOISE (Auto Channel Selection)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
frchc_4081801
Level 1
Level 1

Hi,

I need to implement Auto Channel Selection for the brcmfmac driver.

The chip I'm working on is a CYW43455 (BCM43455) - raspberry pi 3B+

To do this I think I need at least to get a reply to the

BRCMF_C_GET_PHY_NOISE (135) command from the firmware

Is my task possible with current firmware?

Is there (may I have) any documentation on how to ask this (and possibly

other) info from the firmware?

thank you for your attention

0 Likes
6 Replies
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

hello:

I think if you want to enable auto channel selection , the fw must have this flag,  please check this from raspberry :

pastedImage_0.png

0 Likes

hello,

thank you for your reply, but I don't exactly understand.

do you mean I have to look for the string apcs in the firmware blob? I searched for that into brcmfmac43455-sdio.bin but I didn't find it.

Can you point me to some information on how to enable ACS? do you think linux kernel modifications are needed or not?

0 Likes

hello:

from my experience, three steps are needed:

1. yes, check apcs from fw binary

2.

For DHD driver:

Check if the driver has the macro definition  WL_SUPPORT_AUTO_CHANNEL

   if has the define:   need to enable it in makefile

For fmac driver, I think maybe below commands are needed for a try:

wl band b

wl bw_cap 2g 0x1

wl spect 0

wl autochannel 1

wl apcschspec

But really need a support from firmware side,  and better to ask raspberry for firmware support .

0 Likes

Hello

thank you for your answer and sorry to reopen the issue...

I think there has been an initial misunderstanding: you are probably referring to the android kernel while I was asking information about the kernel.org one.

I searched for the string you mentioned into the firmware blob and didn't find anything

do you know if any work is being done on mainline kernel for ACS on CYW43455?

is there any place where I can get documentation on BRCMF_C_GET_PHY_NOISE and in general on firmware interface?

thank you very much

0 Likes

hello:

Do you know if any work is being done on mainline kernel for ACS on CYW43455?

for this question,  I really do not know the details .

For: BRCMF_C_GET_PHY_NOISE

did you try to call an api like below in wl_cfg80211.c  to see if can return a value ?:

              err = brcmf_exec_dcmd(ndev, BRCMF_C_GET_CHANNEL, &channel_inform_le,

                                                sizeof(channel_inform_le));

hello,

I think there is no brcmf_exec_dcmd in current mainline

However I tried to call the firmware api in some ways without results

thank you for your attention

0 Likes