Question
MOTOTRBO Radio Management: What are the requirements for Wifi programming?
Answer
Requirements
- Network must allow the IGMP protocol, which is needed by the Device Programmer (DP) to join multicast groups that routers in the network would manage for Multicast communication.
- Network must allow multicast DNS (mDNS) packets sent by the device to reach the Device Programmer.
- mDNS uses the UDP protocol on port 5353 to send packets through Multicast Group 224.0.0.251.
- Network must allow HTTPS connection on port 8443 sourced from the Device Programmer to the devices.
- By default mDNS messages from a MOTOTRBO WiFi Device can only be received by a DP on the same Local Network (See Appendix A for more Information).
- Additional configuration on network equipment level (setting up an mDNS gateway) is needed for DNS messages to be received by DP on a subnet different than the MOTOTRBO WiFi Device. Alternatively, a DP can be deployed on each subnet that a MOTOTRBO WiFi device is on.
- mDNS uses the link-local multicast address 224.0.0.251, which means that routers don’t forward messages outside the subnet in which they originated.
Device Discovery and Programming by the RM Subsystem
The RM subsystem, and the devices, use a zero-configuration mechanism to find devices that require RM configuration. To accomplish this, the RM subsystem joins a multicast group to listen for the presence of devices in the network, then the devices, after joining the local network, multicast their presence to the group that RM has joined earlier. RM determines if there are jobs ready for the specific serial numbers and will then proceed to configure the device if a job is pending.
Below is a high level message sequence chart depicting this process. (See Appendix B for a message sequence diagram.)
Device Discovery
- The Device Programmer notifies the network via IGMP that it wants to listen for multicast packets (Multicast Join Group Request).
- The Device Programmer listens for mDNS packets on UDP port 5353.
- The Device gains access to the local Wifi network that is enabled for RM programming.
- The Device enters End of Shift, which starts the RM service on the Device.
- The Device sends a mDNS message to the Multicast DNS address 224.0.0.251, using the UDP protocol on port 5353.
- Device Programmer receives mDNS packets and gets the IP address and Serial Number of the device.
Device Programming
- The Device listens for incoming HTTPS connections on port 8443.
- If there is a job scheduled for a given device Serial Number, the Device Programmer establishes a TLS session with the device and executes programming jobs using the IP address it obtained in the Device Discovery phase.
Checklist for Local Network (See Appendix A for Local Network diagram)
- IGMP supported in Local Network?
- UDP Port 5353 allowed in Local Network?
- HTTPS/TCP Port 8443 allowed in Local Network?
- Are RM Device Programmer (DP) and Devices located in the same Local Network/VLAN? or has the network been configured to extend the mDNS messages?
Appendix A: RM subsystem and Devices
Notes:
- In the RM subsystem, the Client, Device Programmer, Job Processor and Server can run on separate computers or the same one.
- The Users mostly interact with the RM Client, which is where the devices are provisioned and the configurations are created/modified.
- The Device Programmer (DP) and the Devices must be in the same local network/VLAN. Customers have the ability to configure their networks to extend the mDNS messages beyond the local network/VLAN, but this may not be acceptable due to security risks.
Appendix B: Message Sequence Chart between RM and Device