BLE MESH support on CYW43455 using Bluez v5.52 on Linux

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
maku_2263101
Level 3
Level 3
First like received First like given

Hi,

Need help in bringing up BLE Mesh on CYW43455 module.

Below is the required mesh setup scenario:

  1. Create one CYW43455 (Device1) module as unprovisioned node. So that it will send beacons with Mesh supported data.
  2. Using meshctl on other CYW43455 (Device2) module will perform scan and provision the scanned device (Device1) to form a Mesh network.

Currently able to scan unprovisioned nodes of nordic (nRF52833-DK) devices on CYW43455 using meshctl.

But not able to create CYW43455 module as unprovisioned node.

VinayakS_26​, @vinayak​​​​, GauravS_31 DheerajP_41​, VictorZ_46

Please share us the steps to create Mesh network among CYW43455 devices using Bluez on Linux platform.

vinayak,

0 Likes
1 Solution

Hi,

Thank you for providing the details.

Currently, we do not have a ready solution available. But, we have a plan to support it, hopefully towards the end of the year.

Thanks,

-Dheeraj

View solution in original post

5 Replies
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi Manoj,

CYW43455 does not support SIG mesh.

"Currently able to scan unprovisioned nodes of nordic (nRF52833-DK) devices on CYW43455 using meshctl." -> Which SDK version and applications are you using?

Thanks,

-Dheeraj

Hello DheerajP_41,

Thank you for the response.

We are using bluez5.52 package on Linux V4.9.87 platform.

bluez package has an inbuilt tool meshctl used for provisioning the unprovisioned nodes.

So we need any sample application on Linux platform to create Unprovisioned Nodes that will broadcast Mesh Information and will be used by the Provisioned to add the device to Mesh Network.

Below is the log output of discovering unprovisioned nodes on CYW43455 using meshctl tool:

~# meshctl

Waiting to connect to bluetoothd...Reading prov_db.json and local_node.json from /home/root/.config/meshctl directory

[meshctl]# discover-unprovisioned on

SetDiscoveryFilter success

Discovery started

Adapter property changed

[CHG] Controller B8:D7:AF:5D:37:45 Discovering: yes

                Mesh Provisioning Service (00001827-0000-1000-8000-00805f9b34fb)

                        Device UUID: 5ff011eae3517548b9cf15f63d02aee4

                        OOB: 0000

[meshctl]# provision 5ff011eae3517548b9cf15f63d02aee4

Trying to connect Device C2:3D:F6:15:CF:F9 nRF5x Mesh Switch

Adapter property changed

[CHG] Controller B8:D7:AF:5D:37:45 Discovering: no

Connection successful

Service added /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000a

Service added /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e

Char added /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e/char000f:

Char added /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e/char0011:

Services resolved yes

Found matching char: path /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e/char000f, uuid 00002adb-0000-1000-8000-00805f9b34fb

Found matching char: path /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e/char0011, uuid 00002adc-0000-1000-8000-00805f9b34fb

Start notification on /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e/char0011

Characteristic property changed /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e/char0011

AcquireNotify success: fd 7 MTU 69

Notify for Mesh Provisioning Out Data started

Open-Node: 0x6b4b8

Open-Prov: 0x70640

Open-Prov: proxy 0x66628

Initiated provisioning

Characteristic property changed /org/bluez/hci0/dev_C2_3D_F6_15_CF_F9/service000e/char000f

AcquireWrite success: fd 8 MTU 69

GATT-TX:         03 00 10

GATT-RX:         03 01 03 00 01 00 01 00 00 00 00 00 00

Got provisioning data (12 bytes)

         01 03 00 01 00 01 00 00 00 00 00 00

GATT-TX:         03 02 00 00 01 00 00

GATT-TX:         03 03 d4 aa 8b 06 09 a2 f6 62 66 45 83 44 5b 30

GATT-TX:         e2 5f 93 31 40 f6 5e e3 8d ff fb 92 44 f7 1d 50

GATT-TX:         21 0e a4 17 4e 82 76 f9 a6 45 09 72 32 d0 59 e7

GATT-TX:         97 2e 9d 13 b2 bf 20 41 7d 71 1a 38 bf 59 3c c0

GATT-TX:         a9 4b

GATT-RX:         03 03 06 7d 87 4c 9b 38 19 8d 23 5a 7f f6 2f c6

GATT-RX:         2d f7 98 92 13 ab 0b 43 14 c0 09 2a 06 86 10 87

GATT-RX:         53 dc 6f 66 70 ef 21 e9 05 0e 39 fe 73 7c eb 3e

GATT-RX:         65 8f 58 ad 3b ce 25 78 0a 6c 22 e0 6d df 7a ea

GATT-RX:         70 96

Got provisioning data (65 bytes)

         03 06 7d 87 4c 9b 38 19 8d 23 5a 7f f6 2f c6 2d

         f7 98 92 13 ab 0b 43 14 c0 09 2a 06 86 10 87 53

         dc 6f 66 70 ef 21 e9 05 0e 39 fe 73 7c eb 3e 65

         8f 58 ad 3b ce 25 78 0a 6c 22 e0 6d df 7a ea 70

         96

Request hexadecimal key (hex 16 octets)

[mesh] Enter key (hex number):

0 Likes
VictorZ_46
Employee
Employee
5 comments on blog 25 sign-ins 250 likes received

Hi Manoj,

Just want to confirm if I understand it correctly. Your use case really require a bunch of BT/WiFi combo modules with MCU running Linux/BlueZ to build BT mesh between them. Right? Normally a provisioner will be BT/WiFi combo, but all other devices are BT only. Cypress indeed provide a bunch of different modules like that.

Thanks,

Victor

0 Likes

Hello VictorZ_46​,

Thank you for the reply.

You are right we require to establish a mesh network between multiple devices (CYW43455).

Please share us any applications available on Linux Platform.

0 Likes

Hi,

Thank you for providing the details.

Currently, we do not have a ready solution available. But, we have a plan to support it, hopefully towards the end of the year.

Thanks,

-Dheeraj