On Ubuntu with a laptop that previously connected to the Meshcore device using Meshy https://meshy-app.org/ can't connect over BLE
🚦 Current Behavior
2026-08-18 11:17:09 - meshcore - INFO - BLE pairing successful
2026-08-18 11:17:09 - app.radio - WARNING - Reconnection failed: [org.bluez.Error.NotPermitted] Notify acquired
Traceback (most recent call last):
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 620, in reconnect
await self.connect()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 491, in connect
await self._connect_ble()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 545, in _connect_ble
self._meshcore = await MeshCore.create_ble(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 177, in create_ble
res = await mc.connect()
^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 195, in connect
result = await self.connection_manager.connect()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/connection_manager.py", line 70, in connect
result = await self.connection.connect()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/ble_cx.py", line 140, in connect
await self.client.start_notify(UART_TX_CHAR_UUID, self.handle_rx)
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/bleak/__init__.py", line 846, in start_notify
await self._backend.start_notify(
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/bleak/backends/bluezdbus/client.py", line 940, in start_notify
assert_reply(reply)
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/bleak/backends/bluezdbus/utils.py", line 27, in assert_reply
raise BleakDBusError(reply.error_name, reply.body)
bleak.exc.BleakDBusError: [org.bluez.Error.NotPermitted] Notify acquired
2026-08-18 11:17:09 - app.main - WARNING - Failed to connect to radio on startup
[snip]
2026-08-18 11:18:23 - app.radio - INFO - Attempting to reconnect to radio...
2026-08-18 11:18:53 - app.radio - WARNING - Reconnection failed: Failed to connect to device
Traceback (most recent call last):
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 620, in reconnect
await self.connect()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 491, in connect
await self._connect_ble()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 545, in _connect_ble
self._meshcore = await MeshCore.create_ble(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 177, in create_ble
res = await mc.connect()
^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 198, in connect
raise ConnectionError("Failed to connect to device")
ConnectionError: Failed to connect to device
2026-08-18 11:18:58 - app.radio - INFO - Attempting to reconnect to radio...
🎯 Expected Behavior
For paired BLE device to be usable with Remote-Terminal-for-Meshcore
📋 Steps to Reproduce
connect / pair BLE
launch Remote-Terminal-for-Meshcore with MESHCORE_BLE_ADDRESS & MESHCORE_BLE_PIN
How to attach debug information (please read — it speeds up diagnosis a lot)
Easiest — debug support snapshot (recommended for everyone):
In the app, go to Settings → About → "Open debug support snapshot" (or navigate to /api/debug). Copy the block and paste it here.
🔒 The snapshot includes recent logs and basic environment/radio status. It never
exposes your private key. Logs may contain channel names or keys. If you'd rather
not share those, copy only up to the STOP COPYING HERE marker — everything
above it reveals nothing sensitive beyond your bot names.
Advanced — full debug-level logs:
Restart the backend with debug logging enabled to capture detailed radio
communication and packet processing:
MESHCORE_LOG_LEVEL=DEBUG uv run uvicorn app.main:app --host 0.0.0.0 --port 8000
Then reproduce the issue and paste the relevant log output.
Additional context
## 📝 Problem Description
On Ubuntu with a laptop that previously connected to the Meshcore device using Meshy https://meshy-app.org/ can't connect over BLE
## 🚦 Current Behavior
<!-- What actually happens today. -->
```
2026-08-18 11:17:09 - meshcore - INFO - BLE pairing successful
2026-08-18 11:17:09 - app.radio - WARNING - Reconnection failed: [org.bluez.Error.NotPermitted] Notify acquired
Traceback (most recent call last):
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 620, in reconnect
await self.connect()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 491, in connect
await self._connect_ble()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 545, in _connect_ble
self._meshcore = await MeshCore.create_ble(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 177, in create_ble
res = await mc.connect()
^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 195, in connect
result = await self.connection_manager.connect()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/connection_manager.py", line 70, in connect
result = await self.connection.connect()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/ble_cx.py", line 140, in connect
await self.client.start_notify(UART_TX_CHAR_UUID, self.handle_rx)
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/bleak/__init__.py", line 846, in start_notify
await self._backend.start_notify(
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/bleak/backends/bluezdbus/client.py", line 940, in start_notify
assert_reply(reply)
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/bleak/backends/bluezdbus/utils.py", line 27, in assert_reply
raise BleakDBusError(reply.error_name, reply.body)
bleak.exc.BleakDBusError: [org.bluez.Error.NotPermitted] Notify acquired
2026-08-18 11:17:09 - app.main - WARNING - Failed to connect to radio on startup
[snip]
2026-08-18 11:18:23 - app.radio - INFO - Attempting to reconnect to radio...
2026-08-18 11:18:53 - app.radio - WARNING - Reconnection failed: Failed to connect to device
Traceback (most recent call last):
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 620, in reconnect
await self.connect()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 491, in connect
await self._connect_ble()
File "/home/arthur/local/Remote-Terminal-for-MeshCore/app/radio.py", line 545, in _connect_ble
self._meshcore = await MeshCore.create_ble(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 177, in create_ble
res = await mc.connect()
^^^^^^^^^^^^^^^^^^
File "/home/arthur/local/Remote-Terminal-for-MeshCore/.venv/lib/python3.11/site-packages/meshcore/meshcore.py", line 198, in connect
raise ConnectionError("Failed to connect to device")
ConnectionError: Failed to connect to device
2026-08-18 11:18:58 - app.radio - INFO - Attempting to reconnect to radio...
```
## 🎯 Expected Behavior
<!-- What you expected to happen instead. -->
For paired BLE device to be usable with Remote-Terminal-for-Meshcore
## 📋 Steps to Reproduce
1. connect / pair BLE
2. launch Remote-Terminal-for-Meshcore with MESHCORE_BLE_ADDRESS & MESHCORE_BLE_PIN
3.
## 📡 Radio Node
<!-- The MeshCore radio RemoteTerm is talking to. -->
- **Firmware version:** <!-- e.g. 1.15.0 --> 1.17.0 (WioTrackerL1Eink_companion_radio_ble-v1.17.1-d929643.uf2)
- **Hardware / board type:** <!-- e.g. Heltec V3, RAK4631, T-Deck --> WioTrackerL1Eink
## 🔌 Connection to the Radio
- **Connected directly to the radio, or through an intermediary?**
<!-- Direct is the only officially supported path. If you use an intermediary
companion/frameserver such as pyMC / OpenHop, please say so — many issues
are specific to those and won't reproduce on a direct connection. -->
- **Transport:** <!-- Serial / TCP / BLE --> BLE
## 💻 Environment Information
- **OS:** <!-- e.g. macOS 15, Windows 11, Raspberry Pi OS --> Ubuntu
- **Browser / Version:** <!-- e.g. Chrome 150, Safari 18 --> n/a
- **RemoteTerm Version:** <!-- e.g. v3.15.2, or "wrapped" HA add-on --> git main 33b3b8d0236f2aebe045d2fc00b256a06f672e1e
## 📸 Screenshots / Debug Logs
<!-- Screenshots are great. A debug snapshot or debug-level logs help enormously. -->
see above
<details>
<summary><b>How to attach debug information</b> (please read — it speeds up diagnosis a lot)</summary>
**Easiest — debug support snapshot (recommended for everyone):**
In the app, go to **Settings → About → "Open debug support snapshot"** (or navigate to
`/api/debug`). Copy the block and paste it here.
> 🔒 The snapshot includes recent logs and basic environment/radio status. It never
> exposes your private key. Logs *may* contain channel names or keys. If you'd rather
> not share those, copy only **up to the `STOP COPYING HERE` marker** — everything
> above it reveals nothing sensitive beyond your bot names.
**Advanced — full debug-level logs:**
Restart the backend with debug logging enabled to capture detailed radio
communication and packet processing:
```bash
MESHCORE_LOG_LEVEL=DEBUG uv run uvicorn app.main:app --host 0.0.0.0 --port 8000
```
Then reproduce the issue and paste the relevant log output.
</details>
---
**Additional context**
<!-- Anything else that might help. -->
<!-- github-sync-id:5180229935 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📝 Problem Description
On Ubuntu with a laptop that previously connected to the Meshcore device using Meshy https://meshy-app.org/ can't connect over BLE
🚦 Current Behavior
🎯 Expected Behavior
For paired BLE device to be usable with Remote-Terminal-for-Meshcore
📋 Steps to Reproduce
📡 Radio Node
🔌 Connection to the Radio
💻 Environment Information
33b3b8d023📸 Screenshots / Debug Logs
see above
How to attach debug information (please read — it speeds up diagnosis a lot)
Easiest — debug support snapshot (recommended for everyone):
In the app, go to Settings → About → "Open debug support snapshot" (or navigate to
/api/debug). Copy the block and paste it here.Advanced — full debug-level logs:
Restart the backend with debug logging enabled to capture detailed radio
communication and packet processing:
Then reproduce the issue and paste the relevant log output.
Additional context