Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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.

Assessment

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

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.

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
Dominant language
Rust
Stars
587
Forks
64
Avg merge
2d 15h
Merged PRs (30d)
5

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from oxidecomputer/humility

All issues in oxidecomputer/humility

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.