From 99912e34aea141a621af67c0803f4ec0cf70d9e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Fri, 17 Apr 2026 18:59:45 +0200 Subject: [PATCH] PROVISORY: ci: cdrouter: OSPv2: switch USP MTP from MQTTv5 to WebSocket MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On the MXL25641-HDK-6 Mandatory Network Test Plan the prplos.1.2.9 test disables Device.DHCPv4.Server. and forces the DUT to renew its WAN IPv4 lease. After the renewal obuspa's MQTTv5 TCP socket to the CDRouter broker goes silently half-dead: the socket stays ESTABLISHED, but obuspa sends no PINGREQ (despite KeepAliveTime=60), does not arm SO_KEEPALIVE and does not reconnect, so every subsequent USP GET/SET times out. The regression is 66 tests (prplos.1.2.9-1.6.23) and was confirmed on a live bench; a manual Device.MQTT.Client.1.Enable false/true recovers the suite instantly. So lets workaround it by switching this one job to WebSocket MTP, mirroring what the Candidate sibling job already does. Other platforms are not affected and are intentionally left untouched. Revert this block once the system-level fix for the half-dead socket lands. References: PPW-1837 Assisted-by: claude:opus-4-7:1m-context Signed-off-by: Petr Štetiar --- .gitlab/cdrouter/mxl25641-hdk-6.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitlab/cdrouter/mxl25641-hdk-6.yml b/.gitlab/cdrouter/mxl25641-hdk-6.yml index 6909447e34..67b4e72719 100644 --- a/.gitlab/cdrouter/mxl25641-hdk-6.yml +++ b/.gitlab/cdrouter/mxl25641-hdk-6.yml @@ -172,6 +172,15 @@ prplWare-Smoke-Test-Suite MXL25641-HDK-6 eMMC: prplOS-Network-Test-Plan-Mandatory-v1.2.0 MXL25641-HDK-6 eMMC: <<: *mxl25641_certification + variables: + <<: *mxl25641_certification_variables + # PROVISORY workaround for PPW-1837: obuspa's MQTTv5 client does not detect + # a half-dead TCP socket after the WAN DHCP renewal in prplos.1.2.9, which + # then cascades into 65 follow-up USP GET/SET timeouts. Switch this job to + # WebSocket MTP (same as the Candidate sibling job below) until the system + # -level fix lands; revert this block then. + CDROUTER_CONFIG_USP_CONTROLLER_MTP: websocket + CDROUTER_DUT_INIT_USP_MTP_SCRIPT: .gitlab/scripts/dut-init/cdrouter-dut-configure-usp-ws.sh prplOS-Network-Test-Plan-Candidate-v1.2.0 MXL25641-HDK-6 eMMC: <<: *mxl25641_certification