1. Disclaimer
Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. EXOLIGENT MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Exoligent disclaims all liability arising from this information and its use. Use of Exoligent devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Exoligent from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Exoligent intellectual property rights unless otherwise stated.
Exoligent SARL
390 rue d’Estienne d’Orves, 92700 Colombes - France
Tel: +33(0) 1 42 42 42 00
Web Site: https://www.exoligent.com/
Copyright © 2023 Exoligent SARL. All rights reserved.
2. Introduction
FIPGate Sniffer is a hardware gateway that monitors each FIP/WorldFIP bus frame and pass it to Ethernet (UDP/IP).
Based on an embedded Linux, the system is completely passive and invisible for the FIP network. All the FIP frames are numbered and timestamped before being sent over Ethernet.
The gateway can be configured and updated remotely via an integrated WebUI tool. Once this is done, no additional operator intervention is required and the data stream is continuously transmitted.
3. Installation
FIPGate power is applied through an Ethernet port in passive Power over Ethernet (PoE) architecture.
Passive PoE can deliver power over the Ethernet lines, but without the negotiation or communication process. PoE injector or 802.3at PoE Emulation Adapter may be required in your installation. |
The hardware installation is very simple:
-
Connect the SUBD9 connector to your FIP network
-
Connect the Ethernet cable to a PoE compatible network
If the FIPGate is properly powered, it should start automatically in approximately 10 seconds.
4. Gateway Web UI
FipGate WebUI is an all-in-one interface for configuring all gateway services.
The page is accessed through port 8000.
Default WebUI access is http://192.168.1.100:8000 [click here].
4.1. System Configuration
4.1.1. Network Interface
This section is used to set the Ethernet network parameters of the gateway.
Default network settings are:
-
Mode=Static
-
IpAdress=192.168.1.100
-
SubnetMask=255.255.255.0
-
Gateway=192.168.1.1
-
Broadcast=192.168.1.255
-
DNS=192.168.1.1
4.1.2. Date & Time
This section allows you to set the system time manually or automatically by setting NTP server addresses.
4.1.3. Login & Password
Default Login and Password are:
-
Login=admin
-
Pass=password123
For the security of your installation, it is strongly recommended to change Login&Password at the first use. |
4.2. System Update
The gateway supports OTA (Over-The-Air) updates. The image files have the swu extension and are available on the Exoligent website: FIPGate - Download
There are two ways to update it:
-
METHOD 1:
-
Open FIPGate WebUI: http://192.168.1.100:8000
-
Go to Firmware Upgrade section and select the last firmware you want to install.
-
Wait for the end of update. The system will automatically reboot on the new root filesystem.
-
-
METHOD 2:
-
Open SWUpdate WebUI: http://192.168.1.100:8080
-
Drag & Drop the last firmware you want to install
-
Wait for the end of update. The system will automatically reboot on the new rootfs.
-
4.3. Factory Reset
This is the section for resetting some or all of the gateway settings to their default values.
This can be useful if you want to start again from scratch!
However beware, this operation is irreversible and your old settings will be completely erased. |
Another way to boot from a factory image is to use the physical Recovery button on the gateway. Start the gateway by holding the button down for about 10 seconds. The gateway will then start up with the factory default settings. This operation does not delete your previous user settings. They will be taken into account again the next time the gateway is started. |
5. FIP to UDP Sniffer
This section deals with the main function of the gateway, which is to capture all FIP frames and transmit them over Ethernet.
Each frame that passes through the FIP network is recorded, numbered, timestamped and then encapsulated in a UDP datagram for transmission over Ethernet.
5.1. Configuration
To set up the FIP sniffer, log into FIPGate WebUI and go to the FIP/UDP Daemon section.
Default FIP/UDP daemon are :
-
UdpPort=57117
-
LifeSignMs=500
-
MaxEvents=1000
-
BuffFileBsz=50000000
Name | Description | ||
---|---|---|---|
Name/Version |
Version of the running daemon. |
||
Mode |
Transmission mode of the UDP stream. |
||
IP Address |
Unicast or Multicast IP address. |
||
UDP Port |
UDP transmission port. |
||
LifeSign Period (ms) |
Period (ms) of the |
||
Events per Datagram |
Maximum number of events ( |
||
Buffer Size (B) |
Maximum size of the buffer file in bytes.
|
5.2. UDP datagrams
5.2.1. FWP datagram
FWP (FipWatcher Protocol) defines the data structure of the UDP packets sent by the FIP-UDP service.
By default, the UDP packets are broadcast to UDP destination port 57117.
For Wireshark users, it is possible to use a LUA dissector (fwp.lua).
Alternatively, it is possible to use the Exoligent FipLabs GUI provided in the WorldFipTools6 software package.
Finally, to use the UDP stream directly in your user application, we describe below the general structure of a UDP datagram:
Name | Type | Length | Description |
---|---|---|---|
Identification |
U8[2] |
16 bits |
Identification of the FWP protocol (46h 57h: "FW") |
Version |
U8[2] |
16 bits |
FWP datagram version (Major/Minor) |
Sequence Number |
U64 |
64 bits |
Current datagram number |
Events Number |
U32 |
32 bits |
Number of events contained in this datagram |
Event 1 |
|||
Identifier |
U8 |
8 bits |
Event identifier |
Length |
U16 |
16 bits |
Event length in bytes (id[1] + len[2] + event payload) |
Data |
U8[] |
- |
Payload of the event 1 |
Other Events […] |
|||
Event n |
|||
Identifier |
U8 |
8 bits |
Event identifier |
Length |
U16 |
16 bits |
Event length in bytes (id[1] + len[2] + event payload) |
Data |
U8[] |
- |
Payload of the event n |
The events associated with this datagram are of two types:
In the rest of this chapter, we will see a description of these events.
5.2.2. [Event] FIP Frame Received
This event is generated each time a FIP/WorldFIP frame is received by the FIPWatcher device.
Name | Type | Length | Description |
---|---|---|---|
Identifier |
U8[2] |
8 bits |
Event identifier (C0h: FIP frame reception event id) |
Length |
U16 |
16 bits |
Event length in bytes (id[1] + len[2] + event payload) |
Frame Status |
U16 |
16 bits |
FIP frame status report |
Frame Number |
U64 |
64 bits |
Received FIP frame number |
Epoch Time |
U64 |
64 bits |
Event’s unix epoch time (us) |
Frame Duration |
U8[3] |
24 bits |
Frame Duration (1/10 us) |
Inter-Frame Duration |
U8[3] |
24 bits |
Inter-Frame Duration (1/10 us) |
Glitches Counter |
U16 |
16 bits |
Number of glitches detected in the frame |
Jitter |
U8 |
8 bits |
Percentage of average Tbit expressed in 0.5% steps |
Control |
U8 |
8 bits |
FIP Frame: Control byte |
App Data |
U8[] |
n bits |
FIP Frame: Application layer data |
Checksum |
U16 |
16 bits |
FIP Frame: Checksum word |
5.2.3. [Event] System LifeSign
This event is sent periodically to indicate that the service is alive. In addition, it contains some status data and statistics about the FIPUDP service.
To set its transmission period, go to FIP to UDP Sniffer - Configuration
section.
Name | Type | Length | Description |
---|---|---|---|
Identifier |
U8 |
8 bits |
Event identifier (C1h: System lifesign event id) |
Length |
U16 |
16 bits |
Event length in bytes (id[1] + len[2] + event payload) |
Lifesign Counter |
U64 |
64 bits |
System monitoring event counter |
Epoch Time |
U64 |
64 bits |
Event’s unix epoch time (us) |
Product Number |
U32 |
32 bits |
FIPWatcher product number |
CPU Infos |
|||
Load |
FLOAT |
32 bits |
CPU load (%) |
Temperature |
FLOAT |
32 bits |
CPU temperature (°C) |
MMC Infos |
|||
Total KB |
U32 |
32 bits |
MMC: total memory size in KB |
Used KB |
U32 |
32 bits |
MMC: memory used in KB |
Available KB |
U32 |
32 bits |
MMC: memory available in KB |
Used Percent |
FLOAT |
32 bits |
MMC: memory used percent |
RAM Infos |
|||
Total KB |
U32 |
32 bits |
RAM: total memory size in KB |
Used KB |
U32 |
32 bits |
RAM: memory used in KB |
Available KB |
U32 |
32 bits |
RAM: memory available in KB |
Used Percent |
FLOAT |
32 bits |
RAM: memory used percent |
FIPUDP Daemon Infos |
|||
+ Buffer Infos |
|||
Total KB |
U32 |
32 bits |
FIPUDP Buffer: total memory size in KB |
Used KB |
U32 |
32 bits |
FIPUDP Buffer: memory used in KB |
Available KB |
U32 |
32 bits |
FIPUDP Buffer: memory available in KB |
Used Percent |
FLOAT |
32 bits |
FIPUDP Buffer: memory used percent |
+ UDP Activity |
|||
Status |
U8 |
8 bits |
UDP: activity status (0:off, 1:on) |
Total ON Duration |
U64 |
64 bits |
UDP: total duration of activity (us) |
Total OFF Duration |
U64 |
64 bits |
UDP: total duration of inactivity (us) |
Last Start Epoch |
U64 |
64 bits |
UDP: last date of start of activity |
Last Stop Epoch |
U64 |
64 bits |
UDP: last date of stop of activity |
Last ON Duration |
U64 |
64 bits |
UDP: last duration of activity |
Last OFF Duration |
U64 |
64 bits |
UDP: last duration of inactivity |
Loss Counter |
U16 |
16 bits |
UDP: number of loss of activity |
+ UDP RX Statistics |
|||
Frame Count |
U64 |
64 bits |
UDP: RX frame count |
Frame Rate |
U32 |
32 bits |
UDP: RX frame rate (frame per second: fps) |
Byte Rate |
U64 |
64 bits |
UDP: RX byte rate (byte per second: B/s) |
+ UDP TX Statistics |
|||
Frame Count |
U64 |
64 bits |
UDP: TX frame count |
Frame Rate |
U32 |
32 bits |
UDP: TX frame rate (frame per second: fps) |
Byte Rate |
U64 |
64 bits |
UDP: TX byte rate (byte per second: B/s) |
+ FIP Activity |
|||
Status |
U8 |
8 bits |
FIP: activity status (0:off, 1:on) |
Total ON Duration |
U64 |
64 bits |
FIP: total duration of activity (us) |
Total OFF Duration |
U64 |
64 bits |
FIP: total duration of inactivity (us) |
Last Start Epoch |
U64 |
64 bits |
FIP: last date of start of activity |
Last Stop Epoch |
U64 |
64 bits |
FIP: last date of stop of activity |
Last ON Duration |
U64 |
64 bits |
FIP: last duration of activity |
Last OFF Duration |
U64 |
64 bits |
FIP: last duration of inactivity |
Loss Counter |
U16 |
16 bits |
FIP: number of loss of activity |
+ FIP RX Statistics |
|||
Frame Count |
U64 |
64 bits |
FIP: RX frame count |
Frame Rate |
U32 |
32 bits |
FIP: RX frame rate (frame per second: fps) |
Byte Rate |
U64 |
64 bits |
FIP: RX byte rate (byte per second: B/s) |
+ FIP Network Infos |
|||
Type |
U8 |
8 bits |
Frame type (0:unknown, 1:fip, 2:worldfip) |
Bitrate |
U8 |
8 bits |
Frame bitrate (0:unknown, 1:31.25kbps, 2:1Mbps, 3:2.5Mbps, 4:5Mbps) |
+ FIP Error Counters |
|||
PRE |
U64 |
64 bits |
Physical layer: no frame preamble (may be a glitch detection) |
FSD |
U64 |
64 bits |
Physical layer: no frame start delimiter (fsd) |
FED |
U64 |
64 bits |
Physical layer: no frame end delimiter (fed) |
CTL |
U64 |
64 bits |
Datalink layer: unknown fip control byte |
FCS |
U64 |
64 bits |
Datalink layer: bad frame checksum |
PDU |
U64 |
64 bits |
Application layer: unknown fip pdu |
LEN |
U64 |
64 bits |
Application layer: bad data length |
GLC |
U64 |
64 bits |
HDL coworker: overflow on glitch counter |
IFC |
U64 |
64 bits |
HDL coworker: overflow on inter-frame counter |
FC |
U64 |
64 bits |
HDL coworker: overflow on frame counter |
Appendix A: Glossary of acronyms
FIP |
Factory Instrumentation Protocol |
FWP |
FipWatcher Protocol |
OTA |
Over-The-Air |
PoE |
Power over Ethernet |
UDP |
User Datagram Protocol |
WebUI |
Web User Interface |
Appendix B: Revision History
Revision | Changes | Authors | Date |
---|---|---|---|
1.0.0 |
First version |
MC |
2023-05-11 |