Closed chhitz closed 3 years ago
[ 10.383700] Exit:hif_usb_disable_lpm,Line:154
[ 10.431709] NUM_DEV=1 FWMODE=0x2 FWSUBMODE=0x0 FWBR_BUF 0
[ 10.441456] Board extended Data download address: 0x0
[ 10.464212] ol_download_firmware: Using 0x1234 for the remainder of init
[ 10.518196] ol_transfer_bin_file: Loading setup file athsetup.bin
Driver requests a /lib/firmware/athsetup.bin -- which is missing, -2 == ENOENT, No such file or directory
[ 10.526805] usb 1-1.3: Direct firmware load for athsetup.bin failed with error -2 <--- error
<---- initiates fallback .... a userpace is "requested" to provide that file"
[ 10.542804] usb 1-1.3: Falling back to sysfs fallback for: athsetup.bin.
[ 70.706972] ol_transfer_bin_file: Failed to get athsetup.bin
Now as to why it taske 60sec for a userspace to load that file i can't tell.
Which OS you are running ? Can you make a /lib/firmware/athsetup.bin
present on rootfs (assuming embedded system).
As I wrote, the files athsetup.bin
and wlan/wlan_mac.bin
are both not present on the roofs (where would they come from, they are not part of this repository?)
I'm running a custom OS based on buildroot.
It's part of git repository. Blue Bean binary target firmware images: https://github.com/8devices/qcacld-2.0/tree/CNSS.LEA.NRT_3.0/firmware_bin/usb/
Looking at your provided link, I can see neither athsetup.bin
nor wlan/wlan_mac.bin
. Are they checked in with different file names?
Neither athsetup.bin
or wlan_mac.bin
is manditory. These binaries are only used in production testing.
Driver only checks if it exist, but does not fail to load.
it does load "athwlan.bin", i did not look at driver code, but if it fails to find such file it falls back on other files. Blue Bean needs athwlan.bin. Other files that are important : fakeboar.bin , utf.bin (it's just for testing, not needed on runtime).
Please check the source code/
Neither
athsetup.bin
orwlan_mac.bin
is manditory. These binaries are only used in production testing. Driver only checks if it exist, but does not fail to load.
That is also what I can observe: the files are not present and the driver will work anyway.
My issue is that trying to load these files delays the driver by ~2 minutes before it becomes active.
We have found the origin of the problem: Our kernel has the configuration CONFIG_FW_LOADER_USER_HELPER enabled. With this option enabled the kernel will defer to user-space for loading the non-existent firmware files. By disabling the option, the driver starts without the observed 120s delay.
We use branch linux-5.4.y_CNSS.LEA.NRT_3.0
After startup the driver tries to load two non-existent firmware binaries
athsetup.bin
andwlan/wlan_mac.bin
. This delays the availability of the WLAN driver by over two minutes. After the wait time the WLAN module works as expected.How can we avoid the long wait time?