Changes

Jump to navigation Jump to search
724 bytes added ,  17:10, 12 June 2022
Line 335: Line 335:  
Takes an input s32 '''WowlDelayedWakeTime'''. No output.
 
Takes an input s32 '''WowlDelayedWakeTime'''. No output.
   −
'''WowlDelayedWakeTime''' must be <=0xE10 (3600) and >= -1. This value is written into state, then this returns 0.
+
'''WowlDelayedWakeTime''' must be <=0xE10 (3600) and >= -1. This value is written into state (last field in the state struct also used by [[#Cmd19]], which [[#Cmd19]] doesn't write), then this returns 0.
    
The user-process code using this cmd also has the above bounds check.
 
The user-process code using this cmd also has the above bounds check.
Line 342: Line 342:     
This cmd is used by [[Network_Interface_services|nifm]] with a value from state, prior to using RequestSleep.
 
This cmd is used by [[Network_Interface_services|nifm]] with a value from state, prior to using RequestSleep.
 +
 +
If wificore gets to the point of actually using this for TCP-keep-alive, then it does the following:
 +
* This is only used when the [[#Cmd19|TCP]] connection is RST.
 +
** '''WowlDelayedWakeTime''' is the time in seconds to schedule a timer which will wake the system. 0 will schedule it for immediately.
 +
** -1 will skip scheduling that timer, hence waking the system is disabled when RST is received.
 +
** The wificore also supports -3 for immediately waking the system from the frame-handler, however wlan-sysmodule doesn't allow that.
 +
* Frames where the TCP flags do not match ACK will immediately wake the system, + other wake cause(s).
    
== Cmd31 ==
 
== Cmd31 ==

Navigation menu