-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Description
First, after flashing the firmware according to the instructions in the Release, it cannot be configured. The message "No module named nvs_partition_gen" suggests a problem with my environment, but the --filter-mac option is not present in provision.py at all. Why is it mentioned in the release documentation?
(base) D:\Download\ESP32-S3 CSI Firmware v0.2.0>pip install esptool
Looking in indexes: https://mirrors.bfsu.edu.cn/pypi/web/simple
Requirement already satisfied: esptool in c:\programdata\anaconda3\lib\site-packages (5.2.0)
Requirement already satisfied: bitstring!=4.2.0,>=3.1.6 in c:\programdata\anaconda3\lib\site-packages (from esptool) (4.3.1)
Requirement already satisfied: cryptography>=43.0.0 in c:\programdata\anaconda3\lib\site-packages (from esptool) (44.0.1)
Requirement already satisfied: pyserial>=3.3 in c:\programdata\anaconda3\lib\site-packages (from esptool) (3.5)
Requirement already satisfied: reedsolo<1.8,>=1.5.3 in c:\programdata\anaconda3\lib\site-packages (from esptool) (1.7.0)
Requirement already satisfied: PyYAML>=5.1 in c:\programdata\anaconda3\lib\site-packages (from esptool) (6.0.2)
Requirement already satisfied: intelhex in c:\programdata\anaconda3\lib\site-packages (from esptool) (2.3.0)
Requirement already satisfied: rich_click<2 in c:\programdata\anaconda3\lib\site-packages (from esptool) (1.9.7)
Requirement already satisfied: click<9 in c:\programdata\anaconda3\lib\site-packages (from esptool) (8.1.8)
Requirement already satisfied: colorama in c:\programdata\anaconda3\lib\site-packages (from click<9->esptool) (0.4.6)
Requirement already satisfied: rich>=12 in c:\programdata\anaconda3\lib\site-packages (from rich_click<2->esptool) (13.9.4)
Requirement already satisfied: bitarray<4.0,>=3.0.0 in c:\programdata\anaconda3\lib\site-packages (from bitstring!=4.2.0,>=3.1.6->esptool) (3.8.0)
Requirement already satisfied: cffi>=1.12 in c:\programdata\anaconda3\lib\site-packages (from cryptography>=43.0.0->esptool) (1.17.1)
Requirement already satisfied: pycparser in c:\programdata\anaconda3\lib\site-packages (from cffi>=1.12->cryptography>=43.0.0->esptool) (2.21)
Requirement already satisfied: markdown-it-py>=2.2.0 in c:\programdata\anaconda3\lib\site-packages (from rich>=12->rich_click<2->esptool) (2.2.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\programdata\anaconda3\lib\site-packages (from rich>=12->rich_click<2->esptool) (2.19.1)
Requirement already satisfied: mdurl~=0.1 in c:\programdata\anaconda3\lib\site-packages (from markdown-it-py>=2.2.0->rich>=12->rich_click<2->esptool) (0.1.0)
(base) D:\Download\ESP32-S3 CSI Firmware v0.2.0>python -m esptool --chip esp32s3 --port COM8 --baud 460800 --before default-reset --after hard-reset write-flash --flash-mode dio --flash-freq 80m --flash-size 4MB 0x0 bootloader.bin 0x8000 partition-table.bin 0x10000 esp32-csi-node.bin
esptool v5.2.0
Connected to ESP32-S3 on COM8:
Chip type: ESP32-S3 (QFN56) (revision v0.2)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_3v3)
Crystal frequency: 40MHz
MAC: xx:xx:xx:xx:xx:xx
Stub flasher running.
Changing baud rate to 460800...
Changed.
Configuring flash size...
SHA digest in image updated.
Flash will be erased from 0x00000000 to 0x00005fff...
Wrote 21056 bytes (13064 compressed) at 0x00000000 in 0.6 seconds (262.9 kbit/s).
Hash of data verified.
Flash will be erased from 0x00008000 to 0x00008fff...
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (415.3 kbit/s).
Hash of data verified.
Flash will be erased from 0x00010000 to 0x000d0fff...
Wrote 788832 bytes (484173 compressed) at 0x00010000 in 11.2 seconds (561.5 kbit/s).
Hash of data verified.
Hard resetting via RTS pin...
(base) D:\Download\ESP32-S3 CSI Firmware v0.2.0>python provision.py --port COM8 --ssid "Xiaomi_xxxx" --password "xxxxxxxxxxxxxxxxxx" --target-ip 192.168.31.xxx --target-port 5005
Building NVS configuration:
WiFi SSID: Xiaomi_xxxx
WiFi Password: *******************
Target IP: 192.168.31.xxx
Target Port: 5005
C:\ProgramData\anaconda3\python.exe: No module named nvs_partition_gen
Error generating NVS binary: Command '['C:\\ProgramData\\anaconda3\\python.exe', '-m', 'nvs_partition_gen', 'generate', 'C:\\Users\\xxx\\AppData\\Local\\Temp\\tmpfnx97zbj.csv', 'C:\\Users\\xxx\\AppData\\Local\\Temp\\tmpfnx97zbj.bin', '0x6000']' returned non-zero exit status 1.
Fallback: save CSV and flash manually with ESP-IDF tools.
Saved NVS CSV to nvs_config.csv
Flash with: python $IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py generate nvs_config.csv nvs.bin 0x6000
(base) D:\Download\ESP32-S3 CSI Firmware v0.2.0>python provision.py --port COM8 --filter-mac "xx:xx:xx:xx:xx:xx"
usage: provision.py [-h] --port PORT [--baud BAUD] [--ssid SSID] [--password PASSWORD] [--target-ip TARGET_IP]
[--target-port TARGET_PORT] [--node-id NODE_ID] [--dry-run]
provision.py: error: unrecognized arguments: --filter-mac xx:xx:xx:xx:xx:xx
(base) D:\Download\ESP32-S3 CSI Firmware v0.2.0>
Secondly, adding --source esp32 to Docker as instructed did not allow access to the UI page.
(base) D:\Download\ESP32-S3 CSI Firmware v0.2.0>docker run -p 8080:8080 -p 8765:8765 -p 3000:3000 -p 5005:5005/udp ruvnet/wifi-densepose:latest --source esp32
2026-03-03T08:19:19.312475Z INFO sensing_server: WiFi-DensePose Sensing Server (Rust + Axum + RuVector)
2026-03-03T08:19:19.312497Z INFO sensing_server: HTTP: http://localhost:8080
2026-03-03T08:19:19.312499Z INFO sensing_server: WebSocket: ws://localhost:8765/ws/sensing
2026-03-03T08:19:19.312500Z INFO sensing_server: UDP: 0.0.0.0:5005 (ESP32 CSI)
2026-03-03T08:19:19.312501Z INFO sensing_server: UI path: ../../ui
2026-03-03T08:19:19.312502Z INFO sensing_server: Source: esp32
2026-03-03T08:19:19.312505Z INFO sensing_server: Data source: esp32
2026-03-03T08:19:19.312506Z INFO sensing_server: Vital sign detector sample rate: 2.0 Hz
2026-03-03T08:19:19.312560Z INFO sensing_server: WebSocket server listening on 0.0.0.0:8765
2026-03-03T08:19:19.312562Z INFO sensing_server: UDP listening on 0.0.0.0:5005 for ESP32 CSI frames
2026-03-03T08:19:19.312629Z INFO sensing_server: HTTP server listening on 0.0.0.0:8080
2026-03-03T08:19:19.312638Z INFO sensing_server: Open http://localhost:8080/ui/index.html in your browser
(base) D:\>curl -I http://localhost:8080/ui/index.html
HTTP/1.1 404 Not Found
cache-control: no-cache, no-store, must-revalidate
content-length: 0
date: Tue, 03 Mar 2026 08:22:51 GMT
(base) D:\>curl -I http://localhost:8080/
HTTP/1.1 200 OK
content-type: text/html; charset=utf-8
cache-control: no-cache, no-store, must-revalidate
content-length: 494
date: Tue, 03 Mar 2026 08:22:58 GMT
(base) D:\>curl -I http://localhost:8080/ui
HTTP/1.1 404 Not Found
cache-control: no-cache, no-store, must-revalidate
content-length: 0
date: Tue, 03 Mar 2026 08:23:10 GMT
(base) D:\>curl -I http://localhost:8080/ui/
HTTP/1.1 404 Not Found
cache-control: no-cache, no-store, must-revalidate
content-length: 0
date: Tue, 03 Mar 2026 08:23:11 GMT
(base) D:\>curl http://localhost:8080/
<html><body><h1>WiFi-DensePose Sensing Server</h1><p>Rust + Axum + RuVector</p><ul><li><a href='/health'>/health</a> — Server health</li><li><a href='/api/v1/sensing/latest'>/api/v1/sensing/latest</a> — Latest sensing data</li><li><a href='/api/v1/vital-signs'>/api/v1/vital-signs</a> — Vital sign estimates (HR/RR)</li><li><a href='/api/v1/model/info'>/api/v1/model/info</a> — RVF model container info</li><li>ws://localhost:8765/ws/sensing — WebSocket stream</li></ul></body></html>
Have you actually tested the project yourself?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels