Skip to content

QNNExecutionProvider fails to download/register on Snapdragon X Plus — inconsistent error text across attempts, all local/network causes ruled out #1089

Description

@antonacciantonio-afk

`Environment

Device: Microsoft Surface Laptop 7th Edition
CPU: Snapdragon(R) X 10-core X1P64100 @ 3.40 GHz
GPU: Qualcomm(R) Adreno(TM) X1-85
NPU: Qualcomm Hexagon (Snapdragon X Plus)
RAM: 15.6 GB total
OS: Windows 11 Business, Version 25H2, OS Build 26200.9445 (stable, not Insider)
Foundry Local CLI: 0.10.3
Foundry Local Core: 1.0.0–1.2.4 (varies between cold start and restart, see below)
ORT: 1.26.0
ORT GenAI: 0.14.1 before EP registration attempt, drops to 0.0.0 after every failed registration

What happened

On every foundry server start / foundry server restart, WebGpuExecutionProvider downloads and registers successfully (direct CDN URL: https://foundrypackages-ffhrdhbxb7gpdreh.b02.azurefd.net/webgpu_ep_...zip), but QNNExecutionProvider — routed through the WinML EP acquisition path, not a direct URL — fails every single time:

WinML EP QNNExecutionProvider: Starting download and registration (state: "NotPresent").
...
WinML EP QNNExecutionProvider: Download failed (result: "Failure", error: The product is not applicable or cannot be found.
). Will retry on next attempt.

On a later attempt (fresh reinstall, different network), the same failure occurred but with a different error string:

error: The text associated with this error code could not be found.

foundry status consistently shows ORT GenAI: 0.0.0 after the failed registration, vs. 0.14.1 right at daemon init before DownloadAndRegisterEpsAsync runs.

foundry model list --device npu returns 0 results, despite Available variants: 81 in the catalog and NPU showing correctly detected in foundry status.

Causes ruled out, with direct evidence

Non-admin permissions: WebGPU EP registers successfully every time as a standard (non-admin) user → not a general elevation/permission issue.
Windows Insider channel: confirmed stable 25H2 (26200.9445), not Dev/Canary.
"Accounts: Block Microsoft accounts" policy: this device had this policy enabled (error 0x800704ec when signing into MSA). Created a scoped policy exception, confirmed working (MSA sign-in succeeded), restarted Foundry — identical failure persisted.
Network filtering / proxy / TLS inspection: reproduced the identical failure on an unrestricted, unfiltered internet connection.
Corrupted installation: fully uninstalled (winget uninstall Microsoft.FoundryLocal, removed .foundry cache dir) and reinstalled fresh via winget install Microsoft.FoundryLocal — identical failure on first run.

Additional note: unlike WebGPU, the Foundry daemon log never surfaces the actual URL/endpoint QNNExecutionProvider is trying to reach before failing — the WinML EP acquisition path appears to be opaque to Foundry itself (likely delegated to a Windows ML / Store-licensing component), which limits further client-side diagnosis without a network capture.

Expected behavior
QNNExecutionProvider should download and register successfully on a certified Snapdragon X device (per foundry status hardware detection), or fail with a stable, meaningful error message consistent across attempts.

Logs
Full foundry server logs -n 200 output available on request.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions