Dear WiFi Experts,
I have the problem with the 64-bit version of wl tool with the lack of libnl version information. I have tried several wl binaries published within this board but most of them are 32-bit and behave erratically or simply does not run at all.
My platform is Raspberry Pi 4B with BCM43455 module, running 64-bit Ubuntu 20.04.2 LTS.
One of the 'wl' variants published here is 64-bit and it appears to run but it complains about the unknown libnl version:
root@rpi:/usr/local/bin# ./wl ver
./wl: /lib/aarch64-linux-gnu/libnl-3.so.200: no version information available (required by ./wl)
./wl: /lib/aarch64-linux-gnu/libnl-genl-3.so.200: no version information available (required by ./wl)
wl0: Mar 12 2018 16:18:54 version 7.45.222 (RPI-PRKE) (r683458 CY WLTEST) FWID 01-35ee9694
Some 32-bit versions of wl also want to run and even do not complain about the libnl version, but after several cycles of tests (usually 'pkteng_start tx' sequence of commands) the wl tool refuses to work. Usually it reports that "wl driver adapter not found", regardless of the wl arguments. Even the simplest wl commands (like out or down) produce the same message, despite it worked many times before. It rather looks like the cross-compiled binaries or libraries mismatch with my platform, than a real radio problem.
Maybe my mfg firmware is too old? I only have its 32-bit version for Raspberry Pi 4:
root@rpi:/usr/local/bin# ls -l /usr/lib/firmware/brcm/brcmfmac43455-sdio.bin
-rw-r--r-- 1 root root 566600 Dec 10 19:52 /usr/lib/firmware/brcm/brcmfmac43455-sdio.bin
Would you be so kind and help me obtain a proper wl version for my platform?
The platform details follow:
root@rpi:/usr/local/bin# uname -a
Linux rpi 5.4.0-1030-raspi #33-Ubuntu SMP PREEMPT Wed Feb 24 11:20:11 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
root@rpi:/usr/local/bin# cat /proc/version
Linux version 5.4.0-1030-raspi (buildd@bos02-arm64-015) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #33-Ubuntu SMP PREEMPT Wed Feb 24 11:20:11 UTC 2021
root@rpi:/usr/local/bin# cat /etc/os-release
VERSION="20.04.2 LTS (Focal Fossa)"
PRETTY_NAME="Ubuntu 20.04.2 LTS"
I will highly appreciate your help 🙂
Solved! Go to Solution.
Thanks for your help and for the effort. Unfortunately I have already tried both the binaries provided by raks_99 and observed the following results:
The wl tool from the wl-fmac-aarch64.zip archive runs all the radio commands properly but complains about the missing libnl-3.so.200 version information. This version of wl does not need the "-i wlan0" option to find the wifi adapter and issue commands against it.
The other wl tool does not complain about the libraries but does not recognizes the WiFi adapter driver, only prints a message "wl driver adapter not found", regardless of the "-i wlan0" option. It responds for the "-h" option and prints the help but nothing more - even the "ver" command is not executed.
It seems that both the wl versions are cross-compiled for the 64-bit environment, in both cases file reports "ELF 64-bit LSB shared object, ARM aarch64" and both binaries can be executed. But it appears that some deeper compiler or linker options do not suit my platform requirements. Using the readelf tool I can see that the required version of libnl-3.so.200 is 4 and version of libnl-genl-3.so.200 is 3. I suppose that both libraries have sufficient version on my platform since their target filenames look like "libnl-3.so.200.26.0", only their VERDEF section is not properly filled.
I hope that Rakshith will find a way to build the appropriate executable for that platform 🙂
Thanks for the help DS_Lin. The Raspberry Pi is running fmac. This one seems to find the libnl version on 64bit Ubuntu.
Can you confirm if this works on your setup Maciej?
Hi Maciej ,
Earlier I had tried the 64bit on a Jetson Nano. however, that does not have our WiFi chip so I could not test some of the commands out.
I will reflash my RPi setup with Ubuntu core 64 bit and try to get it working. I will get back soon with some updates.
Hi Rakshith and DS_Lin,
Let me report that the wlfmac1.28_arm64 executable (attached by DS_Lin in wlfmac1.zip) works properly on the Raspberry Pi 4B with 64-bit Ubuntu.
It does not complain about the missing library version since it is statically linked. This version properly recognizes the on-board wlan0 interface and even do not require the '-i wlan0' option to run successfully. The commands ver, scan and scanresults (suggested by DS_Lin) work properly, as all other wl commands do. I really appreciate your help and I like to thank you for all your efforts.
Unfortunately it does not solve the main problem with the wifi interface freezing 😞
Now, with the proper version of wl tool, we can be sure that it is not a problem of wl binaries or libraries mismatch. I run the sequence of wl commands to set parameters and to start some wifi interface activity (like pkteng_start or fqacurcy) and it works like a charm several times and then crashes with the message in syslog:
May 4 15:24:09 rpi kernel: [ 892.717642] ieee80211 phy0: brcmf_fw_crashed: Firmware has halted or crashed
When this happens, no subsequent wl commands are accepted, even the simplest commands are rejected with the message:
wl driver adapter not found
and the only way to bring the wifi to live again is reboot of the Raspberry microcomputer.
I have found many posts containing the "brcmf_fw_crashed" message on the internet, published by Raspberry Pi 3B and 4B users in last 2 years. They all complain that the on-board wifi interface is unstable and breaks the connection every few days or even few hours. They even do not use wl tool - they just try to use their Raspberry as a wifi client or an access point. It probably depends on the traffic load and the wl tool intensive tests are able to speed the freezing up. Sometimes a few minutes is enough to freeze the wifi interface with the wl.
It appears that the problem was definitely solved by Cypress in the new 32-bit version of the wifi interface firmware on March 2021. I hope that the corrected 64-bit version of the driver will also be available soon. And even more important for wl tool tests - the MFG version of that firmware.
Could you please advise me, to whom I should address the question about the 64-bit and MFG fmac firmware versions availability?
i Maciej ,
I could not provide MFG FW for brcmfmac on OS 64-bit here.
Could you create MyCase technical support?
The question about the 64-bit and MFG fmac firmware versions availability?
Then ask to provide MFG FW for brcmfmac on OS 64-bit
I think there are more recent MFG FW release versions.
Please forgive me that I am boring you again but it appears that the webform/website-support have changed significantly. There is no Technical Support form that you mentioned above. There are some logistics, invoice or certification options to create MyCase but all of them require filling the 'invoice#' or 'contract#' fields. The only 'Tech Support' option redirect me to CDC3.0 Community Forum again, closing the loop:
The 'Failure Analysis' service is unavailable due to COVID-19. The "Website feedback' is also not concerned to my problem 😞
Without the recent MFG version of FW for brcmfmac we are not able to complete the EMC certification of our product and it becomes more and more urgent for us.
Do you have an idea, to whom we should address our request?
I will really appreciate your help!
I internally created a case for you. You can login to mycases or check or email. I will post the firmware there.
From my understanding, 32bit or 64bit here only refers to fmac drivers here. 32/64bit host system does not matter to the firmware, it works independently of that.
I am really impressed with the speed of your help 🙂
I have to contact the support teams from many large manufacturers (like Cisco, Microsoft or others) frequently and I can honestly say that they should learn the lesson from you: "How to provide a professional technical support"!
Thank you one more time and I will report the tests results with that new version soon 🙂
Thanks for your appreciation. Sure, you can update us with the results. Feel free to ask for any more help.
I see that Rakshith is already preparing to handle it for you, thank you so much!
So by '32-bit version' you mean the Raspberry Pi OS (32bit version) does not have this issue?
Our Wifi fmac driver is open source and is available here https://community.cypress.com/t5/Wi-Fi-Bluetooth-for-Linux/Cypress-Linux-WiFi-Driver-Release-FMAC-20...
I assume RaspberryPi or Ubuntu releases the driver from this source for 64bit or 32bit version of their distribution(RPi OS or Ubuntu).
So the 64bit driver update will have to come from them.
Can you tell me the output of the 'wl ver' command so I know what version of firmware you are using?
The latest firmware version is 7.45.230. My RPi running ubuntu was using version 7.45.206
I will try using the latest firmware to see if that works or breaks my setup. I will update you on this.
And for the mfg firmware , you will have to create a support request on Mycases using the steps DS_Lin mentioned.
Thank you for the link to the sources, because their 64-bit updates are not published by Raspberry yet. The output from my 'wl ver' follows:
wl0: Mar 12 2018 16:18:54 version 7.45.222 (RPI-PRKE) (r683458 CY WLTEST) FWID 01-35ee9694
The driver version is 7.45.222 and it is MFG variant.
I will create a support request according to the precise instructions from DS_Lin.
The 64-bit version of 'wl tool' you provided is appropriate for the 64-bit Ubuntu, so I have marked that post as a solution in our discussion.
I would like to thank you both for the help 🙂