ROS2 messages stop 90s after network drops
I'm running ROS2 Dashing with Fast-RTPS on a single-board computer running Ubuntu 18.04 server. It's mounted inside a waterproof enclosure. When the enclosure is in the air I can talk to it via wifi, and when it goes underwater the wifi connection drops. All ROS message traffic stops ~90 seconds after the network connection is lost.
I can easily reproduce this on my desktop (Ubuntu 18.04 desktop):
- in the 1st terminal run
ros2 run demo_nodes_cpp talker
- in the 2nd terminal run
ros2 run demo_nodes_cpp listener
-- starts reporting - unplug the Ethernet cable, after ~90 seconds the listener stops reporting
- plug in the Ethernet cable, after a few seconds the listener starts back up
I've tried DHCP and static IP & DNS, but the behavior is the same. I don't see anything surprising in journalctl -f
.
Interestingly, if I start sending messages while the network is down, it appears to ignore the state of the network:
- unplug the Ethernet cable
- in the 1st terminal run
ros2 run demo_nodes_cpp talker
- in the 2nd terminal run
ros2 run demo_nodes_cpp listener
-- starts reporting - plug in the Ethernet cable, no change
- unplug the Ethernet cable, no change
Any ideas?
Thanks.
Related: #q325872.