Other Parts Discussed in Thread: CC2640R2F, CC2640
Hi,
I'm using CC2640R2F connected to an external MCU through SPI bus. The firmware used is BLE5 Host Test, compiled in FlashROM_StackLibrary build without code modifications. The build_config.opt has been set to:
- -DHOST_CONFIG=PERIPHERAL_CFG
- -DGATT_DB_OFF_CHIP
- -DGAP_BOND_MGR.
Additional information:
- XDCtools: 3.51.3.28_core
- SimpleLink CC2640R2 SDK 5.30.0.03
The following table shows my BLE service.
ConHnd | Handle | Uuid | Uuid Description | Value |
0x0000 | 0x0001 | 0x2800 | GATT Primary Service Declaration | |
0x0000 | 0x0002 | 0x2803 | GATT Characteristic Declaration | |
0x0000 | 0x0003 | 0x0D01 | ||
0x0000 | 0x0004 | 0x2902 | Client Characteristic Configuration | 0x0000 (Disabled) or 0x0001 (Notif.) or 0x0002 (Ind.) |
0x0000 | 0x0005 | 0x2901 | Characteristic User Declaration | Receive response |
0x0000 | 0x0006 | 0x2803 | GATT Characteristic Declaration | |
0x0000 | 0x0007 | 0x0D02 | ||
0x0000 | 0x0008 | 0x2901 | Characteristic User Declaration | Write command |
0x0000 | 0x0009 | 0x2803 | GATT Characteristic Declaration | |
0x0000 | 0x000A | 0x0D03 | ||
0x0000 | 0x000B | 0x2901 | Characteristic User Declaration | Authenticated read |
I can handle a connection, basically writing a command in 0x0D02 and receiving a response, by Notification or Indication, in 0x0D01. The problem is when I'm trying to send a response with more than 20 bytes I'm receiving an error 0x1B (HCI_ERROR_CODE_SCO_OFFSET_REJ).
The following table shows the error log for Notification mode, where TX is the frame send from external MCU to CC2640 and RX is the opposite (generated when a smartphone - CENTRAL MODE - send something). The same error is received when Indication is used instead of Notification.
Direction | Frame | Description |
RX | 00 FE 0B 04 FF 08 02 05 00 00 00 02 F7 00 0A | Received event to change ATT MTU to 247 bytes (max. length) |
TX | FE 08 01 03 FD 04 00 00 F7 00 04 | Send ATT_ExchangeMTURsp with 247 bytes |
RX | 00 FE 09 04 FF 06 7F 06 00 03 FD 00 73 | Command status: success |
RX | 00 FE 0F 04 FF 0C 12 05 00 00 00 06 00 00 04 00 01 00 EC | Received event to enable Notification |
TX | FE 06 01 13 FD 02 00 00 EB | Send ATT_WriteRsp |
RX | 00 FE 09 04 FF 06 7F 06 00 13 FD 00 63 | Command status: success |
RX | 00 FE 19 04 FF 16 12 05 00 00 00 10 00 00 07 00 07 0A 41 42 43 44 45 46 47 48 49 4A F2 | Received event - write message in handle 0x0007 (size < 20 bytes) |
TX | FE 06 01 13 FD 02 00 00 EB | Send ATT_WriteRsp |
RX | 00 FE 09 04 FF 06 7F 06 00 13 FD 00 63 | Command status: success |
TX | FE 16 01 9B FD 12 00 00 00 03 00 0A 0B 41 42 43 44 45 46 47 48 49 4A 07 6D | Send notification in handle 0x0003 (size < 20 bytes) |
RX | 00 FE 09 04 FF 06 7F 06 00 9B FD 00 EB | Command status: success |
RX | 00 FE 73 04 FF 70 12 05 00 00 00 6A 00 00 07 00 07 64 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 05 | Received event - write message in handle 0x0007 (size > 20 bytes) |
TX | FE 06 01 13 FD 02 00 00 EB | Send ATT_WriteRsp |
RX | 00 FE 09 04 FF 06 7F 06 00 13 FD 00 63 | Command status: success |
TX | FE 70 01 9B FD 6C 00 00 00 03 00 64 E4 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 07 1B | Send notification in handle 0x0003 (size > 20 bytes) |
RX | 00 FE 09 04 FF 06 7F 06 1B 9B FD 00 F0 | Command status: error 0x1B (HCI_ERROR_CODE_SCO_OFFSET_REJ) |
Can anybody help me? I didn't find anything related to this error code...
Best Regards,
Eduardo Sousa.