镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

DSi SD card init hangs forever on ACMD51 (GET_SCR) with some cards #8

Open

Description

@oliverdaisey

Bug Report

What's the issue you encountered?

sdmmcCardInit never returns for my SanDisk Extreme 16 GB SDHC UHS-I. this could affect other sd cards too.

How can the issue be reproduced?

launching ftpd v3.2.1 in a nintendo dsi xl in dsi mode, built against calico 1.0.0, using the SanDisk Extreme 16 GB SDHC UHS-I. you will encounter a white screen. using another sd card with identical contents fixes this

every command up to and including ACMD6 succeeds and then the ACMD51 (GET_SCR) transaction just doesn't complete. i ran some tests on a custom ARM7 and may PR later if I can find a fix

Evidence

tested the command sequence in source/dev/sdmmc.c and recorded each tmioTransact call in shared RAM, which the ARM9 prints:

polls 3 ocr C0FF8000
c00 00000000>00000000 e00000000
c08 000001AA>000001AA e00000000
c55 00000000>00000120 e00000000
A41 40100000>40FF8000 e00000000
c02 00000000>5E2E00E8 e00000000
c03 00000000>AAAA0520 e00000000
c09 AAAA0000>0A404000 e00000000
c07 AAAA0000>00000700 e00000000
c16 00000200>00000900 e00000000
c55 AAAA0000>00000920 e00000000
A42 00000000>00000920 e00000000
c55 AAAA0000>00000920 e00000000
A06 00000000>00000920 e00000000
c55 AAAA0000>00000920 e00000000
A51 00000000>

the last line stays pending after more than 60 seconds, so fault is likely around there

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