Skip to content

Bluetooth Configuration ​

The wireless module of the Rhino Pi IQ9N integrates Bluetooth 5.3 and supports LE Audio.

Hardware Specifications ​

ItemParameter
Bluetooth versionBluetooth 5.3
FeaturesSupports LE Audio
AntennaExternal antennas connected through 2 ANT interfaces (IPEX Gen 1)

Checking Bluetooth Status ​

bash
bluetoothctl show

If the output contains Powered: yes, Bluetooth is enabled.

Enabling the Bluetooth Service ​

The Bluetooth service is enabled by default on the IQ9N and starts with the system. To confirm the status or re-enable it:

bash
sudo systemctl enable --now bluetooth

Check the service status:

bash
systemctl status bluetooth

Scanning and Pairing Devices ​

  1. Enter interactive mode:
bash
bluetoothctl
  1. Run the following commands in order:
text
power on
agent on
default-agent
scan on
  1. Note the MAC address of the target device, stop scanning, and pair:
text
scan off
pair <device MAC address>
trust <device MAC address>
connect <device MAC address>
  1. Exit interactive mode:
text
exit

Tip

The commands above must be typed one by one after entering the bluetoothctl interactive prompt. If you paste several commands at once, you may see Failed to register agent object or No agent is registered because the connection to the Bluetooth service has not been established yet; this is a timing issue, so simply run them one by one again.

Viewing Paired Devices ​

bash
bluetoothctl devices

Using Bluetooth Audio ​

The audio service on the IQ9N is PipeWire, and PulseAudio's pactl is not preinstalled; use PipeWire's own wpctl instead.

View audio devices:

bash
wpctl status

All output devices are listed under the Audio → Sinks section, and the entry prefixed with * is the current default output. In testing, the onboard outputs are:

text
 ├─ Sinks:
 │      44. pal sink speaker ll                 [vol: 1.00]
 │      45. pal sink headset_ll                 [vol: 1.00]

After connecting Bluetooth headphones or a speaker, a corresponding sink is added to the list. To switch the default output device, enter the number in front of the sink:

bash
wpctl set-default <Sink number>

Note

wpctl needs to access the PipeWire service in the user session, so run it in the graphical terminal on the device itself (logged in as the aidlux user). Running it directly in the adb shell root environment reports Could not connect to PipeWire.

FAQ ​

  • The device cannot be found: confirm that the target device is in discoverable mode and that the antennas are connected.
  • No sound after connecting: run wpctl status to confirm that the default output (the sink prefixed with *) has switched to the Bluetooth device; if not, set it with wpctl set-default <Sink number>.