Skip to content

Instantly share code, notes, and snippets.

@aleksasiriski
Last active February 7, 2026 00:38
Show Gist options
  • Select an option

  • Save aleksasiriski/ebbb58ea87ac208d16becf866028bb49 to your computer and use it in GitHub Desktop.

Select an option

Save aleksasiriski/ebbb58ea87ac208d16becf866028bb49 to your computer and use it in GitHub Desktop.
Setup Belabox modified with Wireguard remote access and BiB-Comms audio output working via Pipewire, Pulse and ALSA

Setup Belabox modified with Wireguard remote access and BiB-Comms audio output working via Pipewire, Pulse and ALSA

DO NOT RUN ON BELABOX: Flash belabox image to SD card (/dev/sdX):

sudo dd if=Downloads/belabox_rock_5b_plus-20250915-a84acea.img of=/dev/sdX bs=4M status=progress oflag=sync

Update the system:

sudo apt update -y && sudo apt upgrade -y

Set the correct hostname:

sudo hostnamectl set-hostname <new-hostname>

Correct the /etc/hosts file so that the new hostname resolves to 127.0.0.1

Tools

Install tools for configuring and debugging:

sudo apt install -y nano usbutils pciutils

Wireguard

Install wg:

sudo apt install -y wireguard

Paste wg config:

sudo nano /etc/wireguard/wg0.conf

Enable wg connection on boot:

sudo systemctl enable --now wg-quick@wg0

Audio

Install pipewire with pulse and alsa support:

sudo apt install -y pipewire pipewire-pulse pipewire-audio-client-libraries pipewire-media-session- wireplumber dbus-user-session alsa-utils pulseaudio-utils

Add user to audio group:

sudo usermod -aG audio $USER

Enable pipewire session on boot:

sudo systemctl unmask systemd-logind && \
sudo systemctl restart systemd-logind && \
sudo loginctl enable-linger $USER && \
sudo reboot

Set default output to 3.5mm jack:

pactl set-default-sink alsa_output.platform-es8316-sound.stereo-fallback

CRUCIAL STEP: Using alsamixer (press F6, choose rockchip-es8316, press F5 to show all options) fix silence by unmuting "Left Headphone Mixer Left DAC" and "Right Headphone Mixer Right DAC".

Edit /etc/asound.conf:

pcm.!default {
    type pipewire
}

ctl.!default {
    type pipewire
}

Reboot:

sudo reboot

Test audio

Test alsa:

speaker-test -D default -c 2

Test alsa with audio file:

aplay -D default /usr/share/sounds/alsa/Front_Center.wav

Test pulseaudio with audio file:

paplay /usr/share/sounds/alsa/Front_Center.wav

Test pipewire with audio file:

pw-play /usr/share/sounds/alsa/Front_Center.wav

BiB Comms (headless Mumble client)

Install dependencies:

sudo apt install -y libopenal-dev libopus-dev libasound2-dev pkg-config ffmpeg

Install bib-comms:

sudo wget https://github.com/blokadainfo/bib-comms/releases/download/v1.0.1/bib-comms_v1.0.1_linux_arm64 -O /usr/local/bin/bib-comms && sudo chmod +x /usr/local/bin/bib-comms

Make directory for user services:

mkdir -p ~/.config/systemd/user/

Edit ~/.config/systemd/user/bib-comms.service:

[Unit]
Description=BiB Comms Service
After=network-online.target wg-quick@wg0.service
Wants=network-online.target wg-quick@wg0.service

[Service]
Type=simple
ExecStart=/usr/local/bin/bib-comms
Environment="MUMBLE_ADDRESS=172.16.13.2:64738"
Environment="MUMBLE_PASSWORD=<password>"
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

Reload and enable the service:

systemctl --user daemon-reload && \
systemctl --user enable --now bib-comms.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment