cancel
Showing results for 
Search instead for 
Did you mean: 

Wi-Fi Bluetooth for Linux

joe
New Contributor

Please correct me or give me some advise about how to test and use the wake on wireless lan function.

I suppose the released driver is capable of assert WL_HOST_WAKE when receive magic packet and do the following steps.

  • I setup a embedded linux environment with iw, wpa-supplicant, and the 43455 fmac driver
  • Establish connection to WIFI AP router with help of wpa-supplicant and got a valid IP address.
  • Run command:
     iw phy0 wowlan enable disconnect magic-packet 
  • Run command:
    echo "standby" > /sys/power/stat
  • Issue magic-packet by another computer within the same lan
  • No change on WL_HOST_WAKE

 

Best Regards,

Joe.

0 Likes
7 Replies
GauravS_31
Moderator
Moderator

WL_HOST_WAKE is used for Out of band(OOB) wakeup of host. To enable it the following is required:

1. The OOB interrupt should be enabled in device tree. Example dts files with and without OOB is shown in \cypress-fmac-v5.10.9-2021_1020\cypress-devicetree\iMX6SX\4.9.88.

2. The nvram parameter "muxenab" has to be set to 0x10 for hardware OOB and sd_oobonly=1 /* Send to OOB only */

0 Likes
joe
New Contributor

Still no change on WL_HOST_WAKE (In my case voltage is keeping 0v)

Had append the  lines to nvram

# enable wowl
muxenab=0x10
sd_oobonly=1

I trying to trace the driver, seems not parse the device tree. Maybe something wrong when I compile the driver.

The variable nb is NULL at

Source line to inspect 

 

0 Likes
GauravS_31
Moderator
Moderator

Yes, if nb is NULL, that could be a problem. It is defined as *np = dev->of_node; in brcmf_of_probe() definition, where of_node is associated device tree node. If of_node is NULL, there might be an issue in the device tree configuration. Can you please check your device tree once? For reference, I have attached a sample device tree file for OOB, valid for imx6sx.

0 Likes
GauravS_31
Moderator
Moderator

Also, I have presumed that you have used GPIO_0 as WL_HOST_WAKE on CYW43455

0 Likes
joshuacv
New Contributor

Was this problem resolved?

Which driver are you using?

I am trying to do the same on a broadcom chip - 4356 using the brcmfmac driver on a linux 5.4 kernel.  So far I have tried the following:

1. make sure the following files are in the /lib/firmware folder   

  • brcmfmac4356.bin
  • brcmfmac4356.clm_blob
  • brcmfmac4356_pcie.txt

2. iw phy0 wowlan enable magic-packet

3. Added the following lines in the  "brcmfmac4356_pcie.txt" file:

muxenab = 0x10

sd_oobonly= 1

wowl_gpio = 0

wowl_pol = 1

Still no sign of wake up when I send a magic packet with the MAC-address of the adaptor from another computer which is on the same network. 

Any ideas? Does anyone have any official NVRAMs file for the 4356 adaptor? I suspect mine is contaminted because it was copied from elsewhere. I have attached my NVRAMs (pcie.txt) file here.  



0 Likes
GauravS_31
Moderator
Moderator

@joshuacv Official NVRAM file can be obtained from your module vendor. In addition to nvram, did you modify the device tree to allow OOB interrupts?

0 Likes
joshuacv
New Contributor

@GauravS_31 - Thanks for your reply. I did not change the device tree yet. I saw what needs to be done from this  post: https://community.infineon.com/t5/AIROC-Wi-Fi-and-Wi-Fi-Bluetooth/How-to-use-out-of-band-OOB-interru...

I am not using the WICED tool chain to do all this. I am trying to get this BCM4356 wifi module on a PCIE slot to run with linux kernel 5.4. Does this means that I will have to compile the kernel with the altered device tree flags for OOB interrupts? Do you happen to have any guide to do this? I found this README file from Cypress's guide to compile the brcmfac driver for older kernels . Could you confirm if this is what is to be done?

Thanks a tonne!


0 Likes