> For the complete documentation index, see [llms.txt](https://docs.bluefletch.com/bluefletch-enterprise/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bluefletch.com/bluefletch-enterprise/product-guides/support-application/sa-6/features/network-diagnostics.md).

# Network Diagnostics

Covers Speed Test, the dedicated Network Test, and Wi-Fi Signal Test — three related but distinct on-device network tools.

#### Speed Test

**Location**: `utils/SpeedTestHelper.kt`, `ui/speedtest/SpeedTestScreen.kt`.<br>

Measures download/upload throughput against `speedTestUrl` (and ping against `speedTestPing`). Fires the `speedtest` event with results. Can be hidden from the Dashboard via `allowSpeedTestUI=false`.

#### Signal Test

*New feature in SA6 \*\*will provide which specific version introduced*

**Location**: `utils/NetworkTestHelper.kt`, `utils/NetworkTestHandler.kt`, `utils/NetworkTestSession.kt`, `ui/networktest/NetworkTestResultsScreen.kt`, `ui/networktest/NetworkTestEndpointDetailScreen.kt`, `workers/PeriodicNetworkTestWorker.kt.`

\
Tests reachability/latency against a list of endpoints (BlueFletch-provided plus org-configured), independent of the throughput-focused Speed Test. Can run on-demand from the UI or on a schedule via `PeriodicNetworkTestWorker`. Fires the `networktest` event. SA5 had no equivalent dedicated feature — its only reachability check was the ping embedded in Speed Test.

#### Wi-Fi Signal Test

**Location**: `ui/signaltest/SignalTestScreen.kt`.

\
Displays live Wi-Fi signal strength, useful for on-site coverage troubleshooting (e.g. "is this dead zone actually weak signal or something else").

#### Configuration

| Configuration                    | Type           | Default | Description                                                                                                                                                             |
| -------------------------------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| speedTestUrl                     | String         | -       | URL used for download/upload throughput testing                                                                                                                         |
| speedTestPing                    | String         | -       | URL used for ping during Speed Test                                                                                                                                     |
| allowSpeedTestUI                 | Boolean        | true    | Show/hide the Speed Test button on the Dashboard                                                                                                                        |
| periodicNetworkTest.enable       | Boolean        | -       | Enables scheduled (non-interactive) Network Test runs via `PeriodicNetworkTestWorker`                                                                                   |
| periodicNetworkTest.interval     | Integer(hours) | 4       | Interval between scheduled runs, clamped to 2–24 hours                                                                                                                  |
| periodicNetworkTest.bfEndpoints  | Boolean        | -       | Include BlueFletch-provided endpoints in the test set                                                                                                                   |
| periodicNetworkTest.orgEndpoints | Boolean        | -       | Include org-configured endpoints (`networkTest.orgUrls`) in the test set. If neither `bfEndpoints` nor `orgEndpoints` is set, BlueFletch endpoints are used by default. |
| networkTest.bfUrls               | String Array   | -       | BlueFletch-provided endpoint URLs                                                                                                                                       |
| networkTest.orgUrls              | String Array   | -       | Org-provided endpoint URLs                                                                                                                                              |
| disablePingFromDevice            | Boolean        | false   | Disables device-initiated ping where remote-triggered testing is preferred                                                                                              |

#### Error Handling

| Scenario                                | Expected behavior                                                      | Recovery                            |
| --------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------- |
| No network connectivity                 | Test fails immediately with a clear failure result rather than hanging | Retry once connectivity is restored |
| `speedTestUrl`/endpoints not configured | Test cannot run / returns no data                                      | Provide URLs in configuration       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bluefletch.com/bluefletch-enterprise/product-guides/support-application/sa-6/features/network-diagnostics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
