Aiden Improves Storage Formatting and Post-Startup Bluetooth Discovery
Aiden Improves Storage Formatting and Post-Startup Bluetooth Discovery
Major Update: We merged PR #610 and PR #590, improving storage formatting state and Bluetooth discovery after the BLE service is already running. Both changes are now merged into the open-source Aiden firmware repository. They address two timing-sensitive paths that matter for embedded device reliability: knowing when formatted storage is ready and allowing a running BLE service to notice relevant objects added later.
Why the timing boundary matters
Before the storage change, a format operation could report success before the storage volume was ready for the next write. The formatting action itself could be complete while the volume was still unmounted. That created a gap between the result received by your calling workflow and the actual availability of the storage path.
In plain terms, your workflow could receive a successful format result, move immediately to its next storage operation, and find that remounting had not finished. The previous storage formatting status did not fully communicate whether the storage volume was available for use.
This change is deliberately narrow. It does not concern backup, restoration, or every possible storage fault. It strengthens the completion condition for the specific reviewed format-and-remount sequence.
The problem we fixed in Bluetooth discovery
The Bluetooth issue involved a similar timing boundary. The BLE service subscribed to BlueZ ObjectManager signals at the wrong scope for this discovery path. When a phone was paired after the BLE service had already started, the service could fail to notice the new phone and ANCS-related objects until a service restart was used as the workaround.
The reviewed hardware path started with an initially unpaired iPhone. After the BLE service was already running, the path reached pairing and GATT subscription. This verification is specifically about Bluetooth device discovery for that post-start pairing condition, not a general claim about every phone, platform, profile, accessory, or ANCS interaction.
What changes in Aiden
The storage-formatting task now waits for the storage volume to be remounted before reporting success. This prevents your calling workflow from observing a successful result while the volume remains unmounted.
After your workflow receives a successful format result from this updated path, it can continue knowing that remounting has completed. That creates a clearer handoff between formatting and the next write operation, improving embedded device reliability within the reviewed sequence.
The Bluetooth change corrects the BlueZ ObjectManager signal subscription scope. The running BLE service can now continue discovery when relevant phone and ANCS objects appear after startup, rather than depending on a restart for this specific reviewed condition.
The current boundary
These changes are merged firmware updates in the open-source Aiden repository. They do not indicate deployment to every device, build, product, or installation.
The storage update does not claim to address every storage failure. The Bluetooth update does not claim that all pairing failures are fixed, nor that a restart will be unnecessary for unrelated service, system, or connectivity failures. The verified Bluetooth path remains narrow: an initially unpaired iPhone reached pairing and GATT subscription after the BLE service was already running.
Inspect the linked pull requests above and follow Aiden’s continued open-source development.