Agent registers but never appears in the console
Symptom
The agent starts, posts to /provision, and the backend responds with "Device registered successfully". The device never appears in the console device list, or it appears briefly and then shows offline.
Cause
The agent is talking to a different server than the one your browser is pointed at — for example, the agent has a stale ServerURL pointing to 192.168.0.122 while the server has moved to 192.168.0.123. The registration lands in a different database the console does not read. A second common cause is an expired or revoked tenant token: the backend returns an authentication error and the agent silently retries.
Fix
On the device, check the active server URL and token:
journalctl -u soc-ota-agent --since "5 min ago" --no-pagercat /etc/otapulse/otapulse.conf | python3 -m json.tool | grep -E 'ServerURL|TenantToken'If the URL is wrong, edit /etc/otapulse/otapulse.conf and update the ServerURL value, then restart:
# Edit the JSON config to fix the ServerURL# /etc/otapulse/otapulse.conf is a JSON file — use a text editor or python/jqpython3 -c "import json, sysc = json.load(open('/etc/otapulse/otapulse.conf'))c['ServerURL'] = 'http://192.168.0.123:8000'json.dump(c, open('/etc/otapulse/otapulse.conf','w'), indent=4)"systemctl restart soc-ota-agentIf the token is invalid, re-issue one from the console under Settings → API Keys and update /etc/otapulse/otapulse.conf with the new TenantToken value:
python3 -c "import jsonc = json.load(open('/etc/otapulse/otapulse.conf'))c['TenantToken'] = 'your-new-tenant-token'json.dump(c, open('/etc/otapulse/otapulse.conf','w'), indent=4)"systemctl restart soc-ota-agent