CC2540 USB - make discoverable: Not ready to perform task
-
02-06-2021 - |
문제
I am using the TI CC2540 USB dongle in peripheral mode and want to enable advertising, using BTool, but the device is answering:
Not Ready To Perform Task
I know that it's possible to set initial advertising enable in the application code, but I want to set advertising manually, can someone help out? Here is the log of BTool:
[1] : <Tx> - 04:52:52.802
-Type : 0x01 (Command)
-Opcode : 0xFE00 (GAP_DeviceInit)
-Data Length : 0x26 (38) byte(s)
ProfileRole : 0x04 (Peripheral)
MaxScanRsps : 0x05 (5)
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 (1)
[2] : <Rx> - 04:52:52.878
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x06 (6) bytes(s)
Event : 0x067F (GAP_HCI_ExtentionCommandStatus)
Status : 0x00 (Success)
OpCode : 0xFE00 (GAP_DeviceInit)
DataLength : 0x00 (0)
[3] : <Rx> - 04:52:52.950
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x2C (44) bytes(s)
Event : 0x0600 (GAP_DeviceInitDone)
Status : 0x00 (Success)
DevAddr : C0:FF:EE:C0:FF:EE
DataPktLen : 0x001B (27)
NumDataPkts : 0x04 (4)
IRK : 67:76:7D:A8:78:A1:A8:61:71:BD:58:24:92:39:0E:EC
CSRK : 4E:EA:B7:B5:14:34:66:8C:2D:6B:29:9D:C9:1E:4F:16
[4] : <Tx> - 04:53:00.375
-Type : 0x01 (Command)
-Opcode : 0xFE06 (GAP_MakeDiscoverable)
-Data Length : 0x0F (15) byte(s)
EventType : 0x00 (Connectable Undirect Advertisement)
InitAddrType : 0x00 (Public)
InitAddrs : 00:00:00:00:00:00
ChannelMap : 0x07 (Channel 37
Channel 38
Channel 39)
FilterPolicy : 0x00 (Allow Scan Requests From Any, Allow
Connect Request From Any.)
[5] : <Rx> - 04:53:00.455
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x06 (6) bytes(s)
Event : 0x067F (GAP_HCI_ExtentionCommandStatus)
Status : 0x10 (Not Ready To Perform Task)
OpCode : 0xFE06 (GAP_MakeDiscoverable)
DataLength : 0x00 (0)
해결책
With this sequence is detectable.
[12] : <Tx> - 08:30:57.212
-Type : 0x01 (Command)
-Opcode : 0xFE00 (GAP_DeviceInit)
-Data Length : 0x26 (38) byte(s)
ProfileRole : 0x04 (Peripheral)
MaxScanRsps : 0x05 (5)
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 (1)
Dump(Tx):
01 00 FE 26 04 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 00 00 00 00 01 00 00 00
[13] : <Rx> - 08:30:57.291
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x06 (6) bytes(s)
Event : 0x067F (GAP_HCI_ExtentionCommandStatus)
Status : 0x00 (Success)
OpCode : 0xFE00 (GAP_DeviceInit)
DataLength : 0x00 (0)
Dump(Rx):
04 FF 06 7F 06 00 00 FE 00
[14] : <Rx> - 08:30:57.356
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x2C (44) bytes(s)
Event : 0x0600 (GAP_DeviceInitDone)
Status : 0x00 (Success)
DevAddr : 00:18:30:EA:9C:1B
DataPktLen : 0x001B (27)
NumDataPkts : 0x04 (4)
IRK : E2:7D:76:4B:9B:24:8D:EA:F8:A6:E3:82:16:C8:C5:0C
CSRK : EE:68:E6:8E:F6:48:43:04:C4:F0:5C:D3:D1:39:A9:9F
Dump(Rx):
04 FF 2C 00 06 00 1B 9C EA 30 18 00 1B 00 04 E2
7D 76 4B 9B 24 8D EA F8 A6 E3 82 16 C8 C5 0C EE
68 E6 8E F6 48 43 04 C4 F0 5C D3 D1 39 A9 9F
[15] : <Tx> - 08:31:04.155
-Type : 0x01 (Command)
-Opcode : 0xFE07 (GAP_UpdateAdvertisingData)
-Data Length : 0x05 (5) byte(s)
AdType : 0x01 (Advertisement data)
DataLength : 0x03 (3)
AdvertData : 02:01:06
Dump(Tx):
01 07 FE 05 01 03 02 01 06
[16] : <Rx> - 08:31:04.231
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x06 (6) bytes(s)
Event : 0x067F (GAP_HCI_ExtentionCommandStatus)
Status : 0x00 (Success)
OpCode : 0xFE07 (GAP_UpdateAdvertisingData)
DataLength : 0x00 (0)
Dump(Rx):
04 FF 06 7F 06 00 07 FE 00
[17] : <Rx> - 08:31:04.296
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x04 (4) bytes(s)
Event : 0x0602 (GAP_AdvertDataUpdate)
Status : 0x00 (Success)
AdType : 0x01 (Advertisement data)
Dump(Rx):
04 FF 04 02 06 00 01
[18] : <Tx> - 08:31:06.786
-Type : 0x01 (Command)
-Opcode : 0xFE06 (GAP_MakeDiscoverable)
-Data Length : 0x0F (15) byte(s)
EventType : 0x00 (Connectable Undirect Advertisement)
InitAddrType : 0x00 (Public)
InitAddrs : 00:00:00:00:00:00
ChannelMap : 0x07 (Channel 37
Channel 38
Channel 39)
FilterPolicy : 0x00 (Allow Scan Requests From Any, Allow
Connect Request From Any.)
Dump(Tx):
01 06 FE 0F 00 00 00 00 00 00 00 00 07 00 00 00
00 00 00
[19] : <Rx> - 08:31:06.858
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x06 (6) bytes(s)
Event : 0x067F (GAP_HCI_ExtentionCommandStatus)
Status : 0x00 (Success)
OpCode : 0xFE06 (GAP_MakeDiscoverable)
DataLength : 0x00 (0)
Dump(Rx):
04 FF 06 7F 06 00 06 FE 00
[20] : <Rx> - 08:31:06.923
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x05 (5) bytes(s)
Event : 0x0603 (GAP_MakeDiscoverable)
Status : 0x00 (Success)
Dump(Rx):
04 FF 05 03 06 00 E8 01
다른 팁
using prebuilt HostTestRelease project on dongle and setting it to peripheral mode, I got after several trials the following success code:
[73] : - 02:13:30.416 -Type : 0x01 (Command) -Opcode : 0xFE07 (GAP_UpdateAdvertisingData) -Data Length : 0x05 (5) byte(s) AdType : 0x01 (Advertisement data) DataLength : 0x03 (3) AdvertData : 02:01:06 Dump(Tx): 01 07 FE 05 01 03 02 01 06
[74] : - 02:13:30.493 -Type : 0x04 (Event) -EventCode : 0xFF (HCI_LE_ExtEvent) -Data Length : 0x06 (6) bytes(s) Event : 0x067F (GAP_HCI_ExtentionCommandStatus) Status : 0x00 (Success) OpCode : 0xFE07 (GAP_UpdateAdvertisingData) DataLength : 0x00 (0) Dump(Rx): 04 FF 06 7F 06 00 07 FE 00
[75] : - 02:13:30.566 -Type : 0x04 (Event) -EventCode : 0xFF (HCI_LE_ExtEvent) -Data Length : 0x04 (4) bytes(s) Event : 0x0602 (GAP_AdvertDataUpdate) Status : 0x00 (Success) AdType : 0x01 (Advertisement data) Dump(Rx): 04 FF 04 02 06 00 01
[76] : - 02:14:04.382 -Type : 0x01 (Command) -Opcode : 0xFE06 (GAP_MakeDiscoverable) -Data Length : 0x0F (15) byte(s) EventType : 0x04 (Scan Response) InitAddrType : 0x00 (Public) InitAddrs : 00:00:00:00:00:00 ChannelMap : 0x07 (Channel 37 Channel 38 Channel 39) FilterPolicy : 0x00 (Allow Scan Requests From Any, Allow Connect Request From Any.) Dump(Tx): 01 06 FE 0F 04 00 00 00 00 00 00 00 07 00 00 00 00 00 00
[77] : - 02:14:04.456 -Type : 0x04 (Event) -EventCode : 0xFF (HCI_LE_ExtEvent) -Data Length : 0x06 (6) bytes(s) Event : 0x067F (GAP_HCI_ExtentionCommandStatus) Status : 0x00 (Success) OpCode : 0xFE06 (GAP_MakeDiscoverable) DataLength : 0x00 (0) Dump(Rx): 04 FF 06 7F 06 00 06 FE 00
Hope it'll be useful!