Add FMS network documentation summary pages#3149
Conversation
| The FMS network is an Ethernet-based system that connects all robots, driver stations, and field equipment. The network centers around a **Score Switch** that manages traffic between: | ||
|
|
||
| - **Field Router**: Connects to the FMS server and manages alliance networks | ||
| - **FMS Server**: Controls match flow and communicates with all robots |
There was a problem hiding this comment.
| - **FMS Server**: Controls match flow and communicates with all robots | |
| - **FMS Server**: Controls match flow and communicates with Driver Station software. |
|
|
||
| - **Field Router**: Connects to the FMS server and manages alliance networks | ||
| - **FMS Server**: Controls match flow and communicates with all robots | ||
| - **Field Access Points (APs)**: Provide 6 GHz wireless connectivity to robots |
There was a problem hiding this comment.
| - **Field Access Points (APs)**: Provide 6 GHz wireless connectivity to robots | |
| - **Field Access Point (AP)**: Provide 6 GHz wireless connectivity to robots |
| - **Field Access Points (APs)**: Provide 6 GHz wireless connectivity to robots | ||
| - **Smart Router**: Manages external connectivity and network services | ||
|
|
||
| All competition field communication uses dedicated wireless access points operating in the 6 GHz band with 802.11ax (Wi-Fi 6E) to minimize interference from spectator devices. |
There was a problem hiding this comment.
Only communication between robots and the rest of the network uses wireless, and there's only 1 AP.
| - **Frequency Band**: 6 GHz exclusively (avoids 2.4/5 GHz congestion from phones, tablets) | ||
| - **Standard**: 802.11ax (Wi-Fi 6E) | ||
| - **Encryption**: WPA3 with AES encryption | ||
| - **Security Keys**: Unique per team, per event (teams receive keys at check-in) |
There was a problem hiding this comment.
teams program the radio using a kiosk, they don't get the keys directly
| ## Wireless Specifications | ||
|
|
||
| FMS wireless uses modern standards to ensure reliable connectivity: | ||
|
|
||
| - **Frequency Band**: 6 GHz exclusively (avoids 2.4/5 GHz congestion from phones, tablets) | ||
| - **Standard**: 802.11ax (Wi-Fi 6E) | ||
| - **Encryption**: WPA3 with AES encryption | ||
| - **Security Keys**: Unique per team, per event (teams receive keys at check-in) | ||
|
|
||
| .. warning:: Field staff devices use separate 2.4 GHz and 5 GHz networks. Robot radios must be configured for 6 GHz operation at competition. | ||
|
|
||
| ## Security Features | ||
|
|
||
| FMS implements multiple security layers: | ||
|
|
||
| 1. **VLAN Isolation**: Teams cannot see or communicate with other teams' networks | ||
| 2. **WPA3 Encryption**: All wireless traffic is encrypted with per-team keys | ||
| 3. **Port Restrictions**: Only approved network ports are allowed (see :doc:`fms-ports-protocols`) | ||
| 4. **Traffic Inspection**: FMS monitors network traffic for rules compliance |
There was a problem hiding this comment.
This whole section feels a bit... advertisey?
| - roboRIO: ``10.TE.AM.2`` (DHCP from robot radio) | ||
| - Other robot devices: ``10.TE.AM.200`` - ``10.TE.AM.219`` (DHCP from robot radio) | ||
|
|
||
| .. note:: The Field Router does **not** provide DHCP services to robot devices. Your team's robot radio provides DHCP addressing for the robot network. |
There was a problem hiding this comment.
| .. note:: The Field Router does **not** provide DHCP services to robot devices. Your team's robot radio provides DHCP addressing for the robot network. | |
| .. note:: The Field Router does **not** provide DHCP services to robot devices. Your team's robot radio provides DHCP addressing for devices onboard the robot. |
| 1. **Driver Station** connects to field via Ethernet or field AP, receives DHCP address from FMS | ||
| 2. **Robot Radio** connects to 6 GHz field AP using team-specific WPA3 key | ||
| 3. **roboRIO** receives DHCP address ``10.TE.AM.2`` from robot radio | ||
| 4. **FMS Server** establishes control connection with both DS and robot |
There was a problem hiding this comment.
| 4. **FMS Server** establishes control connection with both DS and robot | |
| 4. **FMS Server** establishes connection with the Driver Station software and begins sending control packets to the Driver Station software. |
| 2. **Robot Radio** connects to 6 GHz field AP using team-specific WPA3 key | ||
| 3. **roboRIO** receives DHCP address ``10.TE.AM.2`` from robot radio | ||
| 4. **FMS Server** establishes control connection with both DS and robot | ||
| 5. **Driver Station** sends control packets through FMS to robot |
There was a problem hiding this comment.
| 5. **Driver Station** sends control packets through FMS to robot | |
| 5. **Driver Station** sends control packets to the robot, corresponding to the FMS-commanded mode |
| 3. **roboRIO** receives DHCP address ``10.TE.AM.2`` from robot radio | ||
| 4. **FMS Server** establishes control connection with both DS and robot | ||
| 5. **Driver Station** sends control packets through FMS to robot | ||
| 6. **Robot** sends status information back through FMS to DS |
There was a problem hiding this comment.
| 6. **Robot** sends status information back through FMS to DS | |
| 6. **Robot** sends status information back to the Driver Station | |
| 7. **Driver Station** sends status information back to the FMS |
| 5. **Driver Station** sends control packets through FMS to robot | ||
| 6. **Robot** sends status information back through FMS to DS | ||
|
|
||
| All control traffic is routed through the FMS server, which enforces match timing, enable/disable states, and mode selection (auto/teleop/test). |
cswilson252
left a comment
There was a problem hiding this comment.
Just a few nitpicks from me, also looks like this branch will need to be rebased now 🙃
|
|
||
| The FMS network is an Ethernet-based system that connects all robots, driver stations, and field equipment. The network centers around a **Score Switch** that manages traffic between: | ||
|
|
||
| - **Field Router**: Connects to the FMS server and manages alliance networks |
There was a problem hiding this comment.
| - **Field Router**: Connects to the FMS server and manages alliance networks | |
| - **Field Router**: Manages FMS network routing (VLANs) and traffic in/out of event internet uplink |
| 6. **Robot** sends status information back to the Driver Station | ||
| 7. **Driver Station** sends status information back to the FMS | ||
|
|
||
| The FMS tells your Driver Station what mode to use (auto/teleop/test) and when to enable/disable the robot, but your Driver Station and robot communicate directly with each other. |
There was a problem hiding this comment.
| The FMS tells your Driver Station what mode to use (auto/teleop/test) and when to enable/disable the robot, but your Driver Station and robot communicate directly with each other. | |
| The FMS tells your Driver Station what mode to use (auto/teleop/utility) and when to enable/disable the robot, but your Driver Station and robot communicate directly with each other. |
| - **Field Access Point (AP)**: Provides 6 GHz wireless connectivity to robots | ||
| - **Smart Router**: Manages external connectivity and network services | ||
|
|
||
| Robot-to-field communication uses a dedicated wireless access point operating in the 6 GHz band with 802.11ax (Wi-Fi 6E) to minimize interference from spectator devices. |
There was a problem hiding this comment.
| Robot-to-field communication uses a dedicated wireless access point operating in the 6 GHz band with 802.11ax (Wi-Fi 6E) to minimize interference from spectator devices. | |
| Robot-to-field communication uses a dedicated wireless access point operating in the 6 GHz band with 802.11ax (Wi-Fi 6E) to minimize interference from spectator devices. FTAs use a secondary AP with their wireless devices for field network debugging, that runs on either the 2.4GHz or 5GHz band depending on network congestion. |
| * - 1735 | ||
| - TCP | ||
| - NetworkTables 3 | ||
| - NT3 (legacy) |
There was a problem hiding this comment.
| * - 1735 | |
| - TCP | |
| - NetworkTables 3 | |
| - NT3 (legacy) |
NT3 has been removed from 2027 WPILib
| - NetworkTables 4 (discovery) | ||
| - NT4 (current) | ||
|
|
||
| .. note:: NetworkTables 4 is the current standard. NetworkTables 3 (port 1735) is maintained for backwards compatibility with older dashboards. |
There was a problem hiding this comment.
| .. note:: NetworkTables 4 is the current standard. NetworkTables 3 (port 1735) is maintained for backwards compatibility with older dashboards. |
| ## Key Takeaways | ||
|
|
||
| - Driver Station control packets (ports 1110-1115, 1130) have highest priority | ||
| - NetworkTables 4 uses port 5810 (TCP/UDP); NT3 uses port 1735 (TCP) |
There was a problem hiding this comment.
| - NetworkTables 4 uses port 5810 (TCP/UDP); NT3 uses port 1735 (TCP) | |
| - NetworkTables 4 uses port 5810 (TCP/UDP) |
| ## Common Port Issues | ||
|
|
||
| **Problem**: Dashboard can't connect to robot | ||
| - **Check**: Firewall blocking port 5810 (NT4) or 1735 (NT3) |
There was a problem hiding this comment.
| - **Check**: Firewall blocking port 5810 (NT4) or 1735 (NT3) | |
| - **Check**: Firewall blocking port 5810 (NT4) |
There was a problem hiding this comment.
| You may now connect to your robot as normal over the selected interface (if you haven't done so already). The graph will show the total bandwidth usage of the connection, with the bandwidth cap at the top of the graph. The Last, Average, Min, and Max values are also displayed at the bottom of the graph. Note that these values are in Bytes/Second meaning the cap is 524,288. With just the Driver Station open you should see a flat line at ~100000 Bytes/Second. |
Adds three new documentation pages summarizing key information from the FMS whitepaper: - fms-network-architecture.rst: Explains FMS network topology, VLANs, IP addressing, wireless specs, and security - fms-ports-protocols.rst: Reference table of network ports and protocols used by FMS and FRC software - network-performance-optimization.rst: Practical guidance for staying within 7 Mbps bandwidth limit These pages provide teams with essential FMS networking information without duplicating the full technical details from the FMS whitepaper. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Key changes: - Clarified FMS Server communicates with Driver Station software, not robots directly - Changed "Field Access Points" to singular "Field Access Point" - Simplified VLAN section to focus on isolation rather than specific VLAN numbers - Updated wireless section to clarify only robot communication uses the 6 GHz AP - Changed WPA3 key distribution to mention teams use event kiosks to configure radios - Removed "advertisey" language and incorrect traffic monitoring claims from security section - Rewrote communication flow using "conductor" analogy: FMS tells DS what to do, but DS communicates directly with robot - Corrected communication flow steps to reflect DS-robot direct communication with FMS coordinating - Updated field firewall description to clarify it restricts ports, doesn't monitor/control all traffic - Improved field vs pits section to be more practical and accurate All changes verified against FMS whitepaper for technical accuracy. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- fms-network-architecture: Fix Field Router/AP descriptions per suggestions; add FTA secondary AP note; simplify VLAN/security sections; remove Smart Router entry; fix mode name "test" -> "utility"; tone down wireless specs section - fms-ports-protocols: Remove all NT3/port 1735 references (NT3 removed in 2027); clean up NT table, packet prioritization, troubleshooting, and key takeaways - measuring-bandwidth-usage: Fix typo "he Last" -> "The Last" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
943f5fa to
e64be78
Compare
- Replace roboRIO with Systemcore throughout - Remove SmartDashboard and Shuffleboard references (both removed in 2027); use NT4 entries directly in code examples and Elastic/Glass in port table - Remove port 1110 from Core Ports table (it is FMS<->DS comm, not camera; already listed correctly in the Driver Station Ports table) - Update Web Interface Ports to reference Systemcore instead of roboRIO - Remove pinned year from game manual rule reference - Remove roboRIO-TEAM-FRC.local mDNS hostname (Systemcore hostname TBD) - Fix mode name test -> utility in packet prioritization section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Adds three new documentation pages summarizing key information from the FMS whitepaper to help teams understand FMS networking:
fms-network-architecture.rst: Explains how FMS network is structured
fms-ports-protocols.rst: Reference for network ports and protocols
network-performance-optimization.rst: Practical bandwidth optimization guidance
Design Decisions
Testing
🤖 Generated with Claude Code