CYW43438/BCM43438 when connection event length is provided to be 0

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

cross mob
Anonymous
Not applicable

Hi!,

I'm using a BCM43438-based device (RPI3 model B) acting as Central on a BLE connection with a Peripheral device. After successfully connecting both devices and enabling notifications on the Central device using hcitool/gatttool commands i started receiving notifications on the Raspberry Pi3 model B, in particular, it receives 5 BLE packets with notified values per connection interval according to the default connection parameters. Once both devices are connected, i update the connection parameters in order to set, among other parameters, the CE length to 1 (0.625ms) using the hcitool command: sudo hcitool cmd 0x08 0x13 0x40 0x00 0xFF 0 0xFF 0 0 0 0x60 0 0x01 0 0x01 0

Once the connection parameters are updated, i checked that the Central device starts receiving just 1 BLE packet per connection interval, which is the expected behavioral. However, in case i update the connection parameters to set the CE length to 0 using the same procedure, the Raspberry Pi3 model B receives 5 BLE packets with notified values per connection interval.

So, according to the results obtained from this basic experiment, it seems that the BCM43438 device ignores the CE length value in case it is 0, as it is considered to be non valid. Is that correct?. Is this behavioral documented somewhere?

Thanks

0 Likes
1 Solution
Anonymous
Not applicable

Hey Felix,

When the host sends a connection update request to the controller, the controller can accept or reject the request. I am assuming that the values are rejected when you set the CE length to 0 because of which it is using default length and receiving all the packets.

Unfortunately, there is no documentation regarding this.

By the way, what is the reason you want to change the CE length?

View solution in original post

2 Replies