Skip to main content

 none
BluetoothGATTGetCharacteristicValue and characteristics longer than 20 bytes RRS feed

  • Question

  • Is this possible?  I'm running Windows 8.1 communicating with a custom device/service.   I'm using the SetupDI and BluetoothLE C/C++ APIs.  Works well except for this one detail.  I can write characteristics longer than 20 bytes just fine... just can't read them (they are truncated at 20 bytes).  Is there a setting I'm missing or is this a no-go.

    thanks,

    marco

    Monday, July 13, 2015 11:08 PM

Answers

  • Thank-you for point out this issue. After reproducing the issue you reported we found that in cases where the MTU is not sufficiently large enough to handle the attribute value there is indeed a defect in our code. Our Bluetooth stack by default uses the maximum MTU and negotiates with the device it’s likely in this case your device is using the minimum value as it was with this configuration we reproduced the issue. The only work-arounds at this time are either: increasing the value the device uses for MTU or using multiple attributes each with smaller portions of the data. We recognize these solutions may not work for you if it’s a 3<sup>rd</sup> party device. 

    You may escalate the timeline for a fix by working with your account representative or our support services. Please reference Windows MSFT:3564340 when calling about the issue, otherwise we’ll do our best to get the fix in as soon as we can.

    Again thank-you,

    Frank Gorgenyi

    Wednesday, July 15, 2015 6:34 PM

All replies

  • please post your code

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Tuesday, July 14, 2015 5:38 AM
  • Thank-you for point out this issue. After reproducing the issue you reported we found that in cases where the MTU is not sufficiently large enough to handle the attribute value there is indeed a defect in our code. Our Bluetooth stack by default uses the maximum MTU and negotiates with the device it’s likely in this case your device is using the minimum value as it was with this configuration we reproduced the issue. The only work-arounds at this time are either: increasing the value the device uses for MTU or using multiple attributes each with smaller portions of the data. We recognize these solutions may not work for you if it’s a 3<sup>rd</sup> party device. 

    You may escalate the timeline for a fix by working with your account representative or our support services. Please reference Windows MSFT:3564340 when calling about the issue, otherwise we’ll do our best to get the fix in as soon as we can.

    Again thank-you,

    Frank Gorgenyi

    Wednesday, July 15, 2015 6:34 PM
  • Frank,

    I need to set the MTU on a GattServer.   Is it still true your stack is limited to a tiny 37-byte payload?  Or can we expand it to, say 250 bytes?

    Tuesday, August 27, 2019 8:00 PM