oxidecomputer / oxidecomputer/humility

humility 0.13.0.699 failed to write cosmo-os QSPI on alfred

Open
#705 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
584
Forks
63
Avg merge
3h
Merged PRs (30d)
2

Description

I was trying to write a new host phase1 to flash on cosmo-os from alfred, and three attempts in a row failed with
variants of this.

alfred(cosmo-os)% h qspi -D /staff/andy/os/cosmo.rom && cycle
humility: attached to 1fc9:0143:WTECYVHYHSQD4 via CMSIS-DAP V1
humility: Using existing slot settings
2026-06-23T16:47:17.459592Z ERROR probe_rs::probe::cmsisdap::commands::transfer: Transfer count larger than requested number of transfers
2026-06-23T16:47:17.459834Z  WARN probe_rs::session: Could not clear all hardware breakpoints: An ARM specific error occurred.

Caused by:
    0: The debug probe encountered an error.
    1: An error which is specific to the debug probe in use occurred.
    2: Error handling CMSIS-DAP command Transfer.
    3: Unexpected answer to command.
2026-06-23T16:47:17.461481Z  WARN probe_rs::probe::cmsisdap: CMSIS_DAP: Only 1/2 transfers were executed, but no error was reported.
2026-06-23T16:47:17.461579Z  WARN probe_rs::session: Failed to deconfigure device during shutdown: Arm(Other("Possible error in CMSIS-DAP probe: Only 1/2 transfers were executed, but no error was reported."))
2026-06-23T16:47:17.461974Z  WARN probe_rs::probe::cmsisdap: CMSIS_DAP: Only 2/3 transfers were executed, but no error was reported.
humility qspi failed: An ARM specific error occurred.

Caused by:
    0: The debug probe encountered an error.
    1: An error which is specific to the debug probe in use occurred.
    2: Error handling CMSIS-DAP command Transfer.
    3: Timeout in USB communication.
alfred(cosmo-os)% h qspi -D /staff/andy/os/cosmo.rom && cycle
humility: attached to 1fc9:0143:WTECYVHYHSQD4 via CMSIS-DAP V1
humility: Using existing slot settings
humility: skipping sector 0
humility: erased 9.88 MiB in 12 seconds
2026-06-23T16:59:29.475567Z  WARN probe_rs::session: Could not clear all hardware breakpoints: An ARM specific error occurred.

Caused by:
    0: The debug probe encountered an error.
    1: An error which is specific to the debug probe in use occurred.
    2: Error handling CMSIS-DAP command Transfer.
    3: Timeout in USB communication.
2026-06-23T16:59:29.526139Z  WARN probe_rs::session: Failed to deconfigure device during shutdown: Arm(Probe(ProbeSpecific(BoxedProbeError(Send { command_id: Transfer, source: Timeout }))))
humility qspi failed: An ARM specific error occurred.

Caused by:
    0: Error using access port FullyQualifiedApAddress { dp: Default, ap: V1(0) }.
    1: Failed to read register DRW at address 0xd0c
    2: The debug probe encountered an error.
    3: An error which is specific to the debug probe in use occurred.
    4: Error handling CMSIS-DAP command Transfer.
    5: Timeout in USB communication.
alfred(cosmo-os)%

I then grabbed the humility binary from igor which just reports as 0.13.0 and that succeeded first time:

alfred(cosmo-os)% pfexec ./humility qspi -D /staff/andy/os/cosmo.rom
humility: attached to 1fc9:0143:WTECYVHYHSQD4 via CMSIS-DAP V1
humility: Using existing slot settings
humility: skipping sector 0
humility: erased 3.19 MiB in 3 seconds
humility: hashed 32.00 MiB, wrote 3.19 MiB in 6 minutes

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the qspi command path and its CMSIS-DAP/probe-rs transfer handling, using the provided h qspi -D ... reproduction on cosmo-os. Compare humility 0.13.0.699 with the successful 0.13.0 binary as a baseline. Done means the current version can write the image repeatedly without transfer or USB timeout errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools, embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.