Hi Zephyr Team, I am relative newby to BLE and Zephyr so forgive me if I am missing something obvious.
I have a 52840 with the Zephyr firmware acting a client communicating with a Nordic device.
If the device sends an Exchange MTU (for 247) a btmon trace shows a response of Request Not Supported (and could this be a bluez issue?). In the same setup if the client then sends an Exchange MTU Request it appears to be successfully acknowledged but going forward the data is sent from the device in 23 byte MTUs as opposed to the preferred 247.
If the device does not send an Exchange MTU request and the client side sends the Exchange MTU request the device does properly use the larger MTU.
. the client does not support Exchange MTU request (Zephyr or bluez issue?)
. given a rejected Exchange MTU request from the device (server) and an accepted MTU from the client to the device the full MTU size is not utilized. And as I think about it this could be an issue on the device.
A trace is at the end of this email.
Thanks in advance and please let know if there is more information I can provide.
@ RAW Open: gatttool version 2.22 {0x0003} 506.381902
@ RAW Close: gatttool {0x0003} 506.381912
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7 #19 [hci0] 506.381948
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
Own address type: Random (0x01)
Filter policy: Ignore not in white list (0x01)
> HCI Event: Command Complete (0x0e) plen 4 #20 [hci0] 506.382783
LE Set Scan Parameters (0x08|0x000b) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #21 [hci0] 506.382794
Scanning: Enabled (0x01)
Filter duplicates: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4 #22 [hci0] 506.383779
LE Set Scan Enable (0x08|0x000c) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 42 #23 [hci0] 506.808920
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Random (0x01)
Address: E0:8E:4B:E4:9D:3E (Static)
Data length: 30
Flags: 0x06
LE General Discoverable Mode
BR/EDR Not Supported
128-bit Service UUIDs (complete): 1 entry
Vendor specific (00001523-1212-efde-1523-785feabcd123)
Name (complete): B8_1777
RSSI: -41 dBm (0xd7)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #24 [hci0] 506.808935
Scanning: Disabled (0x00)
Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #25 [hci0] 506.809779
LE Set Scan Enable (0x08|0x000c) ncmd 1
Status: Success (0x00)
< HCI Command: LE Create Connection (0x08|0x000d) plen 25 #26 [hci0] 506.809785
Scan interval: 60.000 msec (0x0060)
Scan window: 60.000 msec (0x0060)
Filter policy: White list is not used (0x00)
Peer address type: Random (0x01)
Peer address: E0:8E:4B:E4:9D:3E (Static)
Own address type: Random (0x01)
Min connection interval: 30.00 msec (0x0018)
Max connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Min connection length: 0.000 msec (0x0000)
Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4 #27 [hci0] 506.811778
LE Create Connection (0x08|0x000d) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 19 #28 [hci0] 506.997999
LE Connection Complete (0x01)
Status: Success (0x00)
Handle: 0
Role: Master (0x00)
Peer address type: Random (0x01)
Peer address: E0:8E:4B:E4:9D:3E (Static)
Connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Master clock accuracy: 0x07
@ MGMT Event: Device Connected (0x000b) plen 43 {0x0002} [hci0] 506.998012
LE Address: E0:8E:4B:E4:9D:3E (Static)
Flags: 0x00000000
Data length: 30
Flags: 0x06
LE General Discoverable Mode
BR/EDR Not Supported
128-bit Service UUIDs (complete): 1 entry
Vendor specific (00001523-1212-efde-1523-785feabcd123)
Name (complete): B8_1777
@ MGMT Event: Device Connected (0x000b) plen 43 {0x0001} [hci0] 506.998012
LE Address: E0:8E:4B:E4:9D:3E (Static)
Flags: 0x00000000
Data length: 30
Flags: 0x06
LE General Discoverable Mode
BR/EDR Not Supported
128-bit Service UUIDs (complete): 1 entry
Vendor specific (00001523-1212-efde-1523-785feabcd123)
Name (complete): B8_1777
< HCI Command: LE Read Remote Used Features (0x08|0x0016) plen 2 #29 [hci0] 506.998070
Handle: 0
> HCI Event: LE Meta Event (0x3e) plen 4 #30 [hci0] 506.998125
LE Channel Selection Algorithm (0x14)
Handle: 0
Algorithm: #2 (0x01)
> HCI Event: Command Status (0x0f) plen 4 #31 [hci0] 506.998800
LE Read Remote Used Features (0x08|0x0016) ncmd 1
Status: Success (0x00)
> ACL Data RX: Handle 0 flags 0x02 dlen 7 #32 [hci0] 506.999954
ATT: Exchange MTU Request (0x02) len 2
Client RX MTU: 247
> HCI Event: LE Meta Event (0x3e) plen 11 #33 [hci0] 507.098804
LE Data Length Change (0x07)
Handle: 0
Max TX octets: 251
Max TX time: 2120
Max RX octets: 251
Max RX time: 2120
> HCI Event: LE Meta Event (0x3e) plen 12 #34 [hci0] 507.150804
LE Read Remote Used Features (0x04)
Status: Success (0x00)
Handle: 0
Features: 0x25 0x41 0x00 0x00 0x00 0x00 0x00 0x00
LE Encryption
Extended Reject Indication
LE Data Packet Length Extension
LE 2M PHY
Channel Selection Algorithm #2
< ACL Data TX: Handle 0 flags 0x00 dlen 9 #35 [hci0] 507.150967
ATT: Error Response (0x01) len 4
Exchange MTU Request (0x02)
Handle: 0x0000
Error: Request Not Supported (0x06)
> HCI Event: Number of Completed Packets (0x13) plen 5 #36 [hci0] 507.199876
Num handles: 1
Handle: 0
Count: 1
< ACL Data TX: Handle 0 flags 0x00 dlen 7 #37 [hci0] 507.202314
ATT: Exchange MTU Request (0x02) len 2
Client RX MTU: 512
> HCI Event: Number of Completed Packets (0x13) plen 5 #38 [hci0] 507.249913
Num handles: 1
Handle: 0
Count: 1
> ACL Data RX: Handle 0 flags 0x02 dlen 7 #39 [hci0] 507.300798
ATT: Exchange MTU Response (0x03) len 2
Server RX MTU: 247
< ACL Data TX: Handle 0 flags 0x00 dlen 11
#40 [hci0] 507.351938
ATT: Read By Type Request (0x08) len 6
Handle range: 0x0001-0xffff
Attribute type: Characteristic (0x2803)
> HCI Event: Number of Completed Packets (0x13) plen 5 #41 [hci0] 507.399916
Num handles: 1
Handle: 0
Count: 1
> ACL Data RX: Handle 0 flags 0x02 dlen 27 #42 [hci0] 507.450802
ATT: Read By Type Response (0x09) len 22
Attribute data length: 7
Attribute data list: 3 entries
Handle: 0x0002
Value: 0a0300002a
Handle: 0x0004
Value: 020500012a
Handle: 0x0006
Value: 020700042a
< ACL Data TX: Handle 0 flags 0x00 dlen 11 #43 [hci0] 507.450883
ATT: Read By Type Request (0x08) len 6
Handle range: 0x0007-0xffff
Attribute type: Characteristic (0x2803)
> HCI Event: Number of Completed Packets (0x13) plen 5 #44 [hci0] 507.499912
Num handles: 1
Handle: 0
Count: 1
> ACL Data RX: Handle 0 flags 0x02 dlen 13 #45 [hci0] 507.550832
ATT: Read By Type Response (0x09) len 8
Attribute data length: 7
Attribute data list: 1 entry
Handle: 0x0008
Value: 020900a62a
< ACL Data TX: Handle 0 flags 0x00 dlen 11 #46 [hci0] 507.550914
ATT: Read By Type Request (0x08) len 6
Handle range: 0x0009-0xffff
Attribute type: Characteristic (0x2803)
> HCI Event: Number of Completed Packets (0x13) plen 5 #47 [hci0] 507.599915
Num handles: 1
Handle: 0
Count: 1
> ACL Data RX: Handle 0 flags 0x02 dlen 27 #48 [hci0] 507.650831
ATT: Read By Type Response (0x09) len 22
Attribute data length: 21
Attribute data list: 1 entry
Handle: 0x000c
Value: 180d0023d1bcea5f782315deef121224150000
< ACL Data TX: Handle 0 flags 0x00 dlen 11 #49 [hci0] 507.650913
ATT: Read By Type Request (0x08) len 6
Handle range: 0x000d-0xffff
Attribute type: Characteristic (0x2803)
> HCI Event: Number of Completed Packets (0x13) plen 5 #50 [hci0] 507.749874
Num handles: 1
Handle: 0
Count: 1
> ACL Data RX: Handle 0 flags 0x02 dlen 27 #51 [hci0] 507.750989
ATT: Read By Type Response (0x09) len 22
Attribute data length: 21
Attribute data list: 1 entry
Handle: 0x000f
Value: 38100023d1bcea5f782315deef121225150000
< ACL Data TX: Handle 0 flags 0x00 dlen 11 #52 [hci0] 507.751051
ATT: Read By Type Request (0x08) len 6
Handle range: 0x0010-0xffff
Attribute type: Characteristic (0x2803)
> HCI Event: Number of Completed Packets (0x13) plen 5 #53 [hci0] 507.799910
Num handles: 1
Handle: 0
Count: 1
> ACL Data RX: Handle 0 flags 0x02 dlen 27