cancel
Showing results for 
Search instead for 
Did you mean: 

BlueNRG: No HCI ACL Data

torsten2
Associate II
Posted on May 13, 2015 at 10:43

Hello,

now I have my STM32 up and running, communicating with a BlueNRG. But after the first connection event, I do not get any ACL data. With my BLE sniffer, I see an ATT ''exchange MTU request'', but I don't get any incoming ACL data. 

I've read the documentation to both, HCI_Set_Event_Mask and HCI_LE_Set_Event_Mask, there seems to be no means to switch on ACL data.

I've issued a HCI_LE_Read_Buffer_Size command and got the response, that the HCI stack accepts one ACL data packets with a maximum length of 0x1b (that's the minimum ATT MTU + L2CAP overhead). So it looks like the HCI stack knows about ACL data packets and 

UM1755 

states in 2.1. that 

HCI ACL data packet are supported.

I receive also the disconnect event from the GATT client after it tried to issue some ATT requests and timed out.

What could be the issue here? Any help, pointer or comments are highly appreciated.

kind regards,

Torsten

#bluenrg-hci-acl-data
2 REPLIES 2
torsten2
Associate II
Posted on June 21, 2015 at 16:52

up, up 😉

SalvoP
ST Employee
Posted on July 21, 2015 at 12:09

Hi Torsten,

On of the advantages of developing with BlueNRG is that the BLE stack is embedded. So normally you will not use ACL packets. ACL packets are a way to send/ receive raw data to/from the Link Layer. But in BlueNRG you communicate to the Host (GAP and GATT), not to the Link Layer. In this way the external processor has much less work to do, because all the BLE Host stack processing is done by the BlueNRG.

If for some reason you still want to use ACL packets with BlueNRG and bypass the Host embedded inside it, you can use ACI_HAL_WRITE_CONFIG_DATA with offset=0x2C and Length=1 to write 1 into LL_WITHOUT_HOST internal variable. This command can be launched only after reset and before any other command.

Regards

Salvo