Software

Operating system and driver information

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.

PoE control requires Exaviz OS — the IP808AR/IP179H PoE controller drivers are not mainlined and are only available in our custom images.

Exaviz OS

Exaviz provides custom OS images based on Debian/Raspberry Pi OS that include:

  • RTL8367RB Ethernet switch driver (mainline)
  • JMB585 SATA controller driver (mainline)
  • IP808AR/IP179H PoE control drivers (Exaviz-specific)
  • Optimized kernel configuration

Available Images

ImageCompute ModuleFeatures
DesktopRPi CM4/CM5Full desktop environment
ServerRPi CM4/CM5Headless, optimized for servers
DesktopBanana Pi CM4Full desktop environment
ServerBanana Pi CM4Headless, optimized for servers

Download OS Images →

Version Requirements

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 (streams continuously, Ctrl+C to stop)
cat /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

Default Configuration

On first boot, the Ethernet ports are configured as:

InterfaceIP Configuration
wanDHCP client
lan0-2Unconfigured

The interface names reflect their function:

  • wan - WAN/uplink port (typically used for internet connection)
  • lan0, lan1, lan2 - LAN ports (for local devices)

Static IP Example

Use the System Settings GUI (clock icon in upper right) for easy configuration, or edit network files directly in /etc/systemd/network/.

WiFi Setup

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.

# 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

Boot options for CM5:

  1. SD Card - If CM5 has blank eMMC, it defaults to SD card boot
  2. 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:

  1. Keep /boot partition on eMMC or SD card
  2. Mount root filesystem from SATA drive
  3. Edit cmdline.txt to point root to SATA partition

Example cmdline.txt:

root=/dev/sda1 rootfstype=ext4 ...

Updating Software

System Updates

sudo apt update
sudo apt upgrade

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

Last modified January 11, 2026