Incorrectly advertised company identifier in manufacturer data

Learn MoreFAQsTutorials

6 posts / 0 new
Last post
Ivaylo Tsanov
Offline
Last seen:5 days 12 hours ago
Joined:2019-04-22 13:18
Incorrectly advertised company identifier in manufacturer data

In proximity reporter project in user_config.h scan response data is configured like

/// Scan response data #define USER_ADVERTISE_SCAN_RESPONSE_DATA "\x0a"\ ADV_TYPE_MANUFACTURER_SPECIFIC_DATA\ ADV_DIALOG_MANUFACTURER_CODE\ "DLG-BLE"

ADV_DIALOG_MANUFACTURER_CODE is defined in app_adv_data.h like

#define ADV_DIALOG_MANUFACTURER_CODE "\x00\xD2"

This results in packet with PDU like

0x0AFF00D2444C472D424C45

where 0x0A is AD structure length,
0xFF is AD structure type (manufacturer specific data),
0x00D2 is company identifier and
0x444C472D424C45 is "DLG-BLE"

Am I wrong or the company identifier should read as 0xD200?

Keywords:
Device:
PM_Dialog
Offline
Last seen:6 hours 22 min ago
Staff
Joined:2018-02-08 11:03
Hi Ivaylo Tsanov,

Hi Ivaylo Tsanov,

Thanks for your question. You are getting the expected results!

  • 0 x0a长度:FF 00 D2 44 4 c 47 2 d 42 4 c 45(10 bytes)
  • 0xFF = ADV_TYPE_MANUFACTURER_SPECIFIC_DATA
  • 0x00D2 = ADV_DIALOG_MANUFACTURER_CODE. This should NOT be inverted (0xD200)
  • 0x444C472D424C45 = "DLG-BLE”

Please take a look at theBLE Advertising Tutorial (HTML)as well!

Thanks, PM_Dialog

Ivaylo Tsanov
Offline
Last seen:5 days 12 hours ago
Joined:2019-04-22 13:18
Thank you for your answer!

Thank you for your answer!
But I find it incomplete.
Please point to the document specifying that company identifier should not be inverted.

According toSupplement to Bluetooth Core Specification| CSS v9, Part A, 1 DATA TYPES DEFINITIONS AND FORMATS

All numerical multi-byte entities and values associated with the following data types shall use little-endian byte order.

PM_Dialog
Offline
Last seen:6 hours 22 min ago
Staff
Joined:2018-02-08 11:03
Hi Ivaylo Tsanov,

Hi Ivaylo Tsanov,

The multi-bytes are handled in the SDK and transmitted over the air as little-endian. However, the user will read them as big-endian.

Thanks, PM_Dialog

Ivaylo Tsanov
Offline
Last seen:5 days 12 hours ago
Joined:2019-04-22 13:18
Hi,

Hi,

The data dump I have provided in my first post has been taken from hcidump and verified in Wireshark and few Android bluettoh monitor applications. You can load Proximity reported demo project and verify it.

Best regards,
Ivaylo Tsanov

PM_Dialog
Offline
Last seen:6 hours 22 min ago
Staff
Joined:2018-02-08 11:03
Hi Ivaylo Tsanov,

Hi Ivaylo Tsanov,

Yes, what you can see is absolutely expected. Please check this with the advertks9ng data too.

Thanks, PM_Dialog