AI Firmware Release Notes – May 12th, 2026

Created by Adrian Zibileanu, Modified on Thu, 14 May at 4:22 PM by Adrian Zibileanu

Overview

An AI firmware release is scheduled for deployment tomorrow. This release includes multiple feature additions, stability improvements, memory management enhancements, watchdog and reboot hardening mechanisms, as well as several bug fixes.

Expected data usage per device: ~52MB


New Features

Dual D1 Hardware Revision Support

  • Hardware revision automatically detected via serial number

  • Display auto-rotated 180°

  • Added LM3642 IR driver support

  • Accelerometer axis defaults corrected

CS Package Queueing

  • CS packages generated without a session ID are now queued

  • Up to 20 packages retained until a session ID becomes available

Low-Memory Auto-Reboot Mechanism

  • RAM and swap monitored every second

  • Device automatically reboots when memory remains critically low for a sustained period

  • Thresholds, sustain duration, and reboot delay configurable through settings.db

Memory Diagnostics Logging

  • Captures:

    • /proc/meminfo

    • Top RSS processes

    • dmesg

    • logcat

  • Triggered during:

    • Critical memory events

    • Configurable periodic intervals

Watchdog Mechanism

  • AlarmManager-based watchdog running every 60 seconds

  • Device reboots after 3 consecutive failures of:

    • Updater service

    • Firmware application

  • Includes 3-minute boot grace period

FirmwareChecker Service Hardening

  • FirmwareChecker now declared START_STICKY

  • Android OS automatically restarts the service if terminated

Reboot Hardening Improvements

All reboot paths now:

  • Log reboot intent

  • Flush logs

  • Sync filesystem

  • Wait configurable delay before reboot

  • Fall back from PowerManager reboot to shell reboot command if required

Native Log Flush Support

  • C++ logger now includes Flush()

  • Flush drains write queue and performs fsync() on log files


Fixes

Brightness Control

  • Fixed issue where zero brightness could not be reached on newer LM3642 chips

GPS Route Stability

  • Fixed SIGABRT in GpsRouteDay

  • Raw mutex replaced with std::lock_guard

Network Listener Stability

  • Fixed SIGSEGV use-after-free in NotifyNetStatusListeners

  • RemoveNetStatusListener added to destructors

MP4 Upload Handling

  • Fixed orphaned MP4 files not uploading correctly

Connectivity

  • Increased pre-auth connection timeout

ConfigCommonSettings Loading

  • Incremental loading improved:

    • Only missing keys fetched from DB

    • Multiple callers can safely load independent keys

Firmware Recovery Logic

  • Recovery checks deferred for 3 minutes after boot

  • Reboot calls now log intent and sync filesystem before execution

Android Build Environment

  • Gradle upgraded from 4.10.1 to 7.0.2

  • Android Gradle Plugin upgraded from 3.3.2 to 7.0.4

Permissions

  • Added READ_LOGS permission required for memory diagnostic log capture

Memory Diagnostic Configuration Defaults

  • LOW_MEMORY_LOG_DIAGNOSTICS now correctly defaults to false

  • Fixed issue where periodic memory logging executed regardless of flag state

Repository Cleanup

  • Removed .idea/ IDE files from repository

  • Updated .gitignore

  • Removed helper build script


Debug / Diagnostic Features

Low-Memory Monitoring Suite

Added diagnostic suite including:

  • Background memory pressure monitor

  • Periodic diagnostic snapshots

  • Pre-reboot diagnostic snapshots

  • dmesg capture

  • logcat capture

  • Top process monitoring

  • Memory leak simulator

  • Optional auto-reboot functionality

All debug functionality remains gated behind configuration flags.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article