CDRouter 16.9
September 24, 2026
New Features
- Stability and Memory View Enhancements: The Stability and Memory View now shows functional checks as a status bar across the whole run, shaded by how many checks failed, so you can see at a glance when the DUT started failing. [sc49686]
-
Ethernet Link Speed Tests: New tests verify that the DUT’s WAN and LAN Ethernet ports link up at each supported speed, from 10 Mbps to 10 Gbps, and perform a LAN-to-WAN connectivity check at that speed. Speeds the CDRouter system does not support are skipped automatically. [sc16806]
cdrouter_link_speed_wan_10000Mbpscdrouter_link_speed_wan_5000Mbpscdrouter_link_speed_wan_2500Mbpscdrouter_link_speed_wan_1000Mbpscdrouter_link_speed_wan_100Mbpscdrouter_link_speed_wan_10Mbpscdrouter_link_speed_lan_10000Mbpscdrouter_link_speed_lan_5000Mbpscdrouter_link_speed_lan_2500Mbpscdrouter_link_speed_lan_1000Mbpscdrouter_link_speed_lan_100Mbpscdrouter_link_speed_lan_10Mbps
-
MemoryStatus Functional Tests: New USP and CWMP tests verify that the DUT correctly reports its memory usage through
Device.DeviceInfo.MemoryStatus.and raises alerts through theMemoryMonitor.object when memory crosses a critical threshold. Runmemory_functional_usp_1ormemory_functional_cwmp_1to confirm a DUT is ready for the memory tests in the Stability and Memory expansion. [sc48633]memory_functional_usp_1throughmemory_functional_usp_9memory_functional_cwmp_1throughmemory_functional_cwmp_9
-
Wi-Fi 7 MLO Association Stress Tests: Added new tests to the
wifi7module that run 100 disassociate/re-associate cycles with MLO enabled, verifying on every cycle that the client comes back with an MLO association. The paced variants add a fixed delay between cycles, so comparing a pair shows whether a DUT cannot reassociate at all or cannot reassociate that quickly. [sc49137]wifi7_30- first MLO clientwifi7_31- first MLO client, pacedwifi7_300- all MLO clientswifi7_301- all MLO clients, paced
-
Paced Wi-Fi Association Stress Tests: Added paced counterparts to
wifi_30andwifi_300for devices using a single-link connection. These tests add a fixed delay between reassociation cycles. [sc49407]wifi_31- paced counterpart towifi_30wifi_301- paced counterpart towifi_300
-
Stability LAN to LAN Memory Tests: Added new Stability and Memory tests that monitor the DUT’s memory while an iPerf stream runs between two of its LAN ports, rather than across its routing path. These tests require two physical LAN interfaces and are skipped otherwise. [sc47964]
stability_memory_usp_lan_bg_trafficstability_memory_usp_lan_bg_traffic_v6stability_memory_cwmp_lan_bg_trafficstability_memory_cwmp_lan_bg_traffic_v6
-
RFC 7217 SLAAC Tests: Added new tests to the
slaac-wanmodule that verify the DUT generates stable, semantically opaque interface identifiers for its WAN SLAAC addresses as described in RFC 7217. [sc19928]ipv6_slaac_wan_14- Verify DUT does not use an EUI-64 interface identifier for its SLAAC address on the WANipv6_slaac_wan_15- Verify DUT configures a different address after a DAD collision on the WANipv6_slaac_wan_16- Verify DUT uses a different interface identifier for each prefix on the WANipv6_slaac_wan_17- Verify DUT uses the same interface identifier for a prefix after a reboot
-
PPPoE DHCPv6 Restart Verification: The PPPoE client tests in the
pppoe-c-v6module now verify that the DUT restarts DHCPv6 after the PPPoE link goes down and comes back up, as required by RFC 9915 section 18.2.12. The DUT must send a Rebind/Confirm if its lease may still be valid, or may send a Solicit if the lease could have expired. The check is skipped when the WAN does not use DHCPv6. [sc10475]
Changelog
CDRouter
- The Stability and Memory View now shows a live elapsed time while a test is running. [sc49377]
- Log filters are once again retained when using the forward and back buttons to move between tests, and when switching to and from the Stability and Memory View. [sc49355]
- The Analyze Package and the Networks buttons now work as expected when the
systemDebugtestvar is set. [sc47649] - CDRouter now warns you when a
-testvaroverride will not reach other testvars in your config that are built from it, and lists the testvars that still use the original value. [sc49118] - The CDRouter package now declares its dependency on
iptables, so it is installed automatically if it is missing from the system. [sc49575] - Fatal wireless errors on the CDRouter system now fail only the affected tests instead of ending the test package. CDRouter runs its normal cleanup to restore the DUT and attempts to continue testing. [sc49211] [sc49501]
- Addressed a fatal error in
wifi_10and other wireless tests using legacy modes. Wireless security errors now report the underlying cause, and a routine deauthentication by the DUT no longer ends the test run. [sc49083] wifi_30andwifi_300now report accurate results when some clients fail to reassociate, including which clients failed and how often. A client the DUT drops is now retried on later cycles. [sc49407]wifi7_22andwifi7_23now require one MLO client instead of two. They now run on setups with a single MLO client, where they were previously skipped. [sc49137]- MLO clients now request every link the DUT advertises, even when a link was missed during the initial scan. Any link that cannot be used is reported in the log. [sc49260]
- Single-link wireless tests against a Wi-Fi 7 DUT now connect on the intended band. Wireless clients prefer the highest band with a strong signal, and fall back to the strongest signal otherwise. [sc49357]
- The MLO “Station Connected” log message now lists every link negotiated with the access point, including each link’s frequency and BSSID. Previously only one link was shown. [sc48053]
- The
guestandguest-v6module tests now explain in the log when a connectivity check is skipped because isolation was already confirmed. [sc22870] - Updated the
acsCertPath,acsDownloadCertPath,uspControllerMTPCertPath, anduspControllerUSPCertPathtestvar descriptions to refer to Sectigo, the issuer of the certificates included with CDRouter, instead of Comodo. [sc49825] - Fixed a typo in the
supportsIPv6MulticastOutandsupportsMulticastOuttestvar descriptions. [sc49182]
IPv6
dhcpv6_pd_131no longer fails DUTs that follow RFC 9096 by continuing to advertise the old prefix with zero lifetimes after a WAN disconnect. [sc49446]cpe_v6_47no longer fails on DAD packets not transmitted by the DUT. [sc48396]
Performance
- Addressed intermittent
TCP performance test ended unexpectedlyfailures and 0 Mbps results in performance tests when the DUT sends ARP probes to check for address conflicts. [sc49636]
prpl Certification
prplos.1.3.12now restarts DHCPv6 on the other active LAN clients when the DHCPv6 server pool is re-enabled. Previously, stale leases on those clients could cause later test cases to fail. [sc47660]prplos.1.3.7now waits for the DUT’s DHCPv6 client to recover during cleanup. Previously,prplos.1.3.8could fail intermittently if it started before recovery finished. [sc49263]prplos.1.3.14andprplos.1.3.15no longer fail when the DUT includes a non-success status code in the IA_NA or IA_PD option while offers are enabled. [sc49659]Device.Users.User.{i}.X_PRPLWARE-COM_HashedPasswordandX_PRPL-COM_HashedPasswordare now marked as secured in the USP and CWMP prplWare data model profiles. The prpl HL-API Set and SetParameterValues tests no longer attempt to set them. [sc49079]
RvR
- CDRouter now retries a dropped or unresponsive attenuator connection before
failing the test. The new
rfAttenuatorTimeouttestvar controls how long CDRouter keeps retrying. [sc49368] - RvR tests no longer fail when the attenuation read back from the attenuator
differs slightly from the requested value due to the resolution of the
attenuator. The
rfAAV_24,rfAAV_56, andrfAttenuationDbtestvars now accept integer values only. [sc49241] - The
rfAAV_24andrfAAV_56testvar descriptions now correctly cite TR-398 instead of TR-389. [sc49385]
Security
- Updated the ET Open ruleset in the CDRouter Security expansion from 11261 to 11292. [sc49306]
TR-069
- Addressed a fatal error when profiling a TR-069 DUT that reports a parameter with an unrecognized data type. CDRouter now logs a warning and continues testing. [sc49404]
tr69_alias_10now sends the data type the CPE reports for the discovered parameter in itsSetParameterValuesrequests, instead of always sendingstring. [sc48631]- The
tr69_wirelesstests now detect sooner that the DUT has stopped advertising an old SSID, instead of waiting for the full timeout. [sc4030] - The multi-connection IPv4 tests in the
tr143_httpandtr143_ftpmodules are now skipped whensupportsIPv4is set tono. [sc49574] - The “View Graph” button and TR-143 performance graph are now available for
tr143_ftptests. [sc49409]
USP
usp_factory_reset_1andusp_factory_reset_2no longer fail when the EUT correctly removes Controller-created subscriptions during a factory reset.usp_factory_reset_2now requires the EUT to have its own enabledDevice.Boot!subscription, and expects the Boot! event to reportRemoteFactoryResetas theCause. [sc48677]usp_21throughusp_27now only consider Notify messages from the test’s own subscription. Notifications from other subscriptions on the Agent could previously cause intermittent failures inusp_22andusp_23, or a false pass in the other tests. [sc49225]usp_conformance_8_7andusp_legacy_1_3_test_8_7now wait for the EUT to finish rebooting before continuing. Previously, the mDNS message an EUT sends as it shuts down could cause these tests to continue too early and fail. [sc49462]usp_conformance_8_6andusp_legacy_1_3_test_8_6now find the USP TXT record when the EUT sends it in the additional section of the mDNS response. [sc49049]usp_conformance_1_55andusp_legacy_1_3_test_1_55now wait an additional 5 seconds after the subscription’sTimeToLiveexpires before checking that it was removed. This avoids intermittent failures on Agents that remove expired subscriptions on a periodic timer. [sc48891]- The
usp_servicestests are now skipped whensupportsUSPis set tono, instead of ending the test run with a fatal error. [sc49008]
