Skip to content

SDIO Fixes - #425

Open
erichelgeson wants to merge 5 commits into
mainfrom
eric/sdio-fixes
Open

SDIO Fixes#425
erichelgeson wants to merge 5 commits into
mainfrom
eric/sdio-fixes

Conversation

@erichelgeson

Copy link
Copy Markdown
Contributor
  • Bump timeouts to be more inline with spec
  • Allow bit-shifted response from any card
  • Fix write failure to be medium error response
  • Better logging for future sdio issues

Two issues reported by @danifunker and @Jeremiah_B

Timeouts and CRC failures were reported as 0x0C02 WRITE ERROR - AUTO
REALLOCATION FAILED, so hosts retired the block instead of retrying. AIX
logs those PERM and JFS drops the write.
A card may hold DAT0 busy 250ms per block, so a 64 block write is entitled
to 16s and was getting 1s in total. Burst cap keeps the watchdog clear.
@erichelgeson
erichelgeson requested a review from androda August 30, 2026 22:24
@github-actions

Copy link
Copy Markdown

Test this PR

Flash the firmware built from e9ce95b: BlueSCSI binaries.zip

Must be signed in to GitHub. Build expires after 90 days.

BlueSCSI Memory Report

Compared against release v2026.08.17

Memory Usage

Target FLASH RAM SCRATCH_X SCRATCH_Y
Pico_2_Audio_SPDIF 687.3 KB (+1.7 KB) [34%] 511.7 KB [100%] 3.5 KB [88%] 3.8 KB [94%]
Pico_2_DaynaPORT 679.6 KB (+1.7 KB) [33%] 511.7 KB [100%] 3.5 KB [88%] 3.0 KB [75%]
Pico_Audio_SPDIF 710.3 KB (+1.8 KB) [35%] 252.5 KB [99%] 1.5 KB [38%] 768 B [19%]
Pico_DaynaPORT 702.1 KB (+1.8 KB) [34%] 246.2 KB [96%] 1.5 KB [38%]
Ultra 697.0 KB (+1.6 KB) [34%] 511.7 KB [100%] 3.5 KB [88%] 3.0 KB [75%]
Ultra_Wide 455.5 KB (+1.4 KB) [22%] 511.7 KB [100%] 2.0 KB [50%] 3.0 KB [75%]

Symbol Region Changes

Pico_Audio_SPDIF: 4 symbols moved RAM → FLASH (-312 B RAM)
Symbol Size
void logmsg<char const*, char const*>(char const*, char const*) 80 B
void logmsg<char const*, char*>(char const*, char*) 80 B
void logmsg<char const*, unsigned long>(char const*, unsigned long) 80 B
void logmsg<char const*>(char const*) 72 B
Pico_DaynaPORT: 4 symbols moved RAM → FLASH (-312 B RAM)
Symbol Size
void logmsg<char const*, char const*>(char const*, char const*) 80 B
void logmsg<char const*, char*>(char const*, char*) 80 B
void logmsg<char const*, unsigned long>(char const*, unsigned long) 80 B
void logmsg<char const*>(char const*) 72 B

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