Using wl tool with NVIDIA Jetson TX2 (BCM4354)

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

cross mob
philip-mmi
Level 1
Level 1
First reply posted First question asked Welcome!

For emissions testing, I am trying to use the wl tool with NVIDA Jetson TX2, which has the BCM4354. I received a wl64 executable and 4354’s mfgtest firmware from an Infineon Tech Support Case.

I believe I correctly installed the mfgtest firmware by replacing /lib/firmware/brcm/fw_bcmdhd.bin with cyfmac4354-sdio.bin and by moving cyfmac4354-sdio.clm_blob to become /lib/firmware/brcm/bcmdhd.clm_blob. Before the above changes, running “sudo ./wl64 ver” gave me:

1.28 RC0.0
wl0: Jul 21 2020 16:35:45 version 7.35.349.94 (r726700 CY) FWID 01-aa356e32

After installing mfgtest firmware, the wl ver command gave me:

1.28 RC0.0
wl0: Sep  1 2021 02:23:00 version 7.35.349.112 (ae8cc29 CY WLTEST) FWID 01-6e1af42a

My main problem is that wl64 can’t bring up the Wi-Fi after I use it to bring down the Wi-Fi. It also doesn't work using the original firmware (i.e., before introducing the mfgtest firmware). The following are the commands I ran and the output.

user@device:~$ ip -br address show wlan0
wlan0            UP             192.168.0.79/24
user@device:~$ sudo ./wl64 down
user@device:~$ ip -br address show wlan0
wlan0            DORMANT        192.168.0.79/24

(after ~20 seconds)

user@device:~$ ip -br address show wlan0
wlan0            DORMANT
user@device:~$ sudo ./wl64 up
user@device:~$ ip -br address show wlan0
wlan0            DORMANT

At this point, I also can’t use the GUI to connect to a Wi-FI network.

Have I done anything wrong? What do I do so that I can at least use the wl tool to bring down and up the Wi-Fi module?

0 Likes
1 Solution

Hi Vivek,

Let's close this first. This is still unresolved for us. We may come back for it later. Thanks.

Shane

View solution in original post

0 Likes
13 Replies
Vivek_gunapati
Moderator
Moderator
Moderator
250 replies posted 10 likes given 50 solutions authored

Hi @philip-mmi , 

Could you please let us know which host driver are you using?

The latest driver while writing this post is available at the following link ->  https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Cypress-Linux-WiFi-Driver-Release-FMAC-2...

Could you please try the latest driver and firmware and let us know if the issue persist.?

Also you could refer the following link to bring up Infineon/cypress Fmac driver for Jetson xavier board  -> https://community.infineon.com/t5/Knowledge-Base-Articles/Bring-up-of-AIROC-CYW54591-with-Jetson-Xav...

Regards
Vivek

 

0 Likes

Hi @philip-mmi , Any update on the issue? does the issue persist with the latest driver?
If it does could you please share the dmesg and the console logs too?

0 Likes

Hi Vivek,

Thanks for your help thus far. I'm working with @@philip-mm on this. You have suggested two things: 1) Using the latest driver and 2) bring up the driver with the JetPack image. 

I just want to confirm these two must be done together? Or are you suggest we try method 1 (without using a new image), and if it doesn't work, we proceed to method 2?

0 Likes

@shane-mmi , yes you could test with the latest driver if it fails you could try the method 2

0 Likes
lock attach
Attachments are accessible only for community members.

Hi @Vivek_gunapati ,

I have tried using both reference of the driver package and the article for creating the image. You can find the procedure we used in the attached document. In short, we were able to create and flash an image to TX2, but the kernel module does not seem to be working. We then used the same method mentioned by @philip-mmi in the opening post (replacing /lib/firmware/brcm/fw_bcmdhd.bin with cyfmac4354-sdio.bin and by moving cyfmac4354-sdio.clm_blob to become /lib/firmware/brcm/bcmdhd.clm_blob.). and were able to observe the driver version changed. Unfortunately we faced the same issue of not being able to bring up wlan connection again by running "sudo ./wlarm64_dhd up" after we shut it down with the command "sudo ./wlarm64_dhd down".

Could you please take a look at the details and advise what should be the next step?

Attached 2022.06.30_TestLogsAndInfo.zip contains some additional information:
1_CreateImagePhase: The ".config_beforeReplacement.txt" is our original config, and the ".config_afterReplacement.txt" is generated when we compile the kernel, which we are using to flash the image.
2_CompileFMACDriverPhase: After inserting kernel module, the Wi-Fi didn't come up. I captured the dmesg as "dmesg_after_insmod.txt" I mentioned that with the flashed image, I could actually get Wi-Fi working by removing the following lines in the /etc/NetworkManager/NetworkManager.conf
[keyfile]
unmanaged-devices=interface-name:wlan0

The file "dmesg_bcmdhd_off_before_insmod.txt" refers to the dmesg when I have the two lines. And the file "dmesg_bcmdhd_on_before_insmod.txt" refers to the dmesg when I don't have the two lines (and Wi-Fi would work).

3_FirmwareReplacementPhase: At the end, we use the method to replace the BCMDHD related files. I have tried using the latest firmware and also the firmware from the "mfg_firmware" provided to us from before. I am including the dmesg log for reference.

0 Likes
philip-mmi
Level 1
Level 1
First reply posted First question asked Welcome!

Hi, @Vivek_gunapati.

Is it possible that the wl tool you provided to me won't work with Linux Kernel 4.9?

If wl tool and driver are correct, and mfgtest firmware is not used, should "wl down" and "wl up" be successful at disabling and re-enabling the Wi-Fi adapter?

0 Likes

Hi @philip-mmi, calling wl down and wl up after loading the drivers should not cause the issue. 

1)  In the pdf, we see that you were able to successfully compile and load the driver. 
cd ~/dev/kernel_modules
sudo rmmod bcmdhd
sudo rmmod cfg80211.ko
sudo insmod compat.ko
sudo insmod cfg80211.ko
sudo insmod brcmutil.ko
sudo insmod brcmfmac.ko alternative_fw_path=/etc/firmware/cypress
sudo insmod brcmfmac.ko

Place the .bin, .txt & .clm_blob file in the /lib/firmware/cypress/ location

Q1)Could you please try the above and share us the output of the result?

2) Is it possible that the wl tool you provided to me won't work with Linux Kernel 4.9?
The WL tool would work v4.x and above 

Regards
Vivek.

0 Likes

Hi @philip-mmi , Any update on the issue?

0 Likes

Hi, Vivek. We will get back to you later this month.

0 Likes

Hi @philip-mmi any update on the issue?

0 Likes

Hi @philip-mmi  any update on this.  if it take more time we could close this issue and  you could create a new issue when you have more updates. 

0 Likes

Hi Vivek,

Let's close this first. This is still unresolved for us. We may come back for it later. Thanks.

Shane

0 Likes

Based on your feedback closing the thread. Please feel free to raise a new issue when you have more details. 

Regards
Vivek.

0 Likes