-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
MESHCORE v1.10 firmware
meshcore_py v2.2.1
I have installed meshcore-py on rpi4 and fedora desktop. When trying to connect via bluetooth. The first connection starts fine pairing finishes, then bluez disconnects. using exemple ble_infos script:
First attempt on rpi4 pairing fine and connection started comes back with looping :
EBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX): ['org.bluez.Device1', {'Paired': <dbus_fast.signature.Variant ('b', True)>}, []]
INFO:meshcore:BLE pairing successful
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028/char0029): ['org.bluez.GattCharacteristic1', {'Notifying': <dbus_fast.signature.Variant ('b', True)>}, []]
INFO:meshcore:BLE Connection started
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
DEBUG:bleak.backends.bluezdbus.client:retrying characteristic WriteValue due to InProgress
on fedora it comes back with:
EBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX): ['org.bluez.Device1', {'ServicesResolved': <dbus_fast.signature.Variant ('b', False)>}, []]
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX): ['org.bluez.Device1', {'Connected': <dbus_fast.signature.Variant ('b', False)>}, []]
DEBUG:bleak.backends.bluezdbus.client:Device disconnected (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX)
DEBUG:bleak.backends.bluezdbus.client:_cleanup_all(/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX)
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028/char0029): ['org.bluez.GattCharacteristic1', {'Notifying': <dbus_fast.signature.Variant ('b', False)>}, []]
Traceback (most recent call last):
File "/home/Anonymous/meshcore/meshy.py", line 18, in <module>
asyncio.run(main())
~~~~~~~~~~~^^^^^^^^
File "/usr/lib64/python3.13/asyncio/runners.py", line 195, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "/usr/lib64/python3.13/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib64/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/home/Anonymous/meshcore/meshy.py", line 11, in main
mc = await MeshCore.create_ble(ADDRESS, pin=PIN, default_timeout=1,auto_reconnect=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/meshcore.py", line 161, in create_ble
await mc.connect()
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/meshcore.py", line 170, in connect
return await self.commands.send_appstart()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/commands/device.py", line 15, in send_appstart
return await self.send(b1, [EventType.SELF_INFO])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/commands/base.py", line 157, in send
await self._sender_func(data)
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/commands/base.py", line 69, in sender
await connection.send(data)
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/connection_manager.py", line 165, in send
return await self.connection.send(data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/ble_cx.py", line 165, in send
await self.client.write_gatt_char(self.rx_char, bytes(data), response=True)
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/bleak/__init__.py", line 737, in write_gatt_char
await self._backend.write_gatt_char(characteristic, data, response)
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/bleak/backends/bluezdbus/client.py", line 830, in write_gatt_char
reply = await self._bus.call(
^^^^^^^^^^^^^^^^^^^^^
...<11 lines>...
)
^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/dbus_fast/aio/message_bus.py", line 409, in call
await future
File "src/dbus_fast/aio/message_reader.py", line 25, in dbus_fast.aio.message_reader._message_reader
File "src/dbus_fast/_private/unmarshaller.py", line 870, in dbus_fast._private.unmarshaller.Unmarshaller._unmarshall
File "src/dbus_fast/_private/unmarshaller.py", line 734, in dbus_fast._private.unmarshaller.Unmarshaller._read_header
File "src/dbus_fast/_private/unmarshaller.py", line 455, in dbus_fast._private.unmarshaller.Unmarshaller._read_to_pos
File "src/dbus_fast/_private/unmarshaller.py", line 395, in dbus_fast._private.unmarshaller.Unmarshaller._read_sock_with_fds
EOFError
On the second attempt when device is already paired this is the output of the example ble infos script with debugging enabled:
DEBUG:asyncio:Using selector: EpollSelector
DEBUG:bleak.backends.bluezdbus.client:Connecting to device @ XX:XX:XX:XX:XX:XX
DEBUG:bleak.backends.bluezdbus.manager:initial properties: {'/org/bluez': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.AgentManager1': {}, 'org.bluez.ProfileManager1': {}}, '/org/bluez/hci0': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Adapter1': {'Address': 'E8:48:B8:C8:20:00', 'AddressType': 'public', 'Name': 'nobi', 'Alias': 'nobi', 'Class': 8126724, 'Connectable': False, 'Powered': True, 'PowerState': 'on', 'Discoverable': False, 'DiscoverableTimeout': 180, 'Pairable': True, 'PairableTimeout': 0, 'Discovering': False, 'UUIDs': ['00001133-0000-1000-8000-00805f9b34fb', '0000110e-0000-1000-8000-00805f9b34fb', '03b80e5a-ede8-4b33-a751-6ce34ec4c700', '00001105-0000-1000-8000-00805f9b34fb', '00001132-0000-1000-8000-00805f9b34fb', '00001200-0000-1000-8000-00805f9b34fb', '00001104-0000-1000-8000-00805f9b34fb', '00005005-0000-1000-8000-0002ee000001', '0000110c-0000-1000-8000-00805f9b34fb', '00001801-0000-1000-8000-00805f9b34fb', '0000112f-0000-1000-8000-00805f9b34fb', '0000110b-0000-1000-8000-00805f9b34fb', '0000180a-0000-1000-8000-00805f9b34fb', '00001800-0000-1000-8000-00805f9b34fb', '0000112e-0000-1000-8000-00805f9b34fb', '0000111f-0000-1000-8000-00805f9b34fb', '0000110a-0000-1000-8000-00805f9b34fb', '185f3df4-3268-4e3f-9fca-d4d5059915bd', '00001106-0000-1000-8000-00805f9b34fb', '0000111e-0000-1000-8000-00805f9b34fb'], 'Modalias': 'usb:v1D6Bp0246d0554', 'Roles': ['central', 'peripheral'], 'Manufacturer': 93, 'Version': 10}, 'org.freedesktop.DBus.Properties': {}, 'org.bluez.BatteryProviderManager1': {}, 'org.bluez.GattManager1': {}, 'org.bluez.Media1': {'SupportedUUIDs': ['0000110a-0000-1000-8000-00805f9b34fb', '0000110b-0000-1000-8000-00805f9b34fb'], 'SupportedFeatures': ['tx-timestamping']}, 'org.bluez.NetworkServer1': {}, 'org.bluez.LEAdvertisingManager1': {'ActiveInstances': 0, 'SupportedInstances': 4, 'SupportedIncludes': ['tx-power', 'appearance', 'local-name'], 'SupportedSecondaryChannels': ['1M', '2M', 'Coded'], 'SupportedFeatures': ['CanSetTxPower', 'HardwareOffload'], 'SupportedCapabilities': {'MinTxPower': -19, 'MaxTxPower': 23, 'MaxAdvLen': 251, 'MaxScnRspLen': 251}}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.Device1': {'Address': 'XX:XX:XX:XX:XX:XX', 'AddressType': 'public', 'Name': 'Anonymous', 'Alias': 'Anonymous', 'Paired': True, 'Bonded': True, 'Trusted': True, 'Blocked': False, 'LegacyPairing': False, 'CablePairing': False, 'Connected': False, 'UUIDs': ['00001800-0000-1000-8000-00805f9b34fb', '00001801-0000-1000-8000-00805f9b34fb', '6e400001-b5a3-f393-e0a9-e50e24dcca9e'], 'Adapter': '/org/bluez/hci0', 'ServicesResolved': False, 'AdvertisingFlags': b'\x06'}, 'org.freedesktop.DBus.Properties': {}, 'org.bluez.Bearer.LE1': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattService1': {'Handle': 40, 'UUID': '6e400001-b5a3-f393-e0a9-e50e24dcca9e', 'Device': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX', 'Primary': True, 'Includes': []}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028/char002c': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattCharacteristic1': {'Handle': 44, 'UUID': '6e400002-b5a3-f393-e0a9-e50e24dcca9e', 'Service': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028', 'Value': b'', 'Flags': ['write']}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028/char0029': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattCharacteristic1': {'Handle': 41, 'UUID': '6e400003-b5a3-f393-e0a9-e50e24dcca9e', 'Service': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028', 'Value': b'', 'Notifying': False, 'Flags': ['read', 'notify'], 'NotifyAcquired': False}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028/char0029/desc002b': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattDescriptor1': {'Handle': 43, 'UUID': '00002902-0000-1000-8000-00805f9b34fb', 'Characteristic': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0028/char0029', 'Value': b''}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0014': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattService1': {'Handle': 20, 'UUID': '00001800-0000-1000-8000-00805f9b34fb', 'Device': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX', 'Primary': True, 'Includes': []}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0014/char0019': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattCharacteristic1': {'Handle': 25, 'UUID': '00002aa6-0000-1000-8000-00805f9b34fb', 'Service': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0014', 'Value': b'', 'Flags': ['read']}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0014/char0017': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattCharacteristic1': {'Handle': 23, 'UUID': '00002a01-0000-1000-8000-00805f9b34fb', 'Service': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0014', 'Value': b'', 'Flags': ['read']}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0014/char0015': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattCharacteristic1': {'Handle': 21, 'UUID': '00002a00-0000-1000-8000-00805f9b34fb', 'Service': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0014', 'Value': b'', 'Flags': ['read']}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0001': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattService1': {'Handle': 1, 'UUID': '00001801-0000-1000-8000-00805f9b34fb', 'Device': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX', 'Primary': True, 'Includes': []}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0001/char0002': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattCharacteristic1': {'Handle': 2, 'UUID': '00002a05-0000-1000-8000-00805f9b34fb', 'Service': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0001', 'Value': b'', 'Notifying': False, 'Flags': ['indicate']}, 'org.freedesktop.DBus.Properties': {}}, '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0001/char0002/desc0004': {'org.freedesktop.DBus.Introspectable': {}, 'org.bluez.GattDescriptor1': {'Handle': 4, 'UUID': '00002902-0000-1000-8000-00805f9b34fb', 'Characteristic': '/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/service0001/char0002', 'Value': b''}, 'org.freedesktop.DBus.Properties': {}}]
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', True)>}, []]
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX): ['org.bluez.Device1', {'RSSI': <dbus_fast.signature.Variant ('n', -40)>, 'TxPower': <dbus_fast.signature.Variant ('n', 9)>}, []]
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX): ['org.bluez.Device1', {}, ['TxPower', 'RSSI']]
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0): ['org.bluez.Adapter1', {'Discovering': <dbus_fast.signature.Variant ('b', False)>}, []]
DEBUG:bleak.backends.bluezdbus.client:Connecting to BlueZ path /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX): ['org.bluez.Device1', {'Connected': <dbus_fast.signature.Variant ('b', True)>}, []]
DEBUG:bleak.backends.bluezdbus.manager:received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX): ['org.bluez.Device1', {'Connected': <dbus_fast.signature.Variant ('b', False)>}, []]
DEBUG:bleak.backends.bluezdbus.client:Device disconnected (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX)
DEBUG:bleak.backends.bluezdbus.client:_cleanup_all(/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX)
DEBUG:bleak.backends.bluezdbus.client:_cleanup_all(/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX)
DEBUG:bleak.backends.bluezdbus.client:already disconnected (/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX)
Traceback (most recent call last):
File "/home/Anonymous/meshcore/meshy.py", line 18, in <module>
asyncio.run(main())
~~~~~~~~~~~^^^^^^^^
File "/usr/lib64/python3.13/asyncio/runners.py", line 195, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "/usr/lib64/python3.13/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib64/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/home/Anonymous/meshcore/meshy.py", line 11, in main
mc = await MeshCore.create_ble(ADDRESS, pin=PIN, default_timeout=1,auto_reconnect=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/meshcore.py", line 161, in create_ble
await mc.connect()
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/meshcore.py", line 166, in connect
result = await self.connection_manager.connect()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/connection_manager.py", line 59, in connect
result = await self.connection.connect()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/meshcore/ble_cx.py", line 97, in connect
await self.client.connect()
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/bleak/__init__.py", line 580, in connect
await self._backend.connect(self._pair_before_connect, **kwargs)
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/bleak/backends/bluezdbus/client.py", line 355, in connect
await self._get_services(
dangerous_use_bleak_cache=dangerous_use_bleak_cache
)
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/bleak/backends/bluezdbus/client.py", line 713, in _get_services
self.services = await manager.get_services(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
self._device_path, dangerous_use_bleak_cache, self._requested_services
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/bleak/backends/bluezdbus/manager.py", line 687, in get_services
await self._wait_for_services_discovery(device_path)
File "/home/Anonymous/meshcore/.venv/lib64/python3.13/site-packages/bleak/backends/bluezdbus/manager.py", line 857, in _wait_for_services_discovery
raise BleakError("failed to discover services, device disconnected")
bleak.exc.BleakError: failed to discover services, device disconnected
Metadata
Metadata
Assignees
Labels
No labels