Skip to content

Retry LAN chip-info probing during WiFi update startup #144

@tylerkron

Description

@tylerkron

Problem

FirmwareUpdateService.IsWifiFirmwareUpToDateAsync(...) currently makes a single GetLanChipInfoAsync(...) call when the device implements ILanChipInfoProvider.

That is fine in steady state, but right after a PIC32 firmware update the application can be up while the WiFi subsystem is still finishing startup. In desktop integration, the first chip-info query could fail even though the device became ready a few seconds later.

That behavior forced desktop to add its own bounded retry loop before deciding whether to skip the WiFi flash.

Current desktop workaround

daqifi-desktop now retries LAN chip-info queries a few times with startup delays before deciding whether the WiFi firmware is already current.

This avoids unnecessary multi-minute WiFi flashes, but the retry policy lives in the app rather than in Core where the WiFi-update decision is defined.

Desired improvement

Core should support a bounded retry/backoff policy for the LAN chip-info/version check that happens before WiFi flashing.

Possible approaches:

  • built-in retry options for IsWifiFirmwareUpToDateAsync(...)
  • a FirmwareUpdateServiceOptions setting for LAN chip-info retries/startup delay
  • an overridable hook for callers to supply retry policy without reimplementing the whole decision path

Acceptance criteria

  • transient post-reboot LAN chip-info failures should not immediately force a WiFi flash
  • callers should be able to rely on Core to make the skip/flash decision robustly during startup transients
  • retry behavior should be bounded and cancellation-aware

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions