Skip to content

Troubleshooting

Crux reports failures as short toasts — Failed to register device, Failed to export tunnels — that name the operation but not the cause. The cause is always in the application log. Start there.

Read the application log

Settings → View application log.

The application log, showing timestamped entries from the app and the tunnel process.

The view follows the newest entry and refreshes once a second, so you can leave it open while you reproduce a problem.

Each entry carries four things:

Column Meaning
Time When the entry was written
Level DEBUG, INFO, WARN or ERROR. Warnings are amber, errors red
Process / category Which half of the app wrote it — app is Crux itself, tunnel is the network extension — and which subsystem
Message The event. Tap and hold to select and copy the text

The app and tunnel split matters. Registration problems are logged by app; anything that happens after you tap the dial is usually logged by tunnel, because the network extension is a separate process that iOS runs on the app's behalf.

Filter, share and clear

The toolbar button opens the filter menu. It fills in when a filter is active, so you can see at a glance that you are not looking at the whole log.

The log toolbar menu, with level and process filters and the refresh, share and clear actions.

Filter by level, by process, or both. Share Logs exports what the log contains, not just the filtered view.

  • Level — narrow to a single severity, or All Log Levels.
  • Process — narrow to App or Tunnel, or All Processes.
  • Manual Refresh — force a reload; the view already polls once a second.
  • Share Logs — hand the log to the iOS share sheet, to attach to a support request.
  • Clear Logs — wipe the on-disk log shared by the app and the network extension. Events after that point are still captured.

Note

Share the log before clearing it. Clearing is immediate once confirmed, and the file is not recoverable.

Registration fails

The toast reads Failed to register device. Filter the log to the app process and read the most recent error.

What the log points at What to do
Authentication rejected Re-enter the username and password. Both are case-sensitive, and iOS autocapitalisation is disabled on these fields for exactly that reason
Realm or tenant not found Check the Realm ID spelling with your administrator
The host cannot be reached Check the Domain under Advanced Options, and that the device has a route to it. A captive-portal Wi-Fi network will fail here
The device is already registered Your administrator may need to clear the previous registration for this device from the SKA-Platform

The tunnel will not come up

No KNode server keys

The tunnel asked for session keys from a region that does not serve them.

Check the version on the About tab first. Versions before 2.0.1 ignored the Region ID configured at registration and always asked the default region, so a device registered to any other region hit this on every connection attempt. Updating to 2.0.1 or later resolves that case.

The log entry names the region that was queried — compare it against the one your administrator issued. The Settings tab does not display the region after registration, so the log is the only place to read it back.

The dial spins and returns to Disconnected

The handshake never completed. Filter to the tunnel process and look at the entries after Connect requested.

Symptom in the log Likely cause
Repeated handshake retries, no completion The Endpoint is unreachable — wrong host or port, or blocked by the local network. UDP on the peer's port must be allowed outbound
The interface comes up, then drops The peer rejected the session. Check the tunnel's Public Key pair with your administrator
Nothing at all after Connect requested The session key was never issued. Look for an earlier ska entry, and see No KNode server keys above

It connects but nothing loads

The tunnel is up and traffic is not reaching the far side.

  • Check Received on the Home tab. If it stays at zero while Sent climbs, packets are leaving and nothing is coming back — that is a routing or firewall problem at the gateway, not a problem on the device.
  • Check Allowed IPs on the tunnel's peer. Traffic for any range not listed there does not enter the tunnel at all.
  • Check DNS servers on the interface. A tunnel that routes correctly but cannot resolve names looks identical to a dead tunnel from the browser.

The QR scanner will not open

The camera permission was declined. The scanner shows an explanation and an Open Settings button that takes you to the Crux entry in the iOS Settings app; switch Camera on there.

If you would rather not grant it, import from a file or the clipboard instead — the result is identical.

What to include in a support request

Send development [at] sirius [dot] computer:

  • The version from the About tab
  • The Device UUID from the Settings tab, copied with the copy button
  • The Realm ID and Region ID used at registration
  • The shared log, exported from the log viewer's menu
  • What you did, what you expected, and what happened instead

Do not send the exported tunnel archive — it contains your private keys.