Skip to content

Linkside

Where is the Wi-Fi problem?

A sensor beside one client hears its link while the user does what goes wrong. A Mac app reads it next to what Mist sees from the AP and gives one answer of six.

Get started Field guide

The Overview's verdict on a recording: on the AP side, the client disconnected by the AP The Overview's verdict on a recording: on the AP side, the client disconnected by the AP

Six answers

  • AP side

    The AP or its configuration: it refuses or drops the client, or holds a roam up.

  • Client side

    The client: its credentials, a setting the network does not take, a roam to a weaker AP.

  • RF environment

    The air between them: interference, a busy channel, a radar event.

  • Upstream / not Wi-Fi

    The Wi-Fi works; the wait is beyond it: RADIUS, DHCP, the gateway, DNS.

  • Measurement limit

    The capture is not good enough to judge, and the app says why.

  • Undecided

    Wrong without a side, or nothing abnormal found, with what stayed untested.

What each answer means and how the app reaches it

What it is

  • The sensor


    A Raspberry Pi 5 with two Wi-Fi sticks in monitor mode, one on the client's channel and one where it is most likely to roam. It never transmits.

    The sensor

  • The app


    Follows the connection frame by frame, measures the link from the Block Acks both sides send, and judges it with a fixed set of rules, live and in replay.

    Reading the verdict

  • Mist, optionally


    Adds the AP's view: the client's signal there, the reason of an encrypted disconnect, DHCP and DNS. Without it the app judges on the air alone.

    The app's setup

What it is not

Not a site survey, not a transmitter, not a payload capture, not an L3 test. Linkside looks at one client's link at one spot, without sending a frame and without the payload, and measures the user's own traffic: without traffic there is nothing to measure. Coming from wired networks? The terms for a wired background explain the Wi-Fi words the app uses.

Where it stands

In development, before 1.0. It runs end to end against a Juniper Mist network, live and in replay, tested on problems caused on purpose in a home lab. The rules' thresholds are assumptions until field cases confirm them, and a finding of an unconfirmed rule says so. 1.0 is the kit handed to a colleague for a ticket in the field.