Production Troubleshooting

Dashboard shows “waiting_for_nodes”

microk3 starts with an empty node list and waits for live ROS 2 messages. Check:

# Is Renode running and publishing?
docker-compose logs renode-e2e

# Is the bridge translating heartbeats?
docker-compose logs renode-bridge

# Are topics being published?
docker exec -it <microk3-container> bash
source /opt/ros/humble/setup.bash
ros2 topic echo /microk3/node_status

firmware-build fails

# Check ARM toolchain is present in the build image
docker-compose run firmware-build arm-none-eabi-gcc --version

# Check libmicroros.a exists
ls microrosWs/Micro_ros_eth/microroseth/micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a

If the file is missing, follow Building the Library.

Ethernet DMA issues / firmware hangs at boot

Ensure SCB_DisableDCache() is called in main.c before HAL_Init() and that the MPU is configured for SRAM2 as non-cacheable. See CM7 Core.

TAP interface not found

# Renode-e2e needs NET_ADMIN capability and privileged mode
# Verify in compose file:
cap_add:
  - NET_ADMIN
privileged: true

This site uses Just the Docs, a documentation theme for Jekyll.