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

cross mob
Sheera
Level 2
Level 2
25 sign-ins 5 questions asked 10 replies posted

Hi,

I would like to find out if it's possible to maintain a connection to an SSID while my Linux host is suspended.

Based on this document, https://www.infineon.com/dgdl/Infineon-AN227910_Low-power_system_design_with_AIROC_CYW43012_Wi-Fi_%2..., does the host offload occurs in this case?

If so, how do I test this using my Linux host? I'm using Ambarella S3lm as my SoC.

Thank you.

0 Likes
1 Solution
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @Sheera :

You can refer to this KBA for Broadcast Net-pattern.

Normally pkt_filter_add is not used to wake up the host, just filter the packet recieved.

Best Regards,

Colin

View solution in original post

0 Likes
11 Replies
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @Sheera :

Could you inform me which low power feature is required?

Only connection with AP, ARP offload, or TCP keepalive?

Best Regards,

Colin

0 Likes

Eventually I would like for the SOC to be interrupted only when there's data. So it would be including the ARP offload and TCP keepalive.

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @Sheera :

You need to check your FW's strings, "aoe" is for arp offload, and "tko" is for tcp keepalive offload. Normally "aoe" is supported default.

43439a0-roml/sdio-g-pool-p2p-pktfilter-keepalive-aoe-lpc-swdiv-srfast-fuart-btcx-noclminc-clm_min-fbt-mfp-extsae-dpp-wowlpf-11nprop-okc Version: 7.95.75 (0a0104c CY)

You can check the arp offload status via wl command "wl arpoe" after connect to AP.

If arpoe is 1, it means enabled.

OTOH, we wake up the host by implementing wowl feature.

Below are some information about wowl:

[WOWL command list]
1.Setting WOWL trigger pattern:
>wl wowl_pattern add 66 0xff07 0x616D62615F77616B657570 
2. Set WOWL wakeup cases
>wl wowl 0x12001f 
current bit map :
#define WL_WOWL_MAGIC (1 << 0)                     /* Wakeup on Magic packet */
#define WL_WOWL_NET (1 << 1)                          /* Wakeup on Netpattern */
#define WL_WOWL_DIS (1 << 2)                           /* Wakeup on loss-of-link due to Disassoc/Deauth */
#define WL_WOWL_RETR (1 << 3)                       /* Wakeup on retrograde TSF */
#define WL_WOWL_BCN (1 << 4)                        /* Wakeup on loss of beacon */
#define WL_WOWL_GTK_FAILURE (1 << 10)      /* enable wakeup if GTK fails */
#define WL_WOWL_TCPKEEP_TIME (1 << 17)   /* Wakeup on tcpkeep alive timeout */
#define WL_WOWL_TCPKEEP_DATA (1 << 20)   /* tcp keepalive got data */
#define WL_WOWL_UNASSOC (1 << 24)            /* Wakeup in Unassociated state (Net/Magic Pattern) */
#define WL_WOWL_SECURE (1 << 25)              /* Wakeup if received matched secured pattern */
#define WL_WOWL_DLTRO_WAKE (1 << 27)    /* Wakeup up on DHCP renew failure */
 
2.Enable WOWL
>wl wowl_activate 1: ==>This command has to be the latest wowl command otherwise the wowl function is not enabled.
3.Check the current wake indication after WOWL happened.
>wl wowl_wakeind
4.Clear WOWL status
>wl wowl_clear

Best Regards,

Colin

 

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

Hi Colin,

Where I can get the latest documentation on the wl tools?

The version that I have seems to not have information regarding the wl wowl.

In addition, I got and error while trying to add wowl_pattern using this command:-

# wl wowl_pattern add 66 0xff07 0x616D62615F77616B657570
set: error parsing value "add" as an integer for set of "wowl_pattern"
var unrecognized name, type -h for help

Which document that I can refer to in order to perform this test. Thanks.

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @Sheera :

Please refer to below logs:

root@imx8mqevk:~/fmac# wl up
root@imx8mqevk:~/fmac# ifconfig wlan0 up
root@imx8mqevk:~/fmac# wl wowl_pattern add 12 0x3004FF 0x08004500003C1E780000800198E9C0A80105C0A8010A
root@imx8mqevk:~/fmac# wl wowl 2
root@imx8mqevk:~/fmac# wl wowl_activate
0
root@imx8mqevk:~/fmac# wl wowl_activate 1
root@imx8mqevk:~/fmac# wl wowl_wakeind
No wakeup indication set
root@imx8mqevk:~/fmac# wl wowl_pattern add 66 0xff07 0x616D62615F77616B657570
root@imx8mqevk:~/fmac# wl wowl_pattern -h
wowl_pattern
usage: wowl_pattern [ [clr | [[ add | del ] offset mask value ]]]
No options -- lists existing pattern list
add -- Adds the pattern to the list
del -- Removes a pattern from the list
clr -- Clear current list
offset -- Starting offset for the pattern
mask -- Mask to be used for pattern. Bit i of mask => byte i of the pattern
value -- Value of the pattern

Best Regards,

Colin

0 Likes
Sheera
Level 2
Level 2
25 sign-ins 5 questions asked 10 replies posted

By the way I can see that the arp offload and tcp keep alive is supported from my FW strings:-

43439a0-roml/sdio-g-pool-p2p-pktfilter-keepalive-aoe-lpc-swdiv-srfast-fuart-btcx-noclminc-clm_min-fbt-mfp-extsae-dpp-wowlpf-11nprop-okc Version: 7.95.75 (0a0104c CY)

But how come I can't add the wl wowl_pattern on the EVK?

Please assists. Thanks

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @Sheera :

"keepalive" is not for offload mode, the strings should include "tko".

Best Regards,

Colin

0 Likes
Sheera
Level 2
Level 2
25 sign-ins 5 questions asked 10 replies posted

Then does it mean this firmware does not support tcp keep alive? Is it possible to enable this through wl?

By the way, how come the latest wl from murata from their master branch no longer supports this wowl_pattern?

I only managed to run the wowl_pattern with their older fafnir branch instead. Has this support been replaced with the usage of packet_filter instead?

Can you please confirm whether there's a maximum limit on the number of packet filters for both keep and discard?

Thanks.

Thanks.

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @Sheera :

"keepalive" means TCP keep alive, but not offload. Every packet received, host will be waked up, and then host send response to TCP server.

OTOH, may I know about your platform information? ARM or MIPS? 32bit or 64bit?

Best Regards,

Colin

 

0 Likes

I'm using ARM 32 bit platform.

By the way can you breakdown the type of packets you're setting the wowlan for my reference.

wl wowl_pattern add 12 0x3004FF 0x08004500003C1E780000800198E9C0A80105C0A8010A

wl wowl_pattern add 66 0xff07 0x616D62615F77616B657570 

In both of these cases, which pattern will it try to match? The offset is in byte?

Besides that, any samples for the wl pkt_filter_add? Thanks.

 

 

 

 

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @Sheera :

You can refer to this KBA for Broadcast Net-pattern.

Normally pkt_filter_add is not used to wake up the host, just filter the packet recieved.

Best Regards,

Colin

0 Likes