Skip to content

Commit daec7c4

Browse files
committed
review: README upgrade status reflects hardware validation
Finding 1 (Qodo) also pointed at README: the API table said 'mock-validated only' and the device-support section said upgrade_firmware is 'intentionally never run against a device' — both now contradicted the validated flow. Moved firmware upgrade into 'Verified on hardware' (flashed OpenIPC on a GK7205V510 end-to-end), kept the destructive/confirm=True warning.
1 parent 30b7693 commit daec7c4

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

‎README.md‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ dhip 10.0.0.10 -u admin -P admin54321 -m configManager.getConfig --params '{"nam
156156
| `get_channel_titles` / `set_channel_title(text, ch)` | `configManager` `ChannelTitle` | OSD title overlay |
157157
| `get_osd(ch)` / `set_osd(data, ch)` | `configManager` `VideoWidget` | OSD overlay layout/covers |
158158
| `find_files(start, end, ch)` | `mediaFileFind.*` | list recordings (returns `FilePath`…) |
159-
| `firmware_state()` / `upgrade_firmware(path, confirm=True)` | `upgrader.*` | ⚠️ upgrade is reconstructed + can brick; mock-validated only |
159+
| `firmware_state()` / `upgrade_firmware(path, confirm=True)` | `upgrader.*` | ⚠️ writes device partitions (can brick); flashed OpenIPC end-to-end on a GK7205V510 |
160160
| `dahua.discover(timeout)` | `DHDiscover.search` (multicast) | LAN device discovery (needs L2 adjacency) |
161161
| `HttpMediaClient.record(...)` / `download_file(path, out)` | HTTP `streamReader.*` / `RPC_Loadfile` | live video → DHAV / recorded-file download (HTTP transport) |
162162

@@ -222,15 +222,19 @@ what is reconstructed and covered only by the offline test suite.
222222
converts via the configurable `ptz_location_fullscale` / `ptz_tilt_span_deg`.
223223
- Snapshot (HTTP CGI) and **RTSP** live capture (`record_rtsp`).
224224
- `eventManager.attach` handshake.
225+
- Firmware upgrade over DHIP: `firmware_state()` and `upgrade_firmware()`
226+
(`upgrader.prepare` → chunked `appendData` → `execute`) flashed an OpenIPC
227+
package onto a GK7205V510 end-to-end and rebooted into it. **Destructive** —
228+
requires `confirm=True` and a package built for the exact target.
225229

226230
**Reconstructed / covered by the offline tests only**
227231

228232
- Event *delivery* parsing (`client.notifyEventStream`), multi-fragment binary
229233
reassembly, and `HttpMediaClient` (`RPC_Loadfile`) — exercised against the
230234
fake servers in `tests/`, since not all firmwares expose these paths.
231-
- `find_files` / `download_file`, `discover` (needs L2 adjacency), and
232-
`upgrade_firmware` — the last is **destructive**, requires `confirm=True`, and
233-
is intentionally never run against a device.
235+
- `find_files` / `download_file` and `discover` (needs L2 adjacency) —
236+
exercised against the fake servers in `tests/`, since not all firmwares expose
237+
these paths.
234238

235239
Feature-specific wire details that may vary between firmwares (the RTSP path
236240
template, the `RPC_Loadfile` request) are kept in one place each so they are easy

0 commit comments

Comments
 (0)