Skip to content

BLE MTU is no longer negotiated when ESP client forms a connection #1000

Description

@JHedgesBartec

Answers checklist

  • I have read the documentation ESP-AT Programming Guide and the issue is not addressed there.
  • I have used the latest released firmware or have updated my ESP-AT branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

AT+GMR

AT version:4.2.0.0-dev(s-ae87b55 - ESP32 - Mar 3 2026 09:05:26)
SDK version:v5.4.1-643-g8ad0d3d8f2-dirty
compile time(ed86344):Mar 9 2026 16:12:28
Bin version:v5.0.0.0(WROOM-32)

ESP-AT Firmware Source

Built from github using commit ed86344
Features modified to disable OTA and enable BTC.

Hardware Information

ESP32-WROOM, also confirmed using ESP32 DevKitc v4

Power Supply used

External 3.3V

What is the expected behavior?

When the client (esp32) forms a connection to the server (any) the MTU is automatically negotiated and reported using the BLECFGMTU event.
Any writes using AT+BLEGATTCWR would be allowed to be above MTU-3 and module would internally manage this.

What is the actual behavior?

MTU negotiation is no longer done and writing to characteristics now fail if the write is larger than MTU-3.

Probability of recurrence

100%

AT+SYSRAM?

N/A

Steps to reproduce

  1. Initialise as BLE client
  2. Form a connection to a server
  3. MTU is not reported
  4. Attempt to write to characteristic

AT command port output

****** Previously working commit (102d512) *****
AT+BLESCANPARAM=0,0,0,100,50 

OK
AT+BLESCAN=1,10
<data omitted>
OK 
AT+BLESCAN=0

OK
AT+BLECONN=0,"F8:8A:5E:0D:20:BC",0
+BLESCANDONE
+BLECFGMTU:0,247
+BLECONN:0,"f8:8a:5e:0d:20:bc"

OK
AT+BLEGATTCWR=0,2,2,1,1

OK
AT+BLEGATTCWR=0,3,2,,496
<data omitted>
OK


***** commit ed86344 *****
AT+BLESCANPARAM=0,0,0,100,50 

OK
AT+BLESCAN=1,10
<data omitted>
OK 
AT+BLESCAN=0

OK
AT+BLECONN=0,"F8:8A:5E:0D:20:BC",0
+BLESCANDONE
+BLECONN:0,"f8:8a:5e:0d:20:bc"

OK
AT+BLEGATTCWR=0,2,2,1,1

OK
AT+BLEGATTCWR=0,3,2,,496

ERROR

AT log port output

Silenced due to binary size.

More Information.

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions