1 Reply Latest reply on Jun 18, 2018 1:57 PM by mifo

    CYW43012 keep-alive feature does not work

    peter_3355326

      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