diff --git a/lib/hci-socket/bindings.js b/lib/hci-socket/bindings.js index 6ffead84..775af7fd 100644 --- a/lib/hci-socket/bindings.js +++ b/lib/hci-socket/bindings.js @@ -336,7 +336,8 @@ NobleBindings.prototype.onLeConnComplete = function ( addressType, address ); - const gatt = new Gatt(address, aclStream); + const connectionParams = this._connectionQueue.length > 0 ? this._connectionQueue[0].params : {}; + const gatt = new Gatt(address, aclStream, connectionParams && connectionParams.mtu); const signaling = new Signaling(handle, aclStream); this._gatts[uuid] = this._gatts[handle] = gatt; diff --git a/lib/hci-socket/gatt.js b/lib/hci-socket/gatt.js index 501f92b5..4af79c5e 100644 --- a/lib/hci-socket/gatt.js +++ b/lib/hci-socket/gatt.js @@ -56,7 +56,7 @@ const GATT_SERVER_CHARAC_CFG_UUID = 0x2903; const ATT_CID = 0x0004; /* eslint-enable no-unused-vars */ -const Gatt = function (address, aclStream) { +const Gatt = function (address, aclStream, desiredMtu) { this._address = address; this._aclStream = aclStream; @@ -68,7 +68,7 @@ const Gatt = function (address, aclStream) { this._commandQueue = []; this._mtu = 23; - this._desired_mtu = 256; + this._desired_mtu = desiredMtu || 256; this._security = 'low'; this.onAclStreamDataBinded = this.onAclStreamData.bind(this);