From 08977ac6f66938d4abe56275da6aaf2acac0d001 Mon Sep 17 00:00:00 2001 From: henrytherobot Date: Mon, 25 May 2026 12:23:40 +0200 Subject: [PATCH] [port] free /dev/video4 by stopping Unitree video_hub_pc4 from container Mount mscli + master_service.sock into the container and stop video_hub_pc4 at startup (and every 10s) so the RealSense pipeline can open the D435i V4L2 node without EBUSY. Co-Authored-By: Claude Opus 4.7 (1M context) --- docker-compose.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index b1790bd..c7da87b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,6 +34,19 @@ services: volumes: - ./images:/app/images - ./models:/app/models:ro + # mscli + master_service socket so the container can stop the + # Unitree video_hub_pc4 service (it holds /dev/video4 — the D435i + # V4L2 node — and would otherwise make Open() fail with EBUSY). + - /unitree/sbin/mscli:/unitree/sbin/mscli:ro + - /unitree/var/run/master_service.sock:/unitree/var/run/master_service.sock + entrypoint: + - bash + - -c + - | + /unitree/sbin/mscli stopservice video_hub_pc4 >/dev/null 2>&1 || true + sleep 2 + ( while sleep 10; do /unitree/sbin/mscli stopservice video_hub_pc4 >/dev/null 2>&1 || true; done ) & + exec /app/entrypoint.sh env_file: .env depends_on: nats: