CYW43012 keep-alive feature does not work

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

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Firmware version:

wl ver

1.8 RC0.0

wl0: Apr 10 2018 00:42:50 version 13.10.271.99 (r687870) FWID 01-2151702e

I am attempting to set up the new keep-alive feature but it does not seem to produce any keep-alive messages. The wl command sequence I am using is

wl tko connect 0 0 0:90:4c:2a:9:0 e4:8d:8c:74:1:e7 192.168.112.139 192.168.100.200 60061 8888 557792717 1642456692 913

wl tko param 20 1 8

wl tko enable 1

wl bcn_li_dtim 6

wl PM 1

at this stage I sleep for 300 seconds, during which time I should see multiple messages with keep-alives set to 20 seconds. I then cancel the keep-alives and come out of power-save with

wl PM 2

wl bcn_li_dtim 0

wl tko connect 0

wl tko enable 0

wl tko status

The software then attempts to send a data packet to the server

I have attached wireshark captures and command line terminal debug for the attempts

There are some other questions regarding the implementation of the feature as well, which relate to the broadcom specific keep-alives which this feature is meant to replace.

a) In order to transmit a valid message during sleep mode, the tko subsytem needs to use the ip connection identification field (two bytes at offset 18 in the ip packet) yet there is no parameter to set this in the wl tko connect command

b) The broadcom version allowed us to add data to the keep-alive messages. The same data is transmitted each time (and contains UUID identifying the sender and some other information). there is no parameter in the wl tko connect command to allow us to do this

c) And a general question. The parameter <ip_addr_type> in the wl tko connect command, I initially assumed it was to be used for item a) above but that did not seem to work (some values passed in were rejected). Can you please tell me what values are valid

If you filter the wireshark capture on 192.168.112.139  and 192.168.100.200 you will see the messages that are used to set up the keep-alive.

Related to the intended use but not to the issue above, the firmware does not seem to contain an internal supplicant (wl set_pmk returns an error code). Is it possible to add this, I believe it's absence will mean the wifi will need to wake up the host for key rotations which will mean decreased battery life

1 Solution
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Since the CYW43012 has not been released yet to the broad market that this community services, you will want to reach out to the local Cypress Sales/FAE team that enabled your company as an early adopter and have them line up the correct factory support.

View solution in original post

0 Likes
1 Reply