Bluetooth ACL Problems

I have been having some problems sending and receiving HCI ACL packets. For some reason I have to wait about 20ms between sending packets when sending from master to slave, otherwise the module will crash. Sending ACL packets from slave to master does not work at all. Therefore, I have two questions:

  1. When do you know if it is safe to send another ACL packet?
  2. Why is my communication only 1 way?

The master bluetooth module is connected to a Rabbit 3000 Microprocessor, and the slave is attached to a PC, both over rs232/UART @ 57.6kbps. Both Bluetooth modules are Ericsson ROK 101 008 modules. I should note that I have no problem sending HCI commands and receiving HCI events. The problem is only with HCI ACL Data packets.

Thanks!

-Mike

Reply to
mike lyons
Loading thread data ...

I forgot to note that all HCI ACL packets payloads are in L2CAP format, as I know they must be for the ROK's

-Mike

Reply to
mike lyons

Hi there,

It is already a long time since I worked on bluetooth so if my memory serves correctly.

To work from HCI level:

First, you have to send HCI_Connect() with BD_ADDR get from HCI_Inquiry() command. Verify the link is setup. The HCI_Connect() will return a Connection ID, and it will be used to send L2CAP data packet. Regarding L2CAP, you also have to setup the L2CAP connection ID as well.

To know when you can send an ACL data packet, There is a HCI event to tell how many ACL buffers and SCO buffer available for the host to send out, as long those numbers is not zero, you can send ACL data packet.

There is no limitation on interval time between ACL packet. I guess the reason is that the connection is not setup properly so the internal buffer on the chip filled up but you keep sending packet in to overflow the device. The fact the packet can't be sent from slave could verify my assumption. Please verify the result of HCI_Connect() and verify how you setup the slave. Did it send a HCI_Accept() command following a HCI_Connection_request() event?

Just some pointers there, you could read the bluetooth specification for reference.

Regards

Duy Do

Reply to
Duy K Do

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.