micro-ROS-Agent icon indicating copy to clipboard operation
micro-ROS-Agent copied to clipboard

Micro-ros-Agent and esp32 ( WSL2 setup )

Open JoelsonCRJ opened this issue 2 years ago • 1 comments

Issue template

  • Hardware description: Dell Inspiron 15 (Ubuntu 20.04 wsl2)
  • RTOS: ESP32 Node MCU
  • Installation type: micro_ros_setup
  • Version or commit hash: foxy

Steps to reproduce the issue

  • Set the micro-ros credentials through the command "idf.py menuconfig";
  • Compile and flash the INT32_SUB_PUB example on esp32;

In the Ubuntu 20.04 wsl2 Host machine:

  • Windows 11 side:
  • Open the windows power shell as admin user and type: "netsh interface portproxy add v4tov4 listenport=8888 listenaddress=0.0.0.0 connectport=8888 connectaddress=<wsl2_ip_address>"
  • Go to the firewall and create a new inbound rule for port 8888 ;
  • Ubuntu 20.04 wsl2 side:
  • install the micro-ROS package and dependencies following this tutorial: https://micro.ros.org/docs/tutorials/core/first_application_linux/
  • run the micro_ros_agent: "ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888"

Expected behavior

I was expecting the same behavior when use a native linux machine: the esp32 finding the ros agent and publishing messages over ros2.

Actual behavior

Esp32 tries to connect to the ros agent but it is not finding it and eventually i get this message on the esp32 monitor: "Failed status on line 57: 1. Aborting".

Additional information

JoelsonCRJ avatar Jun 06 '23 15:06 JoelsonCRJ

Currently netsh portproxy doesn't support UDP which is used for microROS agent communication. This is an active issue in the WSL repo: https://github.com/microsoft/WSL/issues/4150

My current workaround is to have the agent running in a separate Linux VM (VirtualBox) using a bridged network adapter

Sebski123 avatar Jul 08 '23 16:07 Sebski123