All Docs

Troubleshooting

Troubleshooting

PacketPilot Config

Installation

Installer won't run — "Windows protected your PC"

  • Click "More info" → "Run anyway". This appears because the executable is not code-signed. We are working on a code signing certificate for a future release.

Installation succeeds but app won't launch

  • Check that your Windows version is 10 or 11 (64-bit)
  • Verify .NET 8 Desktop Runtime is installed. Download from: https://dotnet.microsoft.com/download/dotnet/8.0
  • Check %LOCALAPPDATA%\PacketPilot\logs\ for crash logs

Serial Console

No output in the console window

  • Verify the correct COM port is selected in the dropdown
  • Try unplugging and replugging the USB cable (the COM port may have changed)
  • Check Device Manager to confirm the USB-to-serial chip is recognized
  • Try a different USB port (some ports have different power/performance)

Text is garbled or shows wrong characters

  • The baud rate doesn't match the device. Most Cisco and Juniper devices use 9600. Some newer Cisco ISR devices use 115200. Check the device datasheet or try cycling through common baud rates.

"Access denied" when opening COM port

  • Another application has the port open (PuTTY, a terminal emulator, another serial program). Close all other serial programs and try again.

Login prompt is not detected

  • The device may have a non-standard prompt. Switch to the Generic profile, type your username manually, and press Enter. The Generic profile has no prompt detection.

SSH

"Connection refused" immediately

  • SSH is not enabled on the device, or the device is listening on a non-standard port
  • Try: show ssh on the device to confirm SSH is enabled
  • Try: show running-config | include ip ssh to check SSH configuration
  • Verify the port number in Config's device edit screen matches the device's SSH port

"Connection timed out"

  • A firewall between the Config PC and the device is blocking port 22
  • Verify with a direct ping from the Config PC to the device IP
  • Check if the device has an ACL applied to its management interface

"Authentication failed" — username and password are correct

  • Some devices require an enable password beyond the login password
  • In Config, edit the device and enter the enable secret in the "Enable Password" field
  • Some devices require keyboard-interactive authentication (e.g. certain Juniper SES or Arista devices). Try using keyboard-interactive mode in the SSH settings.

"Host key verification failed"

  • The device's SSH host key has changed since the last connection (e.g. device was reconfigured or replaced)
  • Right-click the device → Reset Host Key → reconnect

Session opens but terminal is unresponsive

  • The device may have output buffering or flow control issues
  • Try pressing Enter a few times to wake the session
  • In Settings → SSH, try toggling "Enable keepalive"

Licensing

Trial expired but I need more time

I reinstalled Windows — can I get my trial back?

  • No. The trial is machine-bound (based on Windows MachineGuid). Reinstalling Windows on the same hardware does not change the machine ID. You will need a license key to continue using Config.

PacketPilot Analyze

Docker and Startup

docker compose up -d fails with "port already in use"

  • Another service is using port 3000, 8000, 5432, 9000, or 11434
  • Edit docker-compose.yml and change the external port mapping for the affected service
  • Or stop the other service using those ports

Services start but frontend shows "502 Bad Gateway"

  • The backend container may have crashed. Check with:
    docker compose logs backend
    
  • The backend may not be ready yet — wait 10 seconds and refresh

docker compose up -d hangs on "pulling ollama image"

  • Slow internet connection. The Ollama image is ~2-3 GB. Let it complete.
  • To monitor progress: docker compose logs -f ollama

Ollama and AI

Ollama fails to download model

  • Check internet connection. Ollama downloads models from https://ollama.ai/library.
  • If you are in an air-gapped environment, download the model on an internet-connected machine:
    ollama pull mistral:latest
    docker save ollama > ollama.tar
    # Transfer ollama.tar to air-gapped machine
    docker load < ollama.tar
    

AI summaries are disabled or Ollama returns errors

  • Verify AI_SUMMARIES_ENABLED=true is set in .env
  • Verify Ollama is running: docker compose logs ollama
  • Test Ollama directly:
    curl http://localhost:11434/api/tags
    
  • If Ollama returns an empty list, the model may not be downloaded. Run:
    docker compose exec ollama ollama pull mistral:latest
    

AI summaries are very slow

  • Ollama uses CPU by default. For faster AI, ensure the Docker container has access to sufficient CPU cores.
  • In docker-compose.yml, increase the Ollama service CPU allocation:
    services:
      ollama:
        deploy:
          resources:
            limits:
              cpus: "4"
    

Database and Cases

"Too many connections" error

  • PostgreSQL is configured with a connection limit. Restart the backend to reset connections:
    docker compose restart backend
    

Cases disappeared / database error

  • Check the postgres container is running: docker compose ps postgres
  • Check postgres logs: docker compose logs postgres
  • If the volume is corrupted, you may need to restore from a backup

Licensing

"License invalid" after entering license key

  • The hardware ID of your server doesn't match the license. Licenses are bound to the server's MAC address + hostname.
  • Contact [support@db-electronics.no](mailto:support@db-electronics.no] with your license key and server hardware ID (visible in Settings → License).

Server is air-gapped — how long will the license grace period last?

  • 30 days. After 30 days without a successful license validation, case creation is blocked. Connect the server to the network briefly and restart the stack to trigger validation.

"Read-only mode" banner despite being connected to the license server

  • The grace period may have already expired while the server was unreachable
  • Restart the license-server container: docker compose restart license-server
  • Then restart the backend: docker compose restart backend
  • If the issue persists, contact support

Network and Access

Can't access the web UI from another machine

  • By default, the frontend binds to 127.0.0.1. Change the binding in docker-compose.yml:
    services:
      frontend:
        ports:
          - "0.0.0.0:3000:3000"
    
  • Then restart: docker compose restart frontend

Reverse proxy / SSL termination in front of Analyze

  • The web UI and API must be on the same origin (same protocol, host, and port) for CORS to work
  • If placing behind nginx or Traefik, configure the proxy to forward both localhost:3000 and localhost:8000 and set appropriate headers:
    X-Forwarded-Proto: https
    X-Forwarded-Host: analyze.yourcompany.com