From b0370f7bb3db5d9937c0b93660edb7e0a28cf1ee Mon Sep 17 00:00:00 2001 From: diijkstra <16804536+diijkstra@users.noreply.github.com> Date: Thu, 19 Mar 2026 19:23:19 +0100 Subject: [PATCH 1/2] Doc: Describe how to upload firmware via CLI & HTTP Rough explanation how to upload a new firmware. Probably, we should support basic auth on upload for easier use, but lets document what we have. --- doc/automation.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 doc/automation.md diff --git a/doc/automation.md b/doc/automation.md new file mode 100644 index 0000000..c63ac9b --- /dev/null +++ b/doc/automation.md @@ -0,0 +1,32 @@ +# Automation + +## Upload + +You can automate upload of the firmware via WEB with curl: + +1. Authorize with /login endpoint and save cookie: + + ```bash + curl -c cookies.txt http://${SWITCH_IP}/login -d pwd=${PASSWORD} -i + ``` + + This will save session cookie in cookies.txt +2. Send the firmware via form: + + ```bash + curl -b cookies.txt http://${SWITCH_IP}/upload -F "uploadedfile=@${FIRMWARE_FILE_PATH}" -i + ``` + + You can expect that server will close connection, without responding to request. + Wait for SWITCH_IP to be responding again. + +## Port status + +In similar way to upload, you can fetch the json status of the ports. + +1. Get the session cookie as for upload. +2. Hit the `/status.json` with cookie: + + ```bash + curl -b cookies.txt http://${SWITCH_IP}/status.json + ``` From 905cf38f1fe2b13b90227685eb1df88328ac4221 Mon Sep 17 00:00:00 2001 From: diijkstra <16804536+diijkstra@users.noreply.github.com> Date: Sat, 14 Mar 2026 18:54:40 +0100 Subject: [PATCH 2/2] Trendnet: Another mapping fix Physical to logical mapping was reverted for SFP ports. --- machine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine.c b/machine.c index 7c924b1..4671eeb 100644 --- a/machine.c +++ b/machine.c @@ -326,7 +326,7 @@ __code const struct machine machine = { .max_port = 8, .n_sfp = 2, .log_to_phys_port = {0, 0, 0, 6, 1, 2, 3, 4, 5}, - .phys_to_log_port = {4, 5, 6, 7, 3, 8, 0, 0, 0}, + .phys_to_log_port = {4, 5, 6, 7, 8, 3, 0, 0, 0}, .is_sfp = {0, 0, 0, 1, 0, 0, 0, 0, 2}, .sfp_port[0].pin_detect = GPIO38, .sfp_port[0].pin_los = GPIO50_I2C_SCL2_UART1_TX,