CDRouter 16.10

October 22, 2026


New Features

  • WAN Down LAN Tests: New tests in the wan-link-down and wan-link-down-mp modules verify that LAN services such as ARP, DHCP, Wi-Fi, and LAN to LAN traffic keep working after the DUT reboots with its WAN unreachable, as happens during an upstream outage. [sc21461]

    • wan_link_down_arp
    • wan_link_down_dhcp_restart
    • wan_link_down_wifi_reassoc
    • wan_link_down_restore
    • wan_link_down_lan_broadcast
    • wan_link_down_lan_unicast
    • wan_link_down_lan_multicast
    • wan_link_down_lan_route_icmp
    • wan_link_down_lan_route_tcp
    • wan_link_down_lan_route_udp
    • wan_link_down_lan_ttl
  • Collapsible TR-069 and USP Messages: The log viewer now collapses each TR-069 and USP message to a one-line summary, so you can follow a management session without scrolling past long message bodies. Error codes appear in the summary, so a fault is visible without expanding the message. Click a summary to see the full message, or use Expand messages in the log toolbar to show them all. [sc48109]

  • TR-398 Issue 4 RvR Requirements: The Wi-Fi Range vs Rate tests now check results against the requirements in TR-398 Issue 4, including separate download and upload requirements for Wi-Fi 7 (802.11be). As Issue 4 requires, RvR tests now connect without MLO. RvR graphs now show separate download and upload requirement lines where the requirements differ, and use colors that are easier to tell apart. The 6 GHz 8 dB tests are renamed to 9 dB to match Issue 4; packages that use the old names keep working. [sc49834] [sc49688]

  • Wi-Fi Conditions in the Stability and Memory View: For wireless LAN clients, hovering over a point on the throughput graph in the Stability and Memory View now shows the 802.11 station info recorded with that measurement: the channel, signal strength, and receive and transmit rates with their MCS. This shows whether a drop in throughput came with a change in Wi-Fi conditions. Runs with multiple clients show the values for each client. [sc49660] [sc49661]

Changelog

CDRouter

  • Fixed an issue that prevented editing a tag when a locked item has the same tag. [sc47427]
  • The cdrouter-cli -web option is deprecated and will be removed in CDRouter 17.1. [sc49879]
  • start and final now have documentation pages. [sc49380]
  • The Advanced Filter picker in the log viewer has a cleaner, more compact layout. [sc49510]
  • Running several test packages at once on the same CDRouter system no longer causes an intermittent fatal error at the start of a package. This could happen when another package was changing network interfaces, such as during Wi-Fi reassociation tests. [sc49956]
  • You can now run the dyndns tests against DynDNS clients that look up their own hostname in DNS before sending an update. Set the new dynDnsPrePopulateHostname testvar to yes to have CDRouter create a DNS record for dynDnsHostname before testing starts. [sc47213]
  • Addressed an intermittent fatal wireless error when a LAN client connects to a WPA3 network on 5 GHz. Previously, the test package could end with Unexpected event=scan-results even though the DUT was accepting the connection. [sc49599]
  • MLO clients no longer fail the 4-way handshake when the access point sends link information for more links than the client set up. [sc50297]
  • Wireless tests that need a specific band no longer fail with a no-viable-stack error when a LAN client reconnects on a different band partway through a package. CDRouter now moves the client back to a band the test can use. When the error does occur, it now names each LAN interface checked and the requirement it did not meet. [sc49688]
  • 802.11ac tests are now skipped when the LAN client supports 802.11n on 5 GHz but not 802.11ac. Previously, these tests ran and failed to associate. [sc50216]
  • wifi7_1 through wifi7_3 now test their band over the MLO connection, using TID-to-Link Mapping (TTLM) to move traffic onto that band’s link. Previously, they were skipped unless the client was connected on that band. They require a DUT that supports TTLM. wifi7_10 through wifi7_12 now stay on the band they test. The wifi7 module now requires an MLO connection and NTA Golden Image 10.2 (releasing later this year). [sc49625] [sc49688]
  • Updated the RLM license library from 17.0.1 to 18.0BL1. [sc46604]
  • Updated net-snmp from 5.9.4 to 5.9.5.2, which addresses CVE-2025-68615. [sc46605]

IPv6

  • Updated the test descriptions for cpe_v6_10, cpe_v6_22, cpe_v6_23, and cpe_v6_24 in the cpe-v6 module to state a Hop Limit of 1 instead of 2, matching what the tests send. Only the descriptions changed; test behavior is the same. [sc48224]
  • Updated the test references for cpe_v6_22 through cpe_v6_27. cpe_v6_22, cpe_v6_23, and cpe_v6_24 now name RFC 6724 instead of RFC 6704, and cpe_v6_25, cpe_v6_26, and cpe_v6_27 now cite RFC 7084 section 4.1. Only the references changed; test behavior is the same. [sc48225]

Performance

  • Performance test logs for MLO clients now show the BSSID and client address used on each MLO link, so you can tell which access point radio each link connected to. Each link is listed on its own row with its frequency. [sc50209]

prpl Certification

  • prpl_hl-api.1.5 and prpl_hl-api-cert.1.5 can now verify that every sub-parameter required by the prpl TR-181 profile exists after an object is added. Set the new prplVerifyAddedParametersUSP testvar to yes to enable this check. Profile verification failures now name the missing parameters. [sc32033]
  • Later tests such as prplos.1.5.13 no longer fail when run after prplos.1.3.12 or prplos.1.3.13. Those tests now restart DHCPv6 on every LAN client after re-enabling the DHCPv6 server pool. Previously, a new LAN client could be given an IPv6 address that was still in use. [sc50338]
  • prplos.1.2.10 now allows a larger grace period for the DHCP lease to expire and the DUT to send a new DHCP Discover. [sc50310]
  • prplos.1.2.11, prplos.1.2.12, and prplos.1.2.19 through prplos.1.2.23 now make sure the DUT’s DHCPv4 server settings are restored, and fail if they are not. Previously, a failed restore could cause later packages to fail. [sc50464]

RvR

  • Updated the RvR tests to support the interface names in NTA Golden Image 10.2. [sc49691]
  • Reduced intermittent attenuator errors in RvR tests that use an Adaura attenuator. [sc50249]
  • The Mean, Maximum, and Minimum summaries on the RvR Visualize page now show correct values in both the graph and the measurement table. Previously, all three showed the first measurement at each attenuation step. The table can also now be sorted by Throughput, and rows with the same value stay in a consistent order. [sc50169]
  • The attenuator is now released as soon as an RvR test package finishes, so the next package that needs it can start sooner. Packages also no longer overlap on the same CDRouter instance while one is shutting down. [sc50205]

Speed Test

  • The Speed Test tests now support DUTs with OB-UDPST v9 clients (RFC 9946). The defaults have changed: tr471SoftwareVersion is now latest, the newest OB-UDPST server included with CDRouter (currently v9.1.0), and speedTestPort is now 24601. Previously they were 8.2.0 and 25000. If the DUT’s client uses the old default port, which OB-UDPST v8.x clients do, set speedTestPort to 25000. If the client only supports protocol version 10, set tr471SoftwareVersion to 8.2.0. [sc49826]

Stability and Memory

  • The Stability and Memory View graphs can now show the time of day instead of the elapsed time, so you can match a change in the graph to the DUT’s own logs. Select “Show time of day” above the graph to switch. [sc49663]
  • The breadcrumbs and result header in the Stability and Memory View now stay at the top of the page as you scroll. [sc49666]

TR-069

  • Time-based tests in the tr143_http and tr143_ftp modules no longer create multi-gigabyte transfer files on high-speed links. The new tr143HttpTimeMaxTransferSize testvar limits the transfer size, 1 GB by default. A fast DUT may finish the transfer before the test duration ends; raise the limit if this happens. [sc49929]

USP

  • Corrected how the USP Controller signs USP Records, and the certificate it sends with signed records no longer includes its private key. The record signature tests in the usp_conformance and usp_legacy_1_3 modules are now skipped when the Controller is not set up to sign or verify records. [sc49854]
  • CDRouter now accepts USP Endpoint IDs that use the fqdn authority scheme, and oui authority IDs of 7 or 9 characters. Previously, these Endpoint IDs were rejected as invalid. [sc49819]
  • usp_profile_1 and usp_profile_2 in the usp_datamodels module now also report any parameter whose type, as reported by the Agent, does not match your data model. When both the TR-069 and USP expansions are enabled, cwmpDataValidation now applies to TR-069 tests and uspDataValidation to USP tests. Previously, uspDataValidation was used for both. [sc38571]
  • The USP Controller now uses TCP offload for the WebSocket MTP when uspControllerUseTcpOffload is set to yes, the default. [sc39464]
  • CDRouter no longer stops handling packets while verifying large USP and TR-069 profiles. Previously, CDRouter could miss the EUT’s DHCP renewals during verification, causing the next test to fail. [sc48367]
  • The WebSocket Controller URL that CDRouter advertises through DHCP now uses the ws or wss scheme instead of http or https. [sc49864]
  • usp_conformance_1_78, usp_conformance_2_9, usp_conformance_2_27, usp_conformance_9_9, and their usp_legacy_1_3 versions no longer fail on dual-stack setups when the Agent tries to reach the second Controller over IPv6. These tests now run the second Controller on both IPv4 and IPv6 when supportsIPv6 is set to yes. [sc50434]
  • usp_conformance_11_11 and usp_legacy_1_3_test_11_11 now start the 60-second SUBSCRIBE timer when the EUT reconnects after rebooting. Previously, a message the EUT sent before rebooting could start the timer early and cause the test to fail. [sc50114]
  • usp_conformance_8_7 and usp_legacy_1_3_test_8_7 no longer add an extra byte to the mDNS PTR query. [sc50436]
  • usp_conformance_8_7 no longer fails immediately when the EUT’s link goes down during its reboot. The test now waits up to uspRebootTimeout for the EUT’s mDNS announcement. usp_conformance_8_5 through usp_conformance_8_7 also no longer misread mDNS responses that contain 8 or more records. [sc50488]