rmw_fastrtps icon indicating copy to clipboard operation
rmw_fastrtps copied to clipboard

ethernet communications is seen but not caught

Open twaddellberkeley opened this issue 4 years ago • 5 comments
trafficstars

Bug report

Required Info:

Machine 1: Ubuntu 20.04.3 Lenovo Laptop Foxy 2021-09-02 AMD64

Machine 2: Ubuntu 20.04.3 (Server build) Raspberry Pi Model 3B+ Foxy 2021-09-02 arm64

  • Installation type: Both from source

  • DDS implementation: fast RPS

  • Client library (if applicable):

Steps to reproduce issue

I have two machines connected directly over ethernet. Each one has a assigned ethernet IP, 10.0.0.1 for one, and the other is 10.0.0.2. The machines can both see each other (confirmed by quickly pinging them), and then I ssh into the other. I then am sure to run "sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev " for the ethernet interfaces. Then using multicast send and receive I can clearly see them communicating. Then I run a demo_nodes_cpp talker on one machine and listener on the other. However they never seem to reach each other. However in wireshark I can clearly see the packets coming in from the other machine. An example packet from the other machine, to the machine running wireshark is:

Frame 107: 362 bytes on wire (2896 bits), 362 bytes captured (2896 bits) on interface enp9s0, id 0 Frame 107: 362 bytes on wire (2896 bits), 362 bytes captured (2896 bits) on interface enp9s0, id 0 Internet Protocol Version 4, Src: 10.0.0.2, Dst: 239.255.0.1 User Datagram Protocol, Src Port: 54871, Dst Port: 7400 Real-Time Publish-Subscribe Wire Protocol

Expected behavior

The talker/listener nodes reach each other

Actual behavior

A packet of data is sent to the other machine, but the node still does not catch it

Additional information

I'm fairly new to DDS/RTPS, and may be off on what Im talking about. I realized a lot of my issues so far have been network communications (I understood what loopback interface meant incorrectly, and asked some dumb questions to a contributor here already, however I think I am at a point where its an actual bug)

twaddellberkeley avatar Sep 29 '21 06:09 twaddellberkeley

@clalancette Apologies for the bad info and confusion on my end before, I realized I am very new at this. I am hoping that this is an actual bug, and not a waste of all your time. I've been banging my head against this for the last 3 or so days as well

twaddellberkeley avatar Sep 29 '21 06:09 twaddellberkeley

Tested with another machine (Laptop to Jetson Nano), seems to be the issue is something to do with the raspberry PI, going to completely re-image and setup and see what happens.

twaddellberkeley avatar Sep 29 '21 21:09 twaddellberkeley

Alright, 6 different linux kernels later, multiple ways of installing ROS, and I was able to get it to work on Ubuntu Mate 20.04. Not sure why it only works on this kernel, going to try and resintall ubuntu server for the x time to see if I can fix it on that (want a lighter OS)

twaddellberkeley avatar Oct 01 '21 22:10 twaddellberkeley

@twaddellberkeley based on your findings, this really looks like an OS or DDS vendor issue (and thus outside the scope of this repository). Does it make sense to keep this ticket open?

hidmic avatar Oct 13 '21 20:10 hidmic

Hi @hidmic That is fair, I do not think its a DDS issue. I think in the end it is a config issue or a missing dependency issue. Not sure exactly what is missing/misconfigured in Ubuntu Server, never could track down the source. But this issue may be helpful to others in the future (Though it was a bit annoying to install Mate Desktop and tear it down).

Thanks!

twaddellberkeley avatar Oct 13 '21 21:10 twaddellberkeley