This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

GAP_EstablishLinkRequest Unknown status code

This question is primarily for the TI guys and sorry for the long post. 

Anyways, I was using BTOOL with my application and received a unknown STATUS code as seen at the end of this BTOOL trace. This is the Status : 0x11 (Already performing that task) response from the Establish Link Request. I can't find any description of this status message in any TI documentation. Furthermore, as one can see from this trace, I only have one GAP_EstablishLinkRequest, so why am getting a response that seems to indicate that a request is already pending. According to the TI BLE Vendor Specific HCI Guide section 12.8, there are only three return status; SUCCESS (=0), "Not ready to perform this action" (=0x10) and "Invalid profile role" (=0x12). There is no 0x11 status.

So can anyone explain what to do about this status message. Again, I sent only one GAP_EstablishLinkRequest as seen in the BTOOL trace below.

Thanks,

Dan

[1] : <Tx> - 08:18:18.150

-Type : 0x01 (Command)

-Opcode : 0xFE00 (GAP_DeviceInit)

-Data Length : 0x26 byte(s)

ProfileRole : 0x08 (Central)

MaxScanRsps : 0x03

IRK : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

CSRK : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

SignCounter : 0x00000001

Dump(Tx):

01 00 FE 26 08 03 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 01 00 00 00

-----------------------------------------------------------------------------------------------

[2] : <Rx> - 08:18:18.250

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x00 (Success)

OpCode : 0xFE00 (GAP_DeviceInit)

DataLength : 0x00

Dump(Rx):

04 FF 06 7F 06 00 00 FE 00

-----------------------------------------------------------------------------------------------

[3] : <Tx> - 08:18:18.400

-Type : 0x01 (Command)

-Opcode : 0xFE31 (GAP_GetParam)

-Data Length : 0x01 byte(s)

ParamID : 0x15 (TGAP_CONN_EST_INT_MIN)

Dump(Tx):

01 31 FE 01 15

-----------------------------------------------------------------------------------------------

[4] : <Tx> - 08:18:18.420

-Type : 0x01 (Command)

-Opcode : 0xFE31 (GAP_GetParam)

-Data Length : 0x01 byte(s)

ParamID : 0x16 (TGAP_CONN_EST_INT_MAX)

Dump(Tx):

01 31 FE 01 16

-----------------------------------------------------------------------------------------------

[5] : <Tx> - 08:18:18.430

-Type : 0x01 (Command)

-Opcode : 0xFE31 (GAP_GetParam)

-Data Length : 0x01 byte(s)

ParamID : 0x1A (TGAP_CONN_EST_LATENCY)

Dump(Tx):

01 31 FE 01 1A

-----------------------------------------------------------------------------------------------

[6] : <Tx> - 08:18:18.440

-Type : 0x01 (Command)

-Opcode : 0xFE31 (GAP_GetParam)

-Data Length : 0x01 byte(s)

ParamID : 0x19 (TGAP_CONN_EST_SUPERV_TIMEOUT)

Dump(Tx):

01 31 FE 01 19

-----------------------------------------------------------------------------------------------

[7] : <Rx> - 08:18:18.440

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x2C bytes(s)

Event : 0x0600 (GAP_DeviceInitDone)

Status : 0x00 (Success)

DevAddr : 3C:2D:B7:84:05:4F

DataPktLen : 0x001B

NumDataPkts : 0x04

IRK : B7 B7 07 F7 70 43 6B 64 EE 6E A6 8E 32 B8 FF 57

CSRK : 88 E6 C8 E6 9C D6 DD 29 C9 1A 2C 95 4A 1D B4 B5

Dump(Rx):

04 FF 2C 00 06 00 4F 05 84 B7 2D 3C 1B 00 04 B7

B7 07 F7 70 43 6B 64 EE 6E A6 8E 32 B8 FF 57 88

E6 C8 E6 9C D6 DD 29 C9 1A 2C 95 4A 1D B4 B5

-----------------------------------------------------------------------------------------------

[8] : <Rx> - 08:18:18.520

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x08 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x00 (Success)

OpCode : 0xFE31 (GAP_GetParam)

DataLength : 0x02

ParamValue : 0x0050 (80)

Dump(Rx):

04 FF 08 7F 06 00 31 FE 02 50 00

-----------------------------------------------------------------------------------------------

[9] : <Rx> - 08:18:18.600

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x08 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x00 (Success)

OpCode : 0xFE31 (GAP_GetParam)

DataLength : 0x02

ParamValue : 0x0050 (80)

Dump(Rx):

04 FF 08 7F 06 00 31 FE 02 50 00

-----------------------------------------------------------------------------------------------

[10] : <Rx> - 08:18:18.670

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x08 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x00 (Success)

OpCode : 0xFE31 (GAP_GetParam)

DataLength : 0x02

ParamValue : 0x0000 (0)

Dump(Rx):

04 FF 08 7F 06 00 31 FE 02 00 00

-----------------------------------------------------------------------------------------------

[11] : <Rx> - 08:18:18.740

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x08 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x00 (Success)

OpCode : 0xFE31 (GAP_GetParam)

DataLength : 0x02

ParamValue : 0x07D0 (2000)

Dump(Rx):

04 FF 08 7F 06 00 31 FE 02 D0 07

-----------------------------------------------------------------------------------------------

[12] : <Tx> - 08:18:20.921

-Type : 0x01 (Command)

-Opcode : 0xFE04 (GAP_DeviceDiscoveryRequest)

-Data Length : 0x03 byte(s)

Mode : 0x03 (All)

NameMode : 0x01 (Enable)

WhiteList : 0x00 (Disable)

Dump(Tx):

01 04 FE 03 03 01 00

-----------------------------------------------------------------------------------------------

[13] : <Rx> - 08:18:21.001

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x00 (Success)

OpCode : 0xFE04 (GAP_DeviceDiscoveryRequest)

DataLength : 0x00

Dump(Rx):

04 FF 06 7F 06 00 04 FE 00

-----------------------------------------------------------------------------------------------

[14] : <Rx> - 08:18:21.151

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x2C bytes(s)

Event : 0x060D (GAP_DeviceInformationEvent)

Status : 0x00 (Success)

EventType : 0x00

AddrType : 0x00 (Public)

Addr : 3F:35:34:37:3D:3C

Rssi : 0xC4

DataLength : 0x1F

Data : 02 01 05 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Dump(Rx):

04 FF 2C 0D 06 00 00 00 3C 3D 37 34 35 3F C4 1F

02 01 05 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

-----------------------------------------------------------------------------------------------

[15] : <Rx> - 08:18:21.222

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x2C bytes(s)

Event : 0x060D (GAP_DeviceInformationEvent)

Status : 0x00 (Success)

EventType : 0x04

AddrType : 0x00 (Public)

Addr : 3F:35:34:37:3D:3C

Rssi : 0xC4

DataLength : 0x1F

Data : 50 43 41 58 4B 31 30 30 41 31 30 30 53 50 45 34

76 31 2E 30 2E 36 34 35 00 00 00 00 00 00 00

Dump(Rx):

04 FF 2C 0D 06 00 04 00 3C 3D 37 34 35 3F C4 1F

50 43 41 58 4B 31 30 30 41 31 30 30 53 50 45 34

76 31 2E 30 2E 36 34 35 00 00 00 00 00 00 00

-----------------------------------------------------------------------------------------------

[16] : <Tx> - 08:18:23.853

-Type : 0x01 (Command)

-Opcode : 0xFE05 (GAP_DeviceDiscoveryCancel)

-Data Length : 0x00 byte(s)

Dump(Tx):

01 05 FE 00

-----------------------------------------------------------------------------------------------

[17] : <Rx> - 08:18:23.923

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x00 (Success)

OpCode : 0xFE05 (GAP_DeviceDiscoveryCancel)

DataLength : 0x00

Dump(Rx):

04 FF 06 7F 06 00 05 FE 00

-----------------------------------------------------------------------------------------------

[18] : <Rx> - 08:18:23.983

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x04 bytes(s)

Event : 0x0601 (GAP_DeviceDiscoveryDone)

Status : 0x30 (The user canceled the task)

NumDevs : 0x00 (0)

Dump(Rx):

04 FF 04 01 06 30 00

-----------------------------------------------------------------------------------------------

[19] : <Tx> - 08:18:27.064

-Type : 0x01 (Command)

-Opcode : 0xFE09 (GAP_EstablishLinkRequest)

-Data Length : 0x09 byte(s)

HighDutyCycle : 0x00 (Disable)

WhiteList : 0x00 (Disable)

AddrTypePeer : 0x00 (Public)

PeerAddr : 0x3C:3D:37:34:35:3F

Dump(Tx):

01 09 FE 09 00 00 00 3C 3D 37 34 35 3F

-----------------------------------------------------------------------------------------------

[20] : <Rx> - 08:18:27.135

-Type : 0x04 (Event)

-EventCode : 0xFF (HCI_LE_ExtEvent)

-Data Length : 0x06 bytes(s)

Event : 0x067F (GAP_HCI_ExtentionCommandStatus)

Status : 0x11 (Already performing that task)

OpCode : 0xFE09 (GAP_EstablishLinkRequest)

DataLength : 0x00

Dump(Rx):

04 FF 06 7F 06 11 09 FE 00

-----------------------------------------------------------------------------------------------

  • Here is a trick: you can cancel a pending Establish Link Request by using the GAP_TerminateLinkRequest and setting the connection handle value to "0xFFFE". You will need to use the "Adv. Commands" tab to do this.

    Our next SW release will included an updated BTool, and will have a "Cancel" button next to the "Establish" button in order to quickly and easily cancel an establish link request.

  • Willis,

    Thank you for your reply. However, I still don't understand how an "Already performing this task" status response is possible when I issued only one "Establish Link" request. This is important to me because if the same thing happens in my application, how will I know what the proper behavior should be. Furthermore, this status (0x11) is not described in the documentation. Is this a bug in the stack software or maybe in the HCI part of the interface software. I would really like to know the source of this status code.

    Thanks,

    Dan