Jump to content

[Nanopi NEO Air] brcmf_fw_alloc_request takes 60 seconds on custom rootfs without systemd


Go to solution Solved by korwin,

Recommended Posts

Posted (edited)

Dear Armbian community,

 

First of all, I am aware of the fact that what I am trying to achieve is not supported, but let me ask anyway. What I am trying to do is to build my custom root filesystem for my specific embedded needs (which is pretty minimal and without systemd) while still using kernel (5.8.16-sunxi) and modules provided by Armbian. It is going great so far, but the first issue I need to figure out is why there are approximately 60 second delays between each brcmf_fw_alloc_request calls (full dmesg available here):

 

[ 40.602927] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[ 40.620798] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-air.txt failed with error -2
[ 40.620821] brcmfmac mmc2:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-air.txt
[ 101.475933] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[ 162.808829] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[ 162.813236] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Mar 30 2016 11:30:56 version 7.45.77.h8.4 FWID 01-ee8a6268

 

 

On image provided by Armbian brcmfmac dmesg is exactly the same, but there are no such a long delays between brcmf_fw_alloc_request calls (full dmesg available here):

 

[   10.540426] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[   10.549789] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-air.txt failed with error -2
[   10.549807] brcmfmac mmc2:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-air.txt
[   11.103778] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[   11.106615] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[   11.107934] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Mar 30 2016 11:30:56 version 7.45.77.h8.4 FWID 01-ee8a6268


 

Here is the list of modules that I'm currently using (from /lib/modules/5.8.16-sunxi):

 

Module                  Size  Used by
brcmfmac              180224  0
brcmutil               16384  1 brcmfmac
cfg80211              471040  1 brcmfmac
rfkill                 20480  1 cfg80211
usb_f_acm              20480  1
u_serial               24576  1 usb_f_acm
g_serial               16384  0
libcomposite           45056  2 g_serial,usb_f_acm
pwrseq_simple          16384  1
sunxi                  20480  0
phy_generic            20480  2 sunxi

 

Does anybody know a way to remove these delays without involving systemd at all? Maybe udev would be sufficient? Any opinions are appreciated :)

Edited by korwin
  • Solution
Posted

It seems like the problem is caused by `CONFIG_FW_LOADER_USER_HELPER_FALLBACK` kernel option. Anyway, I have to compile my own kernel. In the kernel provided by Armbian this option is turned on.


Ref:
https://elrepo.org/bugs/view.php?id=671
https://bugzilla.kernel.org/show_bug.cgi?id=103201
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1398458

@Werner could you remove this limitation from my account? I couldn't even reply to my own topic yesterday.
 

Quote

You have reached the maximum number of posts you can make per day.

 

Posted
7 minutes ago, korwin said:

@Werner could you remove this limitation from my account? I couldn't even reply to my own topic yesterday.
 

 

The restriction usually lifts automatically as soon as you receive a like from somebody or just wait after a few days.

Though I removed it for you.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines