Skip to content

Support for BP786N (series 10) #27

@maxromanovsky

Description

@maxromanovsky

I think BP786N (series 10) has been discontinued by Omron, but it still works well and supported by the Omron Connect app.

I can't find a landing page for it anymore, but the manual is still available: https://omronhealthcare.com/wp-content/uploads/BP786N-IM_EN.pdf

I would be happy to assist with the troubleshooting :)

I have been trying to connect to it using

  • RPI Zero 2
  • an external rtl8761bu BLE 5.3 dongle
  • built-in Bluetooth adapter has been disabled

bluetoothctl running in another terminal, and when asked interactively [agent] Accept pairing (yes/no): I answered yes

$ python3 ./omblepy.py -p -d HEM-7322T -m D0:05:06:80:89:00
2024-07-12 20:22:08,578 - omblepy - INFO - Attempt to import module for device hem-7322t
2024-07-12 20:22:08,730 - omblepy - INFO - Attempt connecting to D0:05:06:80:89:00.
2024-07-12 20:22:22,578 - omblepy - INFO - unpair and disconnect
Traceback (most recent call last):
  File "/home/max/omblepy-main/./omblepy.py", line 367, in main
    raise OSError("""Some required bluetooth attributes not found on this ble device.
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: Some required bluetooth attributes not found on this ble device.
                             This means that either, you connected to a wrong device,
                             or that your OS has a bug when reading BT LE device attributes (certain linux versions).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/max/omblepy-main/./omblepy.py", line 389, in <module>
    asyncio.run(main())
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/max/omblepy-main/./omblepy.py", line 387, in main
    await bleClient.disconnect()
  File "/usr/local/lib/python3.11/dist-packages/bleak/__init__.py", line 624, in disconnect
    return await self._backend.disconnect()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/bleak/backends/bluezdbus/client.py", line 425, in disconnect
    assert self._bus is None
           ^^^^^^^^^^^^^^^^^
AssertionError

bluetoothctl output:

[...]
[CHG] Device D0:05:06:80:89:00 Connected: yes
Request authorization
[agent] Accept pairing (yes/no): [NEW] Secondary Service (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0100
    00001801-0000-1000-8000-00805f9b34fb
    Generic Attribute Profile
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0100/char0110
    00002a05-0000-1000-8000-00805f9b34fb
    Service Changed
[agent] Accept pairing (yes/no): [NEW] Descriptor (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0100/char0110/desc0112
    00002902-0000-1000-8000-00805f9b34fb
    Client Characteristic Configuration
[agent] Accept pairing (yes/no): [NEW] Secondary Service (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200
    0000180a-0000-1000-8000-00805f9b34fb
    Device Information
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0210
    00002a23-0000-1000-8000-00805f9b34fb
    System ID
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0220
    00002a24-0000-1000-8000-00805f9b34fb
    Model Number String
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0230
    00002a25-0000-1000-8000-00805f9b34fb
    Serial Number String
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0240
    00002a26-0000-1000-8000-00805f9b34fb
    Firmware Revision String
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0250
    00002a27-0000-1000-8000-00805f9b34fb
    Hardware Revision String
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0260
    00002a28-0000-1000-8000-00805f9b34fb
    Software Revision String
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0270
    00002a29-0000-1000-8000-00805f9b34fb
    Manufacturer Name String
[agent] Accept pairing (yes/no): [NEW] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0280
    00002a2a-0000-1000-8000-00805f9b34fb
    IEEE 11073-20601 Regulatory Cert. Data List
[agent] Accept pairing (yes/no): [CHG] Device D0:05:06:80:89:00 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[agent] Accept pairing (yes/no): [CHG] Device D0:05:06:80:89:00 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[agent] Accept pairing (yes/no): [CHG] Device D0:05:06:80:89:00 UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[agent] Accept pairing (yes/no): [CHG] Device D0:05:06:80:89:00 ServicesResolved: yes
[agent] Accept pairing (yes/no): [CHG] Device D0:05:06:80:89:00 Name: BP786N
[agent] Accept pairing (yes/no): [CHG] Device D0:05:06:80:89:00 Alias: BP786N
[agent] Accept pairing (yes/no): [CHG] Device D0:05:06:80:89:00 Trusted: yes
[agent] Accept pairing (yes/no): yes
[CHG] Device D0:05:06:80:89:00 Bonded: yes
[CHG] Device D0:05:06:80:89:00 Paired: yes
[CHG] Device D0:05:06:80:89:00 ServicesResolved: no
[CHG] Device D0:05:06:80:89:00 Connected: no
[DEL] Descriptor (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0100/char0110/desc0112
    00002902-0000-1000-8000-00805f9b34fb
    Client Characteristic Configuration
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0100/char0110
    00002a05-0000-1000-8000-00805f9b34fb
    Service Changed
[DEL] Secondary Service (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0100
    00001801-0000-1000-8000-00805f9b34fb
    Generic Attribute Profile
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0210
    00002a23-0000-1000-8000-00805f9b34fb
    System ID
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0220
    00002a24-0000-1000-8000-00805f9b34fb
    Model Number String
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0230
    00002a25-0000-1000-8000-00805f9b34fb
    Serial Number String
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0240
    00002a26-0000-1000-8000-00805f9b34fb
    Firmware Revision String
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0250
    00002a27-0000-1000-8000-00805f9b34fb
    Hardware Revision String
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0260
    00002a28-0000-1000-8000-00805f9b34fb
    Software Revision String
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0270
    00002a29-0000-1000-8000-00805f9b34fb
    Manufacturer Name String
[DEL] Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200/char0280
    00002a2a-0000-1000-8000-00805f9b34fb
    IEEE 11073-20601 Regulatory Cert. Data List
[DEL] Secondary Service (Handle 0x0000)
    /org/bluez/hci0/dev_D0_05_06_80_89_00/service0200
    0000180a-0000-1000-8000-00805f9b34fb
    Device Information
[DEL] Device D0:05:06:80:89:00 BP786N
[...]

OS Details:

$ dmesg | grep tooth
[   12.674245] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[   12.690214] Bluetooth: hci0: RTL: rom_version status=0 version=1
[   12.690260] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[   12.697960] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
[   12.709476] Bluetooth: hci0: RTL: cfg_sz 6, total sz 30210
[   14.642482] Bluetooth: hci0: RTL: fw version 0xdfc6d922

$ hcitool dev
Devices:
	hci0	8A:88:4B:E0:A5:72

$ uname -a
Linux rpi02w 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux

$ cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions