Bluetooth Interface
Bluetooth
Section titled “Bluetooth”The MConn Display uses the Redpine RS9113 wireless module for Bluetooth, which is the same module for WiFi. The RS9113 supports simultaneous WiFi and Bluetooth operation through its COEX (coexistence) mode. The Bluetooth stack on the display runs BlueZ 5.50, the standard Linux Bluetooth protocol stack, exposed through the hci0 interface over SDIO.
The display supports both Bluetooth Classic and Bluetooth Low Energy (BLE), and is managed via the standard bluetoothctl command-line tool.
Checking if Bluetooth is Running
Section titled “Checking if Bluetooth is Running”To check whether the Bluetooth service is active:
systemctl status bluetoothTo check whether the hci0 interface is up:
hciconfig -aThe output should show UP RUNNING and the device’s Bluetooth MAC address:
hci0: Type: Primary Bus: SDIO BD Address: 88:DA:1A:B3:B4:AF UP RUNNING ...Initializing the Bluetooth Stack
Section titled “Initializing the Bluetooth Stack”If hciconfig -a returns no output or the interface is DOWN, initialize the Bluetooth stack manually:
ifconfig rpine0 up/usr/bin/onebox_util rpine0 enable_protocol 3/usr/sbin/onebox-protocol-start 4hciconfig hci0 upsystemctl start bluetoothVerify the interface is now up:
hciconfig -abluetoothctl showThe bluetoothctl show output should display the controller as Powered: yes.
Changing the Bluetooth Device Name
Section titled “Changing the Bluetooth Device Name”By default, the display advertises itself as imx6qmrsdisp. To change the Bluetooth device name to something more recognizable:
hciconfig hci0 name "MConn Display"hciconfig hci0 leadvThe new name will immediately be visible to nearby devices scanning for Bluetooth.
Basic bluetoothctl Commands
Section titled “Basic bluetoothctl Commands”The bluetoothctl interactive shell is the primary tool for managing Bluetooth on the MConn Display. Launch it with:
bluetoothctlOnce inside the bluetoothctl prompt, the following commands are available:
| Command | Description |
|---|---|
show | Show the Bluetooth controller status |
discoverable on | Make the display visible to other devices |
discoverable off | Hide the display from scans |
pairable on | Allow incoming pairing requests |
scan on | Scan for nearby Bluetooth devices |
scan off | Stop scanning |
devices | List discovered devices |
pair <MAC> | Pair with a specific device |
connect <MAC> | Connect to a paired device |
disconnect <MAC> | Disconnect a device |
remove <MAC> | Remove a paired device |
quit | Exit bluetoothctl |
Pairing a Phone or PC
Section titled “Pairing a Phone or PC”The following steps walk through pairing a phone or PC with the MConn Display.
Step 1 — Make the display discoverable
bluetoothctl discoverable onbluetoothctl pairable onStep 2 — Launch bluetoothctl and prepare the display
bluetoothctlThen inside the prompt:
agent ondefault-agentscan onStep 3 — Initiate pairing from your phone or PC
On your phone or PC, scan for Bluetooth devices and select imx6qmrsdisp (or the custom name you set with hciconfig).
Step 4 — Confirm the passkey
The display will prompt with a 6-digit passkey:
[agent] Confirm passkey 396482 (yes/no):Verify that the passkey matches what is shown on your phone, then type yes in the SSH terminal and confirm on your phone.
Step 5 — Authorize services if prompted
The display may ask to authorize a Bluetooth profile:
[agent] Authorize service 0000111e-0000-1000-8000-00805f9b34fb (yes/no):Type yes to allow. Once pairing is complete, the prompt will change to show the paired device name:
[John Doe's Phone]#Step 6 — Exit bluetoothctl
quitor press Ctrl+D.
Advanced Configuration
Section titled “Advanced Configuration”The MConn Display runs BlueZ 5.50, which supports a wide range of advanced Bluetooth features including GATT server/client setup, custom BLE advertising, Bluetooth audio profiles, and service authorization policies.
For advanced configuration, please refer to the official BlueZ documentation.
Some examples of advanced configurations available through BlueZ:
- Custom GATT server — expose custom BLE services and characteristics to connected devices using
btgatt-server, useful for building BLE-based data interfaces between the display and other devices - BLE advertising data — customize advertisement packets (device name, manufacturer data, service UUIDs) using
hcitoolorbtmgmt - Bluetooth audio — the display includes
bluealsaandbluealsa-aplayfor routing audio over Bluetooth to connected speakers or headsets - Packet capture and debugging — use
btmonto capture and inspect Bluetooth traffic in real time, orbtsnoopto record logs for offline analysis