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)
It’s recommended that you use a Raspberry Pi 4 or later. The Raspberry Pi 3 has an Ethernet connection limited to 300 Mbps, which might not be enough to test the maximum speeds of many internet connections.
Supported Hardware Models
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
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
Download and install Raspberry Pi Imager on your workstation from the official Raspberry Pi software source
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.
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.).

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?

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
orrpi-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.

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 address192.168.1.100
as the userpi
, 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.

Verify the Installation
Check the service status:
systemctl status samknows
It should show as active (running).

Last updated