Network issue "Couldn't find an AF_INET address for ..."

asked 2020-02-22 12:17:34 -0500

matt_robo gravatar image

Network issue "Couldn't find an AF_INET address for ..."

Hi!

I am trying to set up ROS to run on multiple machines. I followed the ROS Network Setup and ROS Multiple Machines guides. I can SSH from one into the other and did the netcat test which works just fine.

Machine 1 (my controller laptop)
IP: 10.5.50.167
hostname -> xps
hostname -I -> 10.5.50.167 2001:67c:10ec:5745:8000::64
I exported ROS_IP=10.5.50.167 and ROS_MASTER_URI=http://10.5.50.167:11311

Machine 2 (jetson TX2)
IP: 10.5.55.63
hostname -> jetson-dev
hostname -I -> 10.5.55.63 192.168.55.1 172.17.0.1 2001:67c:10ec:5745:8000::5a1
I exported ROS_IP=10.5.55.63 and ROS_MASTER_URI=http://10.5.50.167:11311

Procedure
- Setting up ROS_IP and ROS_MASTER_URI as described above should let me use my laptop as the master (I tried both directions, same result)
- I started the ROS master (roscore) on my laptop (Machine 1)
- On the jetson-dev I launched some nodes that publish stuff
- I can see the topics on my laptop (rostopic list), however the output (rostopic echo <topic_name>) is empty
- rostopic hz <topic_name> reports no messages are arriving
- I can ssh into the jetson from my laptop and inspect the output there succesfully using rostopic echo <topic_name>, however I would like to have it on my laptop
- Whenever I do something ROS related on the jetson-dev, I get Couldn't find an AF_INET address for [jetson-dev] in the shell on my laptop where I started the ros master via roscore

roswtf output (while having a roscore running on Machine 1
- On the laptop (Machine 1)

matt@xps:~$ roswtf
/home/matt/.local/lib/python2.7/site-packages/pkg_resources/py2_warn.py:22: UserWarning: Setuptools will stop working on Python 2
************************************************************
You are running Setuptools on Python 2, which is no longer
supported and
>>> SETUPTOOLS WILL STOP WORKING <<<
in a subsequent release (no sooner than 2020-04-20).
Please ensure you are installing
Setuptools using pip 9.x or later or pin to `setuptools<45`
in your environment.
If you have done those things and are still encountering
this message, please comment in
https://github.com/pypa/setuptools/issues/1458
about the steps that led to this unsupported combination.
************************************************************
  sys.version_info < (3,) and warnings.warn(pre + "*" * 60 + msg + "*" * 60)
Loaded plugin tf.tfwtf
No package or stack in context
================================================================================
Static checks summary:

No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules

Online checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout
  • On the jetson (Machine 2)

    nvidia@jetson-dev:~$ roswtf
    Loaded plugin tf.tfwtf
    No package or stack in context
    ================================================================================
    Static checks summary:
    No errors or warnings
    ================================================================================
    Beginning tests of your ROS graph. These may take awhile ...
(more)
edit retag flag offensive close merge delete

Comments

Looks like this is a common problem based on previous discussions. See https://answers.ros.org/question/2274...

A couple additional guesses 1. The export of env vars only applies to the shell in which you do it. If you run processes in another shell they won't see those env vars. 2. You might need to set ROS_HOSTNAME=<ip address=""> on the Jetson.

stuart marshall gravatar image stuart marshall  ( 2020-02-23 13:39:37 -0500 )edit