Installing Device Agent on Raspberry Pi (RPi)

You can install the ThousandEyes Device Agent on a Raspberry Pi by following the instructions mentioned below.

Supported Platforms

Base System Requirements

  • Supported Chipset: ARMv7, ARMv8

  • CPU: Quad-core ARM Cortex-A53 or newer (recommended)

  • RAM: 1 GB minimum (2 GB or more recommended)

  • Storage (micro-SD card): 8 GB minimum (16 GB or more recommended)

  • Networking: Fast Ethernet or Gigabit Ethernet (Gigabit preferred)

  • Power Supply: 5 V DC - Official Raspberry Pi power adapter (recommended)

Supported Hardware Models

Model
System on Chip (SoC)
Memory

Raspberry Pi 3 (Model B)

BCM2837

1 GB

Raspberry Pi 3 (Model B+)

BCM2837b0

1 GB

Raspberry Pi 3 (Model A+)

BCM2837b0

512 MB

Raspberry Pi 4 (Model B)

BCM2711

1 GB, 2 GB, 4 GB, 8 GB

Raspberry Pi 400

BCM2711

4 GB

Raspberry Pi 5

BCM2712

2 GB, 4 GB, 8 GB

For more details refer to the official Raspberry Pi documentation here

Supported Software Versions

Operating System Distribution
Operating System Codename
Architecture

Raspberry Pi OS

Raspberry Pi OS Bookworm

32-bit / 64 bit

Raspberry Pi OS Lite

Bookworm

32-bit / 64 bit

Raspberry Pi OS Full

Bookworm

32-bit / 64 bit

Raspberry Pi OS Legacy

Bullseye

32-bit / 64 bit

Raspberry Pi OS Legacy Lite

Bullseye

32-bit / 64 bit

Raspberry Pi OS Legacy Full

Bullseye

32-bit / 64 bit

Ubuntu 22.04 LTS

Jammy Jellyfish

32-bit / 64 bit

Installation Steps

Setting up the Raspberry Pi

  1. Download and install Raspberry Pi Imager on your workstation from the official Raspberry Pi software source

  2. Connect your storage medium (micro-SD card, SSD, or USB drive) to your workstation.

    • For a micro-SD card, you may need a USB card reader if your laptop doesn’t have a built-in slot.

  3. Open the Raspberry Pi Imager application on your workstation.

    • Raspberry Pi Device: In the Raspberry Pi menu, select your Raspberry Pi model (e.g., Raspberry Pi 4).

    • Operating System: In the Operating System menu, select a supported OS. We recommend Raspberry Pi OS Lite (32-bit); this is a lightweight, headless version (no desktop environment) which provides faster performance and uses fewer resources. Alternatively, you may choose the 64-bit version, but you’ll need to follow the multi-arch workaround later to enable the agent.

    • Storage: In the Storage menu, select the connected storage device (micro-SD, SSD, etc.).

  1. Click Next to start the flashing process. After you click Next, the Raspberry Pi Imager will ask: Would you like to apply OS customisation settings?

  1. Click Edit Settings to customise your setup. This is strongly recommended so your Pi is ready to use after flashing.

    Key settings to configure:

    • Hostname

      • Change the default raspberrypi to something easy to remember, e.g., rpi-agent or rpi-lab.

    • Username & Password

      • Set a new username (default is pi, but you can choose your own).

      • Enter a secure password you’ll use for SSH login.

    • Wi-Fi (optional)

      • If you plan to use Wi-Fi instead of Ethernet, set your SSID and** Wi-Fi** password here.

    • Navigate to the Services tab to configure remote access.

      • Enable SSH:

        • Tick the Enable SSH checkbox.

      • Authentication Options:

        • Password Authentication

          • Use the username/password you defined earlier.

        • Allow Public-Key Authentication Only

          • Select the radio button to enforce key-based login only.

          • If you don’t already have an SSH key, generate one on your workstation:

            ssh-keygen -t rsa -b 4096
          • Copy the contents of your public key (usually in ~/.ssh/id_rsa.pub). For existing keys copy the contents the key from the below location:

            cat ~/.ssh/id_rsa.pub
          • Paste it into the Set authorised key for user input field in the Imager. This ensures your Pi accepts only SSH keys, which is more secure than password logins.

Enabling SSH here means you can immediately connect to the Raspberry Pi after first boot, without needing to attach a keyboard or monitor.

  1. After setting your hostname, username, password, Wi-Fi (if needed), and SSH options, click Save to return to the Raspberry Pi Imager main screen, then click Yes to flash the OS with your customised settings onto the selected storage device. Wait for the write and verification to complete before removing the card.

Deploying and Installing the Device Agent

1. Connect to your Raspberry Pi

From your workstation, use SSH:

ssh <username>@<pi-hostname-or-IP>

Log in with the username/password you set in Raspberry Pi Imager. Or, if you enabled public-key authentication, your key will be used automatically.

If SSH is not enabled, use the raspberry pie GUI options to enable SSH:

sudo raspi-config

Navigate to Interface Options and enable SSH for future remote access.

2. Obtain the Device Agent software

Contact your Cisco Connected Devices Account Team to obtain the latest Raspberry Pi agent package (sk_router_agent-*-rpi.tar.gz).

3. Copy the software image to the Pi

From your workstation, transfer the agent file via scp:

scp sk_router_agent-{agent version}-rpi.tar.gz <username>@<pi-hostname-or-IP>:~

In case, you are not aware of the version, you can run the following command:

scp sk_router_agent-*-rpi.tar.gz <username>@<pi-hostname-or-IP>:~

4. Connect to the Raspberry Pi via SSH

  • When using password authentication:

ssh <username>@<pi-hostname-or-IP>
  • When using public key authentication: If your private key is located at ~/.ssh/my_raspberry_pi_key and you want to connect to a Raspberry Pi with the IP address 192.168.1.100 as the user pi, the command would be:

ssh -i ~/.ssh/my_raspberry_pi_key <username>@<pi-hostname-or-IP>

5. Create a working directory and extract the tarball

On the Raspberry Pi, run:

mkdir ~/sk-agent && cd ~/sk-agent
mv ~/sk_router_agent-*-rpi.tar.gz .
tar -xvzf sk_router_agent-*-rpi.tar.gz

6. Install the agent package

Run the .deb installer:

sudo dpkg -i --force-depends ./sk-router-agent_*_armhf.deb

If you’re running a 64-bit OS (arm64), first enable 32-bit libraries:

sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install -y libc6:armhf libstdc++6:armhf libgcc-s1:armhf

Then rerun the dpkg -i command.

7. Register the agent with your client string

A client string is a unique identifier that connects the Device Agent to your ThousandEyes account and test configuration. It defines default testing parameters and enables features such as hourly speed and jitter tests, or RealSpeed.

After the agent installs, enter the provided client string when prompted. If you enter the client string correctly, your device automatically registers with your ThousandEyes account. If the device does not appear, contact your account manager and provide the Unit ID.

Remove the default "unknown" string before copying your client string. Contact your Cisco Connected Devices Account Team to obtain your client string.

Verify the Installation

  • Check the service status:

systemctl status samknows

It should show as active (running).

Last updated