CDRouter 16.4

April 23, 2026


New Features

  • DHCPv6 Prefix Delegation only Clients: Added a new dhcpv6-pd-s module with new tests that verify that the DUT correctly assigns a valid IA_PD (non-zero prefix with a valid lifetime) to a DHCPv6 Prefix Delegation only LAN client requesting only an IA_PD (with no IA_NA) as described in RFC 9818. [sc46845]

    • dhcpv6_pd_server_1
    • dhcpv6_pd_server_2
    • dhcpv6_pd_server_3
  • TR-471 Verification Tests: Added two new verification tests to new tr471_functional_usp and tr471_functional_cwmp modules that check the DUT’s data model for the required TR-471 objects, parameters, and commands. These tests allow users to confirm that a speed test configuration will succeed without having to run a complete speed test. [sc47100]

    • tr471_functional_usp_1
    • tr471_functional_cwmp_1
  • Support for obudpst v7.X Servers: CDRouter now supports both obudpst v8.X and v7.X servers for TR-471 Speed Tests. The new tr471SoftwareVersion testvar selects the server version (default 8.2.1), and an Error_Timeout hint is logged when a version mismatch is detected between the DUT and the configured server. [sc46822]

  • USP Service Authentication and Registration Tests: Added a new usp_services test module with UDS MTP Registration and Authentication tests that exercise Device.TestUDS.Register() and Device.TestUDS.Auth() to validate USP Service password-based authentication and Register ACLs over Unix Domain Sockets. A new USP Services section has been added to the USP User Guide. [sc46617] [sc46618]

  • uspAgentID Auto-Discovery: The uspAgentID testvar now accepts a value of auto, which tells CDRouter to automatically discover the USP Endpoint ID and agent path from the DUT’s Connect record. This eliminates the need to configure a unique uspAgentID and uspAgentPath for each DUT. The discovered EID is written to the test log, and auto-discovered values are also used when configuring secondary USP controllers. The uspWaitForConnectRecord testvar controls whether CDRouter waits for a Connect Record during startup; set it to no for legacy agents that do not send Connect Records. [sc43468]

  • TR-181 Data Model 2.20: Updated CDRouter to support the TR-181 Data Model 2.20.1 (previously 2.19.1). All new 2.20 parameters and objects are incorporated in USP and CWMP test cases. [sc46608]

  • prplWare 4.2 Data Model: Added support for the prplWare 4.2 data model in prpl HL-API testing. [sc46868]

  • prplWare 4.2 TestList: prplWare 4.2 Certification testlists are now available. This testlist is a collection of test cases for prpl Foundation prplWare certification. This collection of tests are the recommended test cases to execute as documented in the HL-API and prplOS Network Functionality Test Plans. Additional conditional tests can be selected for certification based on the device’s support for advanced prplWare features. [sc47125]

  • prplOS LAN Device.Hosts Tests: Added nine new tests in the prplos.tcl module covering LAN Device.Hosts verification for prplWare 4.2. [sc46867]

    • prplos.1.7.1
    • prplos.1.7.2
    • prplos.1.7.3
    • prplos.1.7.4
    • prplos.1.7.5
    • prplos.1.7.6
    • prplos.1.7.7
    • prplos.1.7.8
    • prplos.1.7.9
  • Speed Test Optional Arguments: Added new testvars that control the optional TR-471 IPLayerCapacity Speed Test input arguments. The Speed Test now sends only the minimum required arguments (ServerList, Role) by default and exposes the advanced parameters via optional testvars. A warning is logged if the server configuration does not match the DUT. [sc46850]

Changelog

CDRouter

  • Updated the bundled Packet Viewer to 2026.04. [sc46620]

  • The DHCP Server and Client option testvars:

    Now default to the Vendor Specific Information Option using QA Cafe’s IANA Enterprise Number, so uncommenting the testvar in the configuration yields a safe default. [sc46863]

  • Added a new per-LAN group testvar mloDisable that disables Wi-Fi MLO on MLO-capable client cards (such as the Intel BE200). This is useful when the DUT advertises MLO on all SSIDs or when testing requires forcing single-link (SLO) association. [sc40864]

  • Addressed an issue in cdrouter_dhcp_51 where the WAN DHCP client was left in the wrong state during cleanup, which could cause false failures in cdrouter_dhcp_60 and other later DHCP tests. [sc46616]

  • Addressed false failures in the mcast test module when multicastBypassPPPoE is enabled. The NAT address and PPPoE source checks are now skipped so that devices that forward multicast over both PPPoE and IPoE no longer fail intermittently. [sc45350]

  • Added a small delay between mDNS queries in tests mdns_22 and mdns_24 to resolve sporadic failures when the DUT has recently sent the record. [sc46823]

  • Added a note to the cdrouter_upnp_210 and cdrouter_upnp_igd2_210 test descriptions documenting that the upnpMinSubTimeout testvar controls the UPnP subscription timeout used by the test. [sc46558]

  • Log filtering on the /api/v1/results/{id}/tests/{seq}/log endpoint is now applied before pagination, so limit/offset combined with filter parameters returns the expected paginated filtered results. [sc45729]

  • Addressed a panic in Packet Viewer’s qapcap.GetStats that could cause CDRouter to lose packet analysis until the service was restarted. [sc47048]

  • Updated the wireless libraries and improved reliability of Wi-Fi 7 MLO client association. The wifi_30 association test now runs the full 100 attempts rather than exiting early, and additional diagnostic information has been added to the connection log for MLO clients. [sc46864]

  • Addressed a fatal error when processing EAPOL key message 4 that occurred when multiple MLO clients on the same Band/SSID triggered a GTK/IGTK rekey. CDRouter now correctly handles MLO GTK/IGTK in EAPOL group key rekey. [sc46189]

  • Improved the “Ignoring EAPOL message, beacon/probe IE does not match key data” warning to include the specific mismatch, and promoted several EAPOL IE log messages from MSG_DEBUG to MSG_ERROR. [sc46015]

IPv6

  • The DHCPv6 Server and Client option testvars:

    Now default to the Vendor Specific Information Option using QA Cafe’s IANA Enterprise Number, so uncommenting the testvar in the configuration yields a safe default. [sc46863]

  • Test dhcpv6_56 is now automatically skipped in DHCPv6 relay setups, where the Decline and Duplicate Address Detection portion of the test cannot run when CDRouter is off-link. [sc46729]

  • Fixed a typo in the icmpv6_21 and icmpv6_22 test descriptions. [sc46696]

  • Added a small delay between mDNS queries in test ipv6_mdns_22 to resolve sporadic failures when the DUT has recently sent the record. [sc46823]

Performance

  • Updated bundled iPerf from 3.19.1 to 3.20, which picks up the upstream fix for an iperf3 segfault when -J is used without a JSON output file. Note the iperf auto mode for packet length is no longer supported by the upstream release. [sc46602] [sc35659]

prpl Certification

  • Updated the prplOS Test Plan reference from revision 1.2 to 1.3. [sc47125]
  • Updated prplos.1.6.19 to transmit an IPv6 Echo Request of size 1500 so that Host-1 replies with an Echo Reply of size 1500, and the test now verifies the ICMPv6 Packet Too Big message on the WAN interface as required by RFC 4443. [sc47103]
  • Updated prplos.1.3.19 to send the DHCPv6 Vendor Specific Information option as the sentOption. The enterprise number used in prplos.1.3.10 has also been updated to QA Cafe’s IANA number. [sc47121]
  • Updated the DHCP Option Tag in prplos.1.2.30 from 0104 to 04. [sc47104]
  • Addressed a fatal error in prplos.1.3.10 when the DHCPv6 Vendor-Specific Information value check failed. [sc47149]
  • Updated prplos.1.2.24 to release LAN clients at the start of the test so that the test’s chosen DHCP pool no longer overlaps with the addresses the LAN clients received during setup. [sc46472]
  • Added a missing fail message in dhcpv6_pd_20 so that the test reports a proper FAIL when the DUT has no IA_PD binding at the start of the test. [sc47133]
  • Improved the log message in the prpl_hl-api writable-parameter tests when required objects are missing from the profile. Previously the test reported a misleading “Could not determine writeable parameters” message. [sc46878]

Security

  • Updated the ET Open ruleset in the CDRouter Security expansion to 11172. [sc46631]

Speed Test

  • Addressed a fatal error in the CWMP TR-471 tests. [sc46839]
  • Addressed an issue with TR-471 speed tests reporting a false failure due to 0.01 Mbps floating-point rounding between the DUT-reported and server-recorded rates. A log message typo has also been corrected. [sc46993]

TR-069

  • Addressed an issue in tr69_131 introduced in 16.3 where the test did not correctly wait for the TransferComplete RPC after a firmware Download. [sc46932]
  • Addressed an issue in tr69_400 where the expected number of entries in the Device.IP.Diagnostics.TraceRoute.RouteHops table was incorrectly adjusted when the DUT was in bridge mode. [sc46122]
  • Addressed a fatal error in tr69_annex_n_37. [sc47117]
  • Updated tr69_dns_sd_1 to send a GetParameterNames RPC with NextLevel=0 so that the Service.{i}. objects under Device.DNS.SD. are returned. [sc40081]
  • Updated tp181_test_5.6.15 to include Wi-Fi scan results in the log when the test detects that the DUT is still broadcasting an SSID after the SSID and AccessPoint objects have been deleted. [sc34370]

USP

  • Added a config check error when uspControllerIpMode is set to ipv6-only but supportsIPv6 is set to no. [sc46532]
  • Updated usp_conformance_2_18 to accept a USP operate_resp with cmd_failure{ error_code 7006 } (Permission Denied) when the DUT correctly rejects a Reboot() after a new Device.LocalAgent.ControllerTrust.Role.{i}.Permission disallows it. [sc46132]
  • Addressed duplicate MQTT message logging after a DUT reboots without sending a clean MQTT DISCONNECT. The MQTT server now cleans up stale subscriptions from previous sessions when a new CONNECT is received. [sc47028]

CDRouter 16.3

March 26, 2026


New Features

  • Speed Test: The Speed Test expansion has been introduced. CDRouter’s Speed Test expansion addresses deficiencies of TCP-based speed tests by implementing OB-UDPST, the open-source UDP-based test tool defined in the Broadband Forum TR-471 specification.

    Traditional TCP-based speed tests mask true network behavior by hiding packet loss, jitter, and latency. CDRouter acts as the OB-UDPST server and validates the full lifecycle of TR-471 speed test operation, providing an insight into real network operation.

    CDRouter makes the entire process seamless, and controls all aspects of testing:

    • activating tests via TR-069 or USP
    • measuring WAN-side throughput, latency, jitter, and packet loss
    • verifying that results are correctly reported through the TR-181 data model.

    All 816 tests run in a fully automated, repeatable environment without relying on third-party servers or custom test infrastructure. For details on licensing, please contact sales@qacafe.com.

  • IPv6 Atomic Fragments: Added two tests to the frag-v6 module that verify the proper handling of IPv6 atomic fragments as required in RFC 8200. [sc44694]

    • ipv6_frag_4
    • ipv6_frag_5
  • Packet Too Big Message: Added two tests to the icmpv6 module that verify ICMPv6 Packet Too Big messages are processed by the WAN interface as required in RFC 8201. [sc44698]

    • icmpv6_21
    • icmpv6_22
  • User Defined Certificates for USP Bulk Data: New testvars uspBulkDataServerDomain, uspBulkDataServerCertPath, and uspBulkDataServerCaCertPath allow the user to configure the domain name and certificates for the bulk data server for tests in usp_annex_a and usp_conformance section 10. [sc33204]

  • TR-69 ScheduleDownload RPC: Added five new tests for verifying the ScheduleDownload RPC in the tr69 module. [sc16042]

    • tr69_133
    • tr69_134
    • tr69_135
    • tr69_136
    • tr69_137

Changelog

BBF.069

  • Updated test 5_097_DUT_properly_encodes_and_decodes_XML_entities to restore ACS Username and Password to configured values. [sc46111]

CDRouter

  • Improved wifi_10 to warn users if Protected Management Frames (PMF) is not enabled when using WPA3 and to skip this combination. Previously this was marked as a FAIL. [sc45753]
  • Updated the WAN PPPoE server to exclude the PPP-Max-Payload tag in PADO/PADS packets when pppoeMaxPayload is none. [sc31727]

IPv6

  • Tests dhcpv6_pd_27 and dhcpv6_pd_28 will now be skipped if the testvar ipv6WanMode is not set to DHCP. [sc45468]
  • Addressed an issue with DHCPv6 Server unexpectedly losing the DUT IA_NA assignment. [sc45582]
  • Updated test ipv6_mdns_24 to have a small delay between mDNS messages. [sc45192]

Performance

  • Addressed an issue with the tests in the perf_dscp_fixed modules that limited the bandwidth to 1 Mbps. [sc45997]

prpl Certification

  • Added a grace period to DHCPv6 message timeouts in tests prplos.1.3.2 - prplos.1.3.9. [sc45692] [sc42393]
  • Updated the DHCPv6 User Class Option in prplos.1.3.9. [sc45692]
  • Improved logging in the DHCPv6 client tests in Section 3. [sc45692]
  • Fixed an issue that prevented DHCPv6 Rapid Commit options from being detected in prplos.1.3.4. [46370]
  • Fixed an issue with test prplos.1.3.21 when verifying the list of DHCPv6 prefixes. [sc45840]
  • Added DNS Servers and Routers parameters when adding a new DHCPv6 pool in tests prplos.1.2.20 to prplos.1.2.24. [sc45690]
  • Updated prplos.1.2.26 to reset the DHCP clients at the end of the test. [sc45672]

Security

  • Updated the ET Open ruleset in the CDRouter Security expansion to 11150. [sc45533]

TR-069

  • Addressed an issue with tr143_http_7 reporting negative throughput under certain conditions. [sc45441]

USP

  • Updated tests in the usp_conformance and usp_legacy_1_3 modules to utilize the testvar RestartDut instead of the USP Reboot() command to avoid requiring support for that optional feature. [sc45668]
  • Tests usp_diagnostics_1 and usp_diagnostics_2 are now skipped if IPv4 is not enabled. [sc45891]
  • Updated the certificate used in usp_conformance_9_2. [sc46106]
  • Added a reboot after resetting the clientID as part of the cleanup in the usp_conformance_11_4 test. [sc44110]

CDRouter 16.2

February 26, 2026


New Features

  • DHCPv6 Server IA Interactions: Added a new module dhcpv6-IAs-s in the IPv6 expansion with four new test cases for testing DHCPv6 Server IA interactions based on RFC 9915. [sc45155]

    • dhcpv6_IAs_server_1
    • dhcpv6_IAs_server_2
    • dhcpv6_IAs_server_3
    • dhcpv6_IAs_server_4
  • prplWare Testlists: Two new prplWare testlists are now available. These testlists are a collection of test cases for prpl Foundation prplWare certification. This collection of tests are the recommended test cases to execute as documented in the HL-API and prplOS Network Functionality Test Plans. Additional conditional tests can be selected for certification based on the device’s support for advanced prplWare features.

Changelog

BBF.069

  • Updated the following tests to set both A and AAAA records when updating DNS in the BBF.069 expansion. [sc37509]
    • 5_001_DHCPv4_ACS_discovery
    • 5_009_Persistent_TCP
    • 5_010_Multiple_TCP_conn
    • 5_012_DHCPv4_null_term_URL
    • 5_038_basic_authentication
    • 5_039_QOP_authentication
    • 5_040_digest_authentication
  • Addressed an issue with 1024-bit certificates not working with XMPP connections. [sc45833]

CDRouter

DOCSIS

  • Added two new testvars, docsisIpv4TftpProxy and docsisIpv6TftpProxy, to allow a TFTP proxy to download the DOCSIS config file. CDRouter will automatically add routes to make these addresses reachable. [sc44970]

IPv6

  • The A and O flags can now be set independently in Router Advertisements on the WAN. [sc44423]
  • Fixed an error in test ipv6_firewall_513 that occurred when the DUT transmits a DHCPv6 Release message. [sc43768]

Performance

  • Fixed an issue that prevented performance graphs from displaying for results created prior to CDRouter 10.0. [sc45721]

prpl Certification

  • Updated prplos.1.1.3 to allow a delay for the port to be enabled. [sc45822]
  • Updated tests prplos.1.4.2 - prplos.1.4.5 to remove the set of Device.DNS.Client.Server.{i}.Type, which is a read-only parameter. [sc45780]

Security

  • Updated the ET Open ruleset in the CDRouter Security expansion to 11127. [sc45533]

TR-069

  • Renamed the tr111_part_1 and tr111_part_2 modules to tr69_annex_f and tr69_annex_g. [sc8878]
  • Fixed an issue that caused CDRouter to loop indefinitely when an XMPP Connection Request failed. [sc43804]
  • Test tp181_test_5.3.1 will now allow a list of interfaces in the LowerLayers parameter. [sc45165]

USP

  • Updated usp_conformance_9_2 to reboot the Agent after adding a new certificate. [sc45695]

CDRouter 16.1

January 29, 2026


New Features

  • DHCPv6 Client IA Interactions: Added a new module dhcpv6-IAs-c in the IPv6 expansion with five new test cases for testing DHCPv6 Client IA interactions based on RFC 7550/8415. [sc12890]

    • dhcpv6_IAs_client_1
    • dhcpv6_IAs_client_2
    • dhcpv6_IAs_client_3
    • dhcpv6_IAs_client_4
    • dhcpv6_IAs_client_5
  • TR-069 DUStateChange RPC Tests: Added three new tests in the tr69 module for verifying DUStateChange. [sc8058]

    • tr69_500
    • tr69_501
    • tr69_502
  • TR-69 Firmware Upgrade: Added a new test tr69_132 in the tr69 module for testing firmware upgrades and downgrades and for verifying the VALUE CHANGE event. [sc19789]

  • Web UI Browser Tab Title: Added the ability to show the host name in the page title instead of “CDRouter”.

This is configurable under: “System > Preferences > Show Hostname in Page Title”. [sc37265]

Changelog

CDRouter

  • Removed obsoleted testvars from the config dictionary. [sc11403]
  • Made the “View Config” page more consistent with other page navigation, and improved “Edit Config” styling for clarity. [sc18370]
  • Fixed an error in parsing the correct data length from the EAPOL RSN MLO Link Data. [sc42837]
  • Improved connection log information for Wi-Fi clients using MLO. [sc43919]
  • Fixed an error in EAPOL Message 2 to not include the active link in the list of MLO Link KDE. [sc42604]
  • Added a check for answer records before trying to access an answer record in test mdns_24. [sc33840]
  • Improved logging in ICMP tests when wanPingRespond or ipv6WanPingRespond are no.

IPv6

  • Updated dhcpv6-s module to wait 3 times the testvar dhcpv6ClientTimeout before timing out the DHCPv6 Client. [sc45107]

prpl Certification

  • Added a 5 second delay between the USP Get and Set messages in prplos.1.1.1 - prplos.1.1.3. [sc44643]
  • Removed a fatal error that occurred in cleanup of test prplos.1.2.29. [sc45213]

RvR

  • Enhanced cdrouter-attenuator diagnostics and recovery. [sc44143]

Security

  • Updated the ET Open ruleset in CDRouter Security expansion to 11099. [sc44646]

TR-069

  • Updated acs-download.cdroutertest.com.pem and acs.cdroutertest.com.pem certificate with new expiration date of January 2027. [sc44905]
  • Fixed an issue with ACS_process_inform when called long after receiving a session. [sc39544]
  • Added Device.BulkData.Profile.{i}.Protocol parameter to the SetParameterValues in tr69_annex_n module. [sc44311]

USP

  • Updated wildcard.cdroutertest.pem certificate with new expiration date of January 2027. [sc44905]
  • Removed deleted profile versions from tests in the od128, tr143_http, tr111, tp181 and tr69 modules. These tests will now use the latest profile version that hasn’t been deleted. [sc43515]
  • Test usp_conformance_9_2 and usp_legacy_1_3_test_9_2 was improved to verify a TLS connection after a new certificate is added. [sc43775]
  • Updated test usp_conformance_11_2 to wait for an MQTT connection to be established before ending the test. [sc43748]
  • Addressed an issue with usp_profile_5 user defined profiles causing a loop. [sc44562]
  • Updated tests usp_profile_5 and cwmp_profile_6 to skip user defined profiles that have no objects to add or delete. [sc44562]
  • Addressed a race condition in usp_conformance_9_4 and usp_conformance_9_5. [sc43771]
  • Added a MQTT connection check to verify the connection has returned before sending a delete message in test usp_conformance_11_11. [sc43673]
  • Added 10 second delay to test usp_smm_30 and usp_smm_31 to allow time for USPServices table to update. [sc44179]
  • Test usp_conformance_11_12 will be skipped when the testvar RestartDut is set to none. [sc43558]

Golden Image 9.6

A new version of the NTA3000 operating system image, also known as the “Golden Image”, is now available!

Golden Image 9.6 Release Notes

This update improves system stability when running multi-client performance tests by removing support for 160 MHz channel widths in the 5 GHz and 6 GHz bands for the MediaTek Wi-Fi cards.

Upgrading is easy! Please contact support@qacafe.com for more information and help getting started.