Skip to content

Spec: correct MAC-and-advertising — stock firmware broadcasts no MAC; document the sanctioned broadcast format#11

Merged
lkasso merged 1 commit into
mainfrom
lkasso/mac-advertising-spec
Jul 19, 2026
Merged

Spec: correct MAC-and-advertising — stock firmware broadcasts no MAC; document the sanctioned broadcast format#11
lkasso merged 1 commit into
mainfrom
lkasso/mac-advertising-spec

Conversation

@lkasso

@lkasso lkasso commented Jul 19, 2026

Copy link
Copy Markdown
Member

The "MAC Address and BLE Advertising" section claimed the MAC "is included in the device's advertising data and can be read during scanning". Field-verified false on firmware 1.7.x: default advertisements carry only the local name and the MetaWear service UUID. (Android/Windows see the MAC because the OS exposes the link-layer address itself; no MbientLab SDK ever parsed a MAC from advertisements — consistent with there being nothing to parse.)

This PR replaces the claim with reality and documents the sanctioned host-configured MAC broadcast now shipped in the Swift SDK: scan response = Complete Local Name AD + Manufacturer Specific Data AD under company 0x626D, MAC LSB-first — with the exact byte layout, the 0x08/0x07 partial-write split, and the persistence semantics (execute-on-boot macro, record-without-execute, erase-all to update, wiped by firmware flashes). Reference implementation linked.

Heading text unchanged, so existing #mac-address-and-ble-advertising deep links keep resolving. Merging deploys to docs.mbientlab.com.

🤖 Generated with Claude Code

… MAC

The section claimed the MAC "is included in the device's advertising
data and can be read during scanning" — field-verified false on fw
1.7.x, whose default advertisements carry only the local name and the
MetaWear service UUID. (Android/Windows see the MAC because the OS
exposes the link-layer address, not because the payload carries it.)
No MbientLab SDK ever parsed a MAC from advertisements, consistent
with there being nothing to parse.

Replaces the claim with reality and documents the sanctioned
host-configured MAC broadcast: scan response = Complete Local Name AD
+ Manufacturer Specific Data AD (company 0x626D, MAC LSB-first),
including the exact byte layout, the 0x08/0x07 partial-write split,
on-boot-macro persistence semantics (record-without-execute, erase-all
to update, wiped by firmware flashes), and the reference
implementation in MetaWear-API-Swift.

Heading unchanged so existing deep links keep resolving.
@lkasso
lkasso merged commit ebf9d3d into main Jul 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant