When connecting 4 devices to CC2564B and I wish to have 2 of them in call at once (transferring audio to each other), sometimes I don't get any call audio, and the following warning floods the logger window:
*** WARNING *** FBF not enough available slots for the next scheduling of (E)SCO instance
I've been able to work around it manually by noticing this error occurring in the logger and closing the SCO links and reopening them. But in those cases, it occurs with those two devices every time I try to start the call for that session, and I have to close and reopen the SCO links every time to get the audio working. However, if I start a call on the other two devices that are connected instead, there is no problem.
What can I do to avoid this error? I can't automatically detect that the error is occurring, since there's no indication sent to me via the Bluetooth stack (the artist formerly known as Bluetopia)
Here is the rough sequence of events that occurs:
1. I receive status of incoming call from remote 2 via HFP, stop any A2DP streams and reconfigure codec
2. HFRE_Setup_Audio_Connection (HCI_Setup_Synchronous_Connection) to remote 1 (eSCO)
3. HCI_Synchronous_Connection_Complete_Event (success)
4. HCI_Connection_Request_Event from remote 2 (eSCO)
5. HCI_Synchronous_Connection_Complete_Event (success)
6. Shortly thereafter, warning starts flooding window
Here is an excerpt
430064 01/22/16 09:39:11.389 +0:05:56.474 0x00045A0F 0x00045A0F HCI_Setup_Synchronous_Connection ----> 430065 01/22/16 09:39:11.389 +0:05:56.474 0x00045A10 0x00045A10 <---- HCI_Command_Status_Event 430066 01/22/16 09:39:11.389 +0:05:56.474 0x00045A13 0x00045A13 LMP_eSCO_link_req ----> eSCO handle = 1, eSCO LT_ADDR = 4, timing control flags = 0, D-eSCO = 0, T-eSCO = 12, W-eSCO = 2, SCO packet type M->S = 38, SCO packet type S->M = 38, Packet Length M->S = 60, Packet Length S->M = 60, air mode = 2, negotiation state = 0 430087 01/22/16 09:39:11.413 +0:05:56.498 0x00045A27 0x00045A27 <---- LMP_eSCO_link_req eSCO handle = 1, eSCO LT_ADDR = 4, timing control flags = 0, D-eSCO = 0, T-eSCO = 6, W-eSCO = 2, SCO packet type M->S = 7, SCO packet type S->M = 7, Packet Length M->S = 30, Packet Length S->M = 30, air mode = 2, negotiation state = 4 430088 01/22/16 09:39:11.413 +0:05:56.498 0x00045A29 0x00045A29 LMP_eSCO_link_req ----> eSCO handle = 1, eSCO LT_ADDR = 4, timing control flags = 0, D-eSCO = 2, T-eSCO = 6, W-eSCO = 2, SCO packet type M->S = 7, SCO packet type S->M = 7, Packet Length M->S = 30, Packet Length S->M = 30, air mode = 2, negotiation state = 1 430089 01/22/16 09:39:11.413 +0:05:56.498 0x00045A2C 0x00045A2C <---- LMP_accepted_ext escape opcode = 127, extended opcode = 12 430090 01/22/16 09:39:11.414 +0:05:56.499 0x00045A2C 0x00045A2C <---- HCI_Synchronous_Connection_Complete_Event 430128 01/22/16 09:39:11.423 +0:05:56.508 0x00045A2D 0x00045A2D <---- HCI_Max_Slots_Change_Event 430129 01/22/16 09:39:11.424 +0:05:56.509 0x00045A2D 0x00045A2D <---- HCI_Max_Slots_Change_Event 430130 01/22/16 09:39:11.425 +0:05:56.510 0x00045A2E 0x00045A2E <---- HCI_Max_Slots_Change_Event 430131 01/22/16 09:39:11.425 +0:05:56.510 0x00045A2E 0x00045A2E <---- HCI_Max_Slots_Change_Event 430132 01/22/16 09:39:11.425 +0:05:56.510 0x00045A2F 0x00045A2F LMP_max_slots ----> Max Slots = 1 430133 01/22/16 09:39:11.425 +0:05:56.510 0x00045A30 0x00045A30 LMP_max_slots ----> Max Slots = 1 430134 01/22/16 09:39:11.425 +0:05:56.510 0x00045A30 0x00045A30 <---- LMP_max_slots Max Slots = 3 430135 01/22/16 09:39:11.425 +0:05:56.510 0x00045A33 0x00045A33 LMP_max_slots ----> Max Slots = 1 430178 01/22/16 09:39:11.440 +0:05:56.525 0x00045A48 0x00045A48 <---- LMP_max_slots_req Max Slots = 5 430179 01/22/16 09:39:11.440 +0:05:56.525 0x00045A4A 0x00045A4A LMP_not_accepted ----> Opcode = LMP_max_slots_req, Reason = Unspecified Error 430201 01/22/16 09:39:11.483 +0:05:56.568 0x00045A66 0x00045A66 LMP_max_slots ----> Max Slots = 1 430314 01/22/16 09:39:11.885 +0:05:56.970 0x00045B32 0x00045B32 <---- LMP_max_slots_req Max Slots = 5 430315 01/22/16 09:39:11.885 +0:05:56.970 0x00045B34 0x00045B34 LMP_not_accepted ----> Opcode = LMP_max_slots_req, Reason = Unspecified Error 430316 01/22/16 09:39:11.885 +0:05:56.970 0x00045B38 0x00045B38 <---- LMP_eSCO_link_req eSCO handle = 0, eSCO LT_ADDR = 0, timing control flags = 0, D-eSCO = 0, T-eSCO = 12, W-eSCO = 2, SCO packet type M->S = 38, SCO packet type S->M = 38, Packet Length M->S = 60, Packet Length S->M = 60, air mode = 2, negotiation state = 0 430317 01/22/16 09:39:11.886 +0:05:56.971 0x00045B38 0x00045B38 <---- HCI_Connection_Request_Event 430318 01/22/16 09:39:11.887 +0:05:56.972 0x00045B39 0x00045B39 HCI_Read_Voice_Setting ----> 430319 01/22/16 09:39:11.888 +0:05:56.973 0x00045B39 0x00045B39 <---- HCI_Command_Complete_Read_Voice_Setting_Event 430320 01/22/16 09:39:11.888 +0:05:56.973 0x00045B3A 0x00045B3A HCI_Accept_Synchronous_Connection_Request ----> 430352 01/22/16 09:39:11.896 +0:05:56.981 0x00000000 0x00000000 <---- HCI_Protocol_Viewer_Message_Was_Dropped_Event 430353 01/22/16 09:39:11.896 +0:05:56.981 0x00045B41 0x00045B41 LMP_eSCO_link_req ----> eSCO handle = 2, eSCO LT_ADDR = 5, timing control flags = 0, D-eSCO = 2, T-eSCO = 12, W-eSCO = 2, SCO packet type M->S = 38, SCO packet type S->M = 38, Packet Length M->S = 60, Packet Length S->M = 60, air mode = 2, negotiation state = 1 430354 01/22/16 09:39:11.896 +0:05:56.981 0x00045B46 0x00045B46 <---- LMP_accepted_ext escape opcode = 127, extended opcode = 12 430355 01/22/16 09:39:11.897 +0:05:56.982 0x00045B46 0x00045B46 <---- HCI_Synchronous_Connection_Complete_Event 430356 01/22/16 09:39:11.897 +0:05:56.982 0x00045B47 0x00045B47 <---- LMP_max_slots_req Max Slots = 3 430357 01/22/16 09:39:11.897 +0:05:56.982 0x00045B4A 0x00045B4A LMP_not_accepted ----> Opcode = LMP_max_slots_req, Reason = Unspecified Error 430512 01/22/16 09:39:11.901 +0:05:56.986 *** WARNING *** FBF not enough available slots for the next scheduling of (E)SCO instance