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 + ``` 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,