# Guidance for TR143 Diagnostic features

**URL:** <https://forum.genieacs.com/t/guidance-for-tr143-diagnostic-features/5891>\
**Category:** Uncategorized\
**Created:** [August 29, 2024, 3:33am UTC](https://forum.genieacs.com/t/guidance-for-tr143-diagnostic-features/5891 "2024-08-29T03:33:20Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lokesh-rana](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/lokesh-rana/32/1912_2.png) [@lokesh-rana](https://forum.genieacs.com/u/lokesh-rana)\
**Post date:** [August 29, 2024, 3:33am UTC](https://forum.genieacs.com/t/guidance-for-tr143-diagnostic-features/5891/1 "2024-08-29T03:33:20Z")

</div>

Hello GenieACS Community,

First and foremost, I would like to express my gratitude to the developers of this amazing product and to the entire community here for the incredible support. I have learned so much from this platform.

I am currently working on implementing TR-069 for my organization, and after thorough research, I decided to use GenieACS due to its excellent fit with our requirements. Before starting this project three months ago, I had no prior knowledge of TR-069, but thanks to this community, I have made significant progress.

I am now seeking guidance related to the TR-143 diagnostic features, as I have encountered a few challenges. Below, I have provided parameter values from a download diagnostics test I performed, which involved multiple concurrent connections.

| Device.IP.Diagnostics.DownloadDiagnostics | |
| --- | --- |
| Device.IP.Diagnostics.DownloadDiagnostics.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.DSCP | 0 |
| Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState | Completed |
| Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxConnections | 10 |
| Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxIncrementalResult | 10 |
| Device.IP.Diagnostics.DownloadDiagnostics.DownloadTransports | HTTP |
| Device.IP.Diagnostics.DownloadDiagnostics.DownloadURL | [http://103.111.24.111:8088/files/100MiB.bin](http://103.111.24.111:8088/files/100MiB.bin) |
| Device.IP.Diagnostics.DownloadDiagnostics.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.EnablePerConnectionResults | true |
| Device.IP.Diagnostics.DownloadDiagnostics.EthernetPriority | 0 |
| Device.IP.Diagnostics.DownloadDiagnostics.IPAddressUsed | 103.210.25.53 |
| Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult | |
| Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResultNumberOfEntries | 0 |
| Device.IP.Diagnostics.DownloadDiagnostics.Interface | |
| Device.IP.Diagnostics.DownloadDiagnostics.NumberOfConnections | 10 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TotalBytesSent | 21897075233 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TotalBytesSent | 21897075835 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TotalBytesSent | 21897076007 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TotalBytesSent | 21897075921 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TotalBytesSent | 21897075921 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TotalBytesSent | 21897075663 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TotalBytesSent | 21897075577 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TotalBytesSent | 21897075491 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TotalBytesSent | 21897075577 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9 | |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.BOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.EOMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TestBytesReceived | 599 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TotalBytesReceived | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TotalBytesSent | 21897075577 |
| Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResultNumberOfEntries | 10 |
| Device.IP.Diagnostics.DownloadDiagnostics.PeriodOfFullLoading | 239 |
| Device.IP.Diagnostics.DownloadDiagnostics.ProtocolVersion | IPv4 |
| Device.IP.Diagnostics.DownloadDiagnostics.ROMTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenRequestTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenResponseTime | 8/28/2024, 10:46:26 PM |
| Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived | 5990 |
| Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceviedUnderFullLoading | 0 |
| Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration | 0 |
| Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval | 0 |
| Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset | 0 |
| Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived | 134864361000 |
| Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading | 136482733608 |
| Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent | 21897075233 |
| Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSentUnderFullLoading | 21897076007 |

**Questions:**

1. **Throughput Measurement** : How can I accurately measure throughput from the parameter values I received? For example:

- `Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived: 134,863,780,500`
- `Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading: 136,482,147,241`It appears that the CPE retains these parameter values, and I suspect that when a new request is made, the received bytes might be added to the previous values. However, I am unsure about this behavior.

1. **Time-Based Diagnostics Issue** : When I perform time-based diagnostics with the default values (0), the diagnostics complete successfully. However, when I set any parameter values, I encounter the following error:

- `Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState: Error_TransferFailed`For instance, with the following values:
- `Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration: 25`
- `Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval: 20`
- `Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset: 5`I have tried researching this issue online but have found it difficult to understand.

Any guidance or advice on how to proceed with these issues would be greatly appreciated.

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [August 29, 2024, 7:07pm UTC](https://forum.genieacs.com/t/guidance-for-tr143-diagnostic-features/5891/2 "2024-08-29T19:07:54Z")

</div>

You need to send an email to your vendor and let them know they are [violating the spec](https://cwmp-data-models.broadband-forum.org/tr-181-2-14-1-cwmp.html#D.Device:2.Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading). `TotalBytesReceived` and `TotalBytesReceivedUnderFullLoading` are uints, not strings.

![Screenshot 2024-08-29 at 10.58.03 AM](https://canada1.discourse-cdn.com/flex035/uploads/genieacs/original/2X/8/8f750f592faa5fe5398ace4dfc961119ab71765e.png)

`Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset` leave this at 0.

This rough code should help you calculate the test and total kbps

```auto
const now = Date.now();

const totalReceived = declare('Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived', {value: now})[0];
const testBytes = declare('Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived', {value: now})[0];

const startTime = declare('Device.IP.Diagnostics.DownloadDiagnostics.BOMTime', {value: now})[0];
const endTime = declare('Device.IP.Diagnostics.DownloadDiagnostics.EOMTime', {value: now})[0];

const totalSent = declare('Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent', {value: now})[0];

const diff = endTime - startTime;
const timeTakenInSeconds = diff > 0 ? diff / 1000 : 0;

// Divide by 8 to convert bytes to kilobytes
const totalKbps = ((totalReceived * 8) / timeTakenInSeconds) / 1000;
const testKbps = ((testBytes * 8) / timeTakenInSeconds) / 1000;

```

---

<div class="post-metadata">

**Author:** ![wizard](https://avatars.discourse-cdn.com/v4/letter/w/a87d85/32.png) [@wizard](https://forum.genieacs.com/u/wizard)\
**Post date:** [March 21, 2025, 3:29pm UTC](https://forum.genieacs.com/t/guidance-for-tr143-diagnostic-features/5891/3 "2025-03-21T15:29:42Z")

</div>

Sorry to bump an old thread.

Can you tell me where I would apply this script and would that then display the result in kbps somewhere within the Genie GUI after changing DownloadDiagnostics.DiagnosticsState to Requested & Completion?

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [March 21, 2025, 6:20pm UTC](https://forum.genieacs.com/t/guidance-for-tr143-diagnostic-features/5891/4 "2025-03-21T18:20:29Z")

</div>

This is a small fragment of what is needed to initiate tests, capture the results and display them. You will need to familiarize yourself with vparams, presets and provision scripts. More info can be found in the [docs](https://docs.genieacs.com/).
