ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

After some days of testing and new setups the problem could be isolated and solved. There were some combinations of misfortune happening here. First of i had eloquent and dashing on one system that i frequently switched and reinstalled that my have destroyed some stuff. More important was that Wireshark did show Multicast IPs on the network but we couldn't say the source were from our Wireless-Router. They were actually connected per Ethernet on the main router that is why it is seen on Wireshark. The Wireless-Router had IGMP-Snooping allowed but would purge every IP above the 224.255.255.255 and ROS2 is working in 239.X.X.X addresses. The testing tool ros2 multicast is working in the specific IP of 225.0.0.1:49150. This could be changed easily in the api folder of the package and that is how we found out the Wireless-Router is blocking specific Multicast IPs. We solved the problem with setting up a Hot-spot on a Smartphone

Here a quick Guide on how to check different Mulitcast IPs with the ros2 mulitcast command without changing the original multicast command in ros2:

  1. Download the repository of ros2cli and delete all folders except the multicast one (some packages interfere with ros2 topic).

  2. Open the __init__.py in ros2cli-dashing/ros2multicast/ros2multicast/api and change the IP to your liking.

  3. Open the multicast.py in /ros2cli-dashing/ros2multicast/ros2multicast/command and add after def main(self, *, parser, args): the line print("DEFALUT MULTICAST") to know your custom multicast was loaded.

  4. Do a quick colcon build in /ros2cli-dashing and source install/setup.bash to apply the new multicast in that Terminal.

Now you can test different IPs without fiddling in the original ros2. Be sure to apply the custom multicast on both of your devices and matching IPs.

After some days of testing and new setups the problem could be isolated and solved. There were some combinations of misfortune happening here. First of i had eloquent and dashing on one system that i frequently switched and reinstalled that my may have destroyed some stuff. More important was that Wireshark did show Multicast IPs on the network but we couldn't say the source were from our Wireless-Router. They were actually connected per Ethernet on the main router that is why it is seen on Wireshark. The Wireless-Router had IGMP-Snooping allowed but would purge every IP above the 224.255.255.255 and ROS2 is working in 239.X.X.X addresses. The testing tool ros2 multicast is working in the specific IP of 225.0.0.1:49150. This could be changed easily in the api folder of the package and that is how we found out the Wireless-Router is blocking specific Multicast IPs. We solved the problem with setting up a Hot-spot on a Smartphone

Here a quick Guide on how to check different Mulitcast IPs with the ros2 mulitcast command without changing the original multicast command in ros2:

  1. Download the repository of ros2cli and delete all folders except the multicast one (some packages interfere with ros2 topic).

  2. Open the __init__.py in ros2cli-dashing/ros2multicast/ros2multicast/api and change the IP to your liking.

  3. Open the multicast.py in /ros2cli-dashing/ros2multicast/ros2multicast/command and add after def main(self, *, parser, args): the line print("DEFALUT MULTICAST") to know your custom multicast was loaded.

  4. Do a quick colcon build in /ros2cli-dashing and source install/setup.bash to apply the new multicast in that Terminal.

Now you can test different IPs without fiddling in the original ros2. Be sure to apply the custom multicast on both of your devices and matching IPs.

IPs.

After some days of testing and new setups the problem could be isolated and solved. There were some combinations of misfortune happening here. First of i had eloquent and dashing on one system that i frequently switched and reinstalled that may have destroyed some stuff. More important was that Wireshark did show Multicast IPs on the network but we couldn't say the source were from our Wireless-Router. access-point (UniFi AP-AC-LR). They were actually connected per Ethernet on the main router that is why it is seen on Wireshark. The Wireless-Router had IGMP-Snooping allowed but would purge every IP above the 224.255.255.255 and ROS2 is working in 239.X.X.X addresses. The testing tool ros2 multicast is working in the specific IP of 225.0.0.1:49150. This could be changed easily in the api folder of the package and that is how we found out the Wireless-Router access-point is blocking specific Multicast IPs. IPs by default. We solved the problem with setting up a Hot-spot on a SmartphoneSmartphone and are on to change the default options of the AP.

Here a quick Guide on how to check different Mulitcast IPs with the ros2 mulitcast command without changing the original multicast command in ros2:

  1. Download the repository of ros2cli and delete all folders except the multicast one (some packages interfere with ros2 topic).

  2. Open the __init__.py in ros2cli-dashing/ros2multicast/ros2multicast/api and change the IP to your liking.

  3. Open the multicast.py in /ros2cli-dashing/ros2multicast/ros2multicast/command and add after def main(self, *, parser, args): the line print("DEFALUT print("CUSTOM MULTICAST") to know your custom multicast was loaded.

  4. Do a quick colcon build in /ros2cli-dashing and source install/setup.bash to apply the new multicast in that Terminal.

Now you can test different IPs without fiddling in the original ros2. Be sure to apply the custom multicast on both of your devices and matching IPs.

After some days of testing and new setups the problem could be isolated and solved. There were some combinations of misfortune happening here. First of i had eloquent and dashing on one system that i frequently switched and reinstalled that may have destroyed some stuff. More important was that Wireshark did show Multicast IPs on the network but we couldn't say the source were from our access-point (UniFi AP-AC-LR). They were actually connected per Ethernet on the main router that is why it is seen on Wireshark. The Wireless-Router main Router had IGMP-Snooping allowed but the access-point would purge every IP above the 224.255.255.255 and ROS2 is working in 239.X.X.X addresses. The testing tool ros2 multicast is working in the specific IP of 225.0.0.1:49150. This could be changed easily in the api folder of the package and that is how we found out the access-point is blocking specific Multicast IPs by default. IPs. We solved the problem with setting up a Hot-spot on a Smartphone and are on to change the default options of the AP.

Here a quick Guide on how to check different Mulitcast IPs with the ros2 mulitcast command without changing the original multicast command in ros2:

  1. Download the repository of ros2cli and delete all folders except the multicast one (some packages interfere with ros2 topic).

  2. Open the __init__.py in ros2cli-dashing/ros2multicast/ros2multicast/api and change the IP to your liking.

  3. Open the multicast.py in /ros2cli-dashing/ros2multicast/ros2multicast/command and add after def main(self, *, parser, args): the line print("CUSTOM MULTICAST") to know your custom multicast was loaded.

  4. Do a quick colcon build in /ros2cli-dashing and source install/setup.bash to apply the new multicast in that Terminal.

Now you can test different IPs without fiddling in the original ros2. Be sure to apply the custom multicast on both of your devices and matching IPs.