mirror of
https://github.com/ruvnet/RuView.git
synced 2026-04-28 05:59:32 +00:00
docs: add Windows Docker UDP troubleshooting
This commit is contained in:
parent
79477c17a9
commit
3eb52cccc5
2 changed files with 32 additions and 2 deletions
|
|
@ -109,3 +109,29 @@ ssh thyhack@100.90.238.87
|
|||
**Symptom:** Plugging into the right USB-C port (when facing the board with USB-C toward you) shows no serial device on the host.
|
||||
|
||||
**Fix:** Use the left USB-C port. On most ESP32-S3-DevKitC boards, the left port is the USB-to-UART bridge (CP2102/CH340) used for flashing and serial monitor. The right port is the native USB (USB-JTAG) which requires different drivers and isn't used by the RuView firmware.
|
||||
|
||||
---
|
||||
|
||||
## 9. Docker Desktop on Windows only shows one ESP32 node
|
||||
|
||||
**Symptom:** Multiple ESP32 nodes are sending UDP to the RuView container, but only one node appears in `/api/v1/sensing/latest` or `/api/v1/spatial/nodes`.
|
||||
|
||||
**How to confirm:** Listen on the Windows host with a plain UDP socket and verify packets arrive from all node IPs there, while the container only sees one source.
|
||||
|
||||
**Root cause:** This is a Docker Desktop for Windows networking limitation. `--network host` is Linux-only, and Windows Docker NAT can collapse or drop multi-source UDP traffic headed to a single container port.
|
||||
|
||||
**What works:**
|
||||
- **Linux:** Use `--network host` if you want to avoid NAT entirely.
|
||||
- **Windows + direct port mapping:** Start the container with explicit UDP port mapping and provision each ESP32 with the host machine's LAN IP, not `127.0.0.1`.
|
||||
- **Windows + relay workaround:** If Docker Desktop still only exposes one source inside the container, run a host-side UDP relay that listens on `host:5005`, forwards to `localhost:5006`, and start the container with `-p 5006:5005/udp`.
|
||||
|
||||
**Windows relay pattern:**
|
||||
|
||||
```powershell
|
||||
# Container: internal server still binds UDP 5005
|
||||
docker run -p 3000:3000 -p 3001:3001 -p 5006:5005/udp `
|
||||
-e CSI_SOURCE=esp32 `
|
||||
ruvnet/wifi-densepose:latest
|
||||
```
|
||||
|
||||
Provision every ESP32 with `--target-ip <your-LAN-IP>` so packets first reach the Windows host. The relay then forwards all packets through one socket to `localhost:5006`, which Docker passes through reliably to the container's internal UDP port `5005`.
|
||||
|
|
|
|||
|
|
@ -101,6 +101,8 @@ Multi-architecture image (amd64 + arm64). Works on Intel/AMD and Apple Silicon M
|
|||
|
||||
Example: `docker run -e CSI_SOURCE=esp32 -p 3000:3000 -p 5005:5005/udp ruvnet/wifi-densepose:latest`
|
||||
|
||||
> **Windows Docker Desktop:** For multi-node ESP32 deployments, do not rely on `--network host` because Docker Desktop ignores it on Windows. Start with explicit UDP port mapping and provision each node with your host machine's LAN IP. If only one node still appears in the container, use the relay workaround in [Troubleshooting §9](TROUBLESHOOTING.md#9-docker-desktop-on-windows-only-shows-one-esp32-node).
|
||||
|
||||
### From Source (Rust)
|
||||
|
||||
On Debian/Ubuntu-based Linux systems, install the native desktop prerequisites before the first Rust release build:
|
||||
|
|
@ -265,8 +267,8 @@ Uses `netsh wlan` to capture RSSI from nearby access points. No special hardware
|
|||
# From source (Windows only)
|
||||
./target/release/sensing-server --source wifi --http-port 3000 --ws-port 3001 --tick-ms 500
|
||||
|
||||
# Docker (requires --network host on Windows)
|
||||
docker run --network host ruvnet/wifi-densepose:latest --source wifi --tick-ms 500
|
||||
# Docker Desktop on Windows does not support host networking for this mode.
|
||||
# Use the native Windows binary instead.
|
||||
```
|
||||
|
||||
> **Community verified:** Tested on Windows 10 (10.0.26200) with Intel Wi-Fi 6 AX201 160MHz, Python 3.14, StormFiber 5 GHz network. All 7 tutorial steps passed with stable RSSI readings at -48 dBm. See [Tutorial #36](https://github.com/ruvnet/RuView/issues/36) for the full walkthrough and test results.
|
||||
|
|
@ -310,6 +312,8 @@ docker run -p 3000:3000 -p 3001:3001 -p 5005:5005/udp -e CSI_SOURCE=esp32 ruvnet
|
|||
|
||||
The ESP32 nodes stream binary CSI frames over UDP to port 5005. See [Hardware Setup](#esp32-s3-mesh) for flashing instructions.
|
||||
|
||||
On Docker Desktop for Windows, multi-node ESP32 setups may need the relay workaround from [Troubleshooting §9](TROUBLESHOOTING.md#9-docker-desktop-on-windows-only-shows-one-esp32-node) if only one source is visible inside the container.
|
||||
|
||||
### ESP32 Multistatic Mesh (Advanced)
|
||||
|
||||
For higher accuracy with through-wall tracking, deploy 3-6 ESP32-S3 nodes in a **multistatic mesh** configuration. Each node acts as both transmitter and receiver, creating multiple sensing paths through the environment.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue