Skip to content

fix(build_db): Rule 4 — ASD AE29F-series requires configure_flash3 (algo 0x06) - #42

Open
dim20 wants to merge 1 commit into
henols:betafrom
dim20:fix/ae29f-algo-override
Open

fix(build_db): Rule 4 — ASD AE29F-series requires configure_flash3 (algo 0x06)#42
dim20 wants to merge 1 commit into
henols:betafrom
dim20:fix/ae29f-algo-override

Conversation

@dim20

@dim20 dim20 commented Jul 17, 2026

Copy link
Copy Markdown

AE29F1008, AE29F2008, and AE29F4008 use the AMD command set for erase which requires the 6-byte software unlock sequence (configure_flash3 / algorithm 0x06). Upstream infoic.xml assigns algorithm 0x05 (FLASH_AMD_STD / configure_flash4) which sends a hardware VPP pulse these chips ignore, causing erase to silently fail the blank check.

Changes:

  • tools/build_db.py: Added Rule 4 (alongside existing Rules 1-3) to flip proto_id 0x05->0x06 for AE29F1008/2008/4008
  • firestarter/data/chip_database.json: Updated algorithm 5->6 for all three chips

AE49F2008 from the same manufacturer already correctly uses algorithm 0x06 upstream.

Confirmed fix works on AE29F2008 with a RURP shield on Arduino Uno.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the programming algorithm from 5 to 6 for the ASD AE29F-series chips (AE29F1008, AE29F2008, and AE29F4008) in the database generation script tools/build_db.py and the database file firestarter/data/chip_database.json. Feedback points out that the database file was not fully regenerated, as the entry for AE29F2008 is still configured with algorithm 5 instead of 6.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread tools/build_db.py
…lgo 0x06)

AE29F1008, AE29F2008, and AE29F4008 use the AMD command set for erase
which requires the 6-byte software unlock sequence (configure_flash3 /
algorithm 0x06). Upstream infoic.xml assigns algorithm 0x05
(FLASH_AMD_STD / configure_flash4) which sends a hardware VPP pulse
these chips ignore, causing erase to silently fail the blank check.

Added Rule 4 to tools/build_db.py (alongside existing Rules 1-3) to
flip proto_id 0x05->0x06 for these three chips. chip_database.json
updated manually to match (upstream infoic.xml currently has a malformed
comment that blocks ET.fromstring parsing; will regenerate cleanly once
upstream fixes it).

AE49F2008 from the same manufacturer already uses 0x06 upstream.
@dim20
dim20 force-pushed the fix/ae29f-algo-override branch from a744162 to 11fd5a1 Compare July 17, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant