Software
6 minute read
The Interceptor Carrier Board works with standard Linux distributions. The SATA controller (JMB585) and Ethernet switch (RTL8367RB) drivers are included in the mainline kernel and work out of the box.
Software Options
Option 1: Standard Raspberry Pi OS + Exaviz Packages (Recommended)
Use standard Raspberry Pi OS (64-bit) and install the Exaviz Debian packages for full hardware support. No custom OS image is required.
# Add the Exaviz repository
curl -fsSL https://apt.exaviz.com/exaviz-repo-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/exaviz-archive-keyring.gpg
DISTRO=$(lsb_release -cs 2>/dev/null || (grep VERSION_CODENAME /etc/os-release 2>/dev/null | cut -d= -f2) || echo "bookworm")
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/exaviz-archive-keyring.gpg] https://apt.exaviz.com ${DISTRO} main" | sudo tee /etc/apt/sources.list.d/exaviz.list
sudo apt update
sudo apt install exaviz-dkms exaviz-pse-dkms exaviz-netplan exaviz-poe-tool
| Package | Description |
|---|---|
| exaviz-dkms | Kernel modules: RTL8367RB switch driver, device tree overlays |
| exaviz-pse-dkms | IP808AR PoE (PSE) driver — required for PoE port control |
| exaviz-netplan | Network configuration for WAN port and switch ports |
| exaviz-poe-tool | GTK3 GUI for PoE port monitoring and control |
If you are using a Cruiser carrier board with the Interceptor PoE Add-on Board, install exaviz-pse-dkms on the Cruiser as well. This provides the IP808AR driver needed to control the add-on board’s PoE ports via /proc/pse.
Option 2: Exaviz OS (Deprecated)
Exaviz OS images are no longer being developed. Use standard Raspberry Pi OS with the Exaviz Debian packages (Option 1 above) instead. Existing deployments will continue to work but will not receive updates. Images are available on request — contact support@exaviz.com.
Included Drivers
Ethernet Switch (RTL8367RB)
The 4-port Gigabit switch is managed by the RTL8367RB chip. The driver is included in the kernel and activated automatically.
Features:
- VLAN configuration
- Port mirroring
- QoS settings
- Per-port statistics
SATA Controller (JMB585)
The 5-port SATA controller uses the JMicron JMB585 chip.
Features:
- AHCI mode support
- Hot-plug capability
- RAID support via mdadm (software)
PoE Controller (IP808AR)
When PoE boards are connected, the ip808ar driver provides port control.
Control Interface: /proc/pse
Example commands:
# Check port status (first 20 lines — /proc/pse streams continuously)
head -20 /proc/pse
# Disable port 3 on board 0
echo "disable-port 0 3" > /proc/pse
# Enable port 3 on board 0
echo "enable-port 0 3" > /proc/pse
See PoE Control for complete documentation.
Network Configuration
The exaviz-dkms package loads a device tree overlay that creates the
Interceptor’s network interfaces. The exaviz-netplan package then
configures them via netplan and optionally sets up dnsmasq as a DHCP
server for connected devices.
Interface Names
The four Gigabit Ethernet ports on J8 are named by default:
| Interface | Role | IP Configuration |
|---|---|---|
| wan | WAN/uplink (internet connection) | DHCP client |
| lan0 | LAN port | DHCP server (dnsmasq) |
| lan1 | LAN port | DHCP server (dnsmasq) |
| lan2 | LAN port | DHCP server (dnsmasq) |
The wan port is automatically excluded from the DHCP server list and
configured as a DHCP client (uplink to your router). The lan0-lan2
ports and any PoE expansion ports (poe0-poe15) are configured as
DHCP servers, each on its own subnet, so connected devices receive an IP
address automatically.
Port names are configurable during exaviz-dkms installation via
debconf. The defaults are wan, lan0, lan1, lan2 followed by
poe0-poe15 for PoE expansion ports. To reconfigure later:
sudo dpkg-reconfigure exaviz-dkms
sudo dpkg-reconfigure exaviz-netplan
Device Tree Overlay
The exaviz-dkms package installs a device tree overlay and configures
/boot/firmware/config.txt with dtoverlay entries for the Interceptor.
Port names are passed as overlay parameters:
[cm4]
dtoverlay=interceptor-raspberrypi-cm4,p0_0=wan,p0_1=lan0,p0_2=lan1,p0_3=lan2
dtparam=eee=off
otg_mode=1
[cm5]
dtoverlay=interceptor-raspberrypi-cm5,p0_0=wan,p0_1=lan0,p0_2=lan1,p0_3=lan2
dtoverlay=dwc2,dr_mode=host
This uses the standard Raspberry Pi firmware overlay loader — the same mechanism used on Cruiser boards.
Static IP Example
To assign a static IP to a LAN port, edit the netplan configuration in
/etc/netplan/ or use nmtui if NetworkManager is installed.
WiFi Setup
If you used Raspberry Pi Imager to flash your OS image, you may have already configured WiFi during the initial setup. Check if WiFi is working before following the steps below.
For compute modules with WiFi (CM4/CM5 with wireless), configure WiFi using
wpa_supplicant:
# Create WiFi configuration
wpa_passphrase "YourNetworkName" "YourPassword" | \
sudo tee /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
# Enable WiFi at boot
sudo systemctl enable wpa_supplicant@wlan0
sudo systemctl start wpa_supplicant@wlan0
WiFi is pre-configured for DHCP. For static IP, use the System Settings GUI.
Power Saving Tip: If you don’t need WiFi/Bluetooth, disable them via raspi-config
to reduce power consumption.
Storage Configuration
Viewing SATA Drives
# List all block devices
lsblk
# Check SATA controller status
sudo dmesg | grep -i sata
Setting Up RAID
The JMB585 controller supports software RAID via mdadm.
Create partitions on each drive first, then RAID the partitions (not whole drives). This allows easier disk replacement—if a replacement drive is slightly smaller, you can still create a matching partition size.
# Install mdadm if not present
sudo apt install mdadm
# Create partitions on each drive (using entire disk)
sudo parted /dev/sda mklabel gpt
sudo parted /dev/sda mkpart primary 0% 100%
# Repeat for /dev/sdb and /dev/sdc
# Create RAID 5 array using partitions (example with 3 drives)
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 \
/dev/sda1 /dev/sdb1 /dev/sdc1
# Format and mount
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/storage
Boot Configuration
Raspberry Pi CM4
Standard boot from eMMC or SD card. Configure via config.txt.
Raspberry Pi CM5
USB boot is not supported on the Interceptor Carrier Board with CM5. The board uses USB 2.0, but CM5 requires USB 3.0 for boot capability.
Boot options for CM5:
- SD Card - If CM5 has blank eMMC, it defaults to SD card boot
- eMMC - Flash OS using rpiboot on a separate IO board
SATA Boot Workaround
The Raspberry Pi firmware cannot boot directly from SATA. However, you can:
- Keep
/bootpartition on eMMC or SD card - Mount root filesystem from SATA drive
- Edit
cmdline.txtto point root to SATA partition
Example cmdline.txt:
root=/dev/sda1 rootfstype=ext4 ...
Updating Software
System Updates
sudo apt update
sudo apt upgrade
The Exaviz OS uses a custom-built kernel. Do not attempt to upgrade the kernel through apt—this may break hardware support.
raspi-firmware Package Error
If you see an error during apt upgrade about raspi-firmware:
Error: missing /boot/firmware, did you forget to mount it?
This is a known issue with Raspberry Pi OS Bookworm (Debian 12). The raspi-firmware package expects /boot/firmware to be a mount point, but on Interceptor systems it’s a regular directory.
Workaround:
# Bind mount /boot/firmware to itself (makes it appear as a mount point)
sudo mount --bind /boot/firmware /boot/firmware
# Configure the package
sudo dpkg --configure -a
After this, apt upgrade should work normally. The bind mount persists until reboot. Alternatively, install the exaviz-dkms package which includes a fix for this issue.
Troubleshooting
Drivers not loading
# Check loaded modules
lsmod | grep -E "(rtl|jmb|ip808)"
# Check kernel messages for errors
sudo dmesg | tail -50
Network interface missing
# List all interfaces
ip link show
# Check switch driver status
sudo dmesg | grep rtl
Next Steps
- Downloads - Get the latest OS images
- Installation - Flashing instructions
- FAQ - Common questions
Last modified February 25, 2026