Firmware: 11203+
There are use-cases where starting / stopping a capture based on link activity can automate a data capture process.
Overview
FMADIO Supports Idle capture triggers. This starts a new capture when the link has capture activity. Closing the capture once the link becomes idle.
The State is shown below
Describing the state machine
1) Capture Enable
This is using the GUI or FMADIOCLI to start a capture. This is traditionally what we call start of the capture.
2) Capture in Idle Mode
Here the system is waiting for capture link activity to occur
3) Capture Start
The system detects capture link activity, thus starts the capture
4) Capturing
The system captures as normal
5) Capture Idle
The system detects the capture link has no activity. It waits for a timeout before stopping the capture.
6) Capture Stop
No additional capture data was seen on the link. Thus the idle timeout was reached and the capture is stopped
7) Capture Idle
The system waits for the capture link to become active again.
The system will cycle 2) → 7) continuously until the capture is stopped using the GUI or FMADIOCLI.
Configuration
Currently requires manual editing of
/opt/fmadio/etc/time.lua
Find the Capture section and add the following
(If the fields are not present in the time.lua go to the GUI enable inline mode, then disable inline mode. This updates the time.lua with the new fields)
The default settings for Trigger based capture are shown below.
["Capture"] =
{
.
.
["TriggerEnable"] = true,
["TriggerDuration"] = 10000000000,
["TriggerPktCntActive"] = 10000,
["TriggerPktCntIdle"] = 1000,
["DisableCPUPriority"] = false,
.
.
},
NOTE: to reload the settings after modifying, use fmadiocli per below
fmadiocli config capture restart
TriggerEnable
This enables or disabled the trigger based capture. By default it is false.
TriggerDuration
Nanoseconds
This sets the time duration used to calculate the number of Packets for Active/Idle.
Default is 10e9 (10 seconds)
TriggerPktCntActive
This is the number of packets received during TriggerDuration time period, to trigger the capture to start. This can be tuned, usually the number is higher than TriggerPktCntIdle
Default value is 10,000 packets with default TriggerDuration 10sec. To trigger the start of a capture requires > 10,000 packets over the last 10sec.
TriggerPktCntIdle
For the link to go idle, the number of packets over TriggerDuration must be less than this number.
By default this is 1000 packets over the default TriggerDuration 10sec. For example for the link to be in the Idle state must have less than 1000 packets over the last 10 seconds.
Debugging
Logfile best is
/mnt/store0/log/stream_capture_f100.cur
The specific messages are
Settings are at the top of the file
Trigger start
Trigger Stop