Hacking [Pre-release, WIP] Yet another rxTools?

  • Thread starter Thread starter duke_srg
  • Start date Start date
  • Views Views 88,953
  • Replies Replies 659
  • Likes Likes 68
Yes, this could be, because I'm editing in the web with no comilation now :)
27mELsH.png
 
Finally compiled lol
Error code:
20A207A5 00002400
Ran it twice

Looks plausible - read underrun and data CRC error. This is what TMIO controller reports.
The question is - how to fix it. Existing DSi homebrew documentation does not provide solution. Though eMMC documentation does have a description for this situation, but SD specification have reserverd this error bits %)

upd: The next one - re-init SD on read error.
So all homeberew works underclocked, while native 3DS applications may have a proper handlers for error, so may work at full speed.
 
Last edited by duke_srg,
  • Like
Reactions: Madridi
Looks plausible - read underrun and data CRC error. This is what TMIO controller reports.
The question is - how to fix it. Existing DSi homebrew documentation does not provide solution. Though eMMC documentation does have a description for this situation, but SD specification have reserverd this error bits %)

upd: The next one - re-init SD on read error.
So all homeberew works underclocked, while native 3DS applications may have a proper handlers for error, so may work at full speed.
data crc error? That could be dangerous..

Latest commit also freezes.. No change
 
data crc error? That could be dangerous..

Latest commit also freezes.. No change
I suppose CRC was caused by read buffer underrun, since both error bits are set. This is not dangerous itself. But write buffer overrun could occur too and this is dangerous if not handled properly. In sdmmc it is not handled also, so potentially could ruin for system too, though less probable on lowered clock. I wondering while underrun situation and proper maximum clock calculation is ripped off from the official SD simplified specification, while exists in JEDEC eMMC specs.
I'll try to implement full tmio reset in several hours, for now you could try to seek for the tool that could display your card CSD control register, I could check what is the difference in timing comparing to my SD which causes underrun issue.

Once again, this is not an actual fault, controller just responds that card could not run with this clock in that condition. The actual clock is 16MHz while the actual slowest speed for SD is 25Mhz. So clicking itself is withing the range, but internal SD card controller was not able to process such many IOPs generated by 3 read/write threads. The IOPs classification is only added in high-speed UFS cards, it is not even applicable to C10/U1 cards which is classified with continuous linear speed only.

Upd: just to clarify, it is not CRC error of the data stored on the card, it is card to host transfer protocol data CRC error. Caused by the card which was not able to present the actual data on time. Host just need to handle it properly and request the data once again.
 
Last edited by duke_srg,
  • Like
Reactions: Madridi
Thanks for the detailed explanation.
I'll try to implement full tmio reset in several hours, for now you could try to seek for the tool that could display your card CSD control register, I could check what is the difference in timing comparing to my SD which causes underrun issue.
Well I don't even know what that is.. Doubt I could help with this, not to mention I don't currently have time for research (been testing builds while doing other stuff)
 
Thanks for the detailed explanation.

Well I don't even know what that is.. Doubt I could help with this, not to mention I don't currently have time for research (been testing builds while doing other stuff)
NP, will return to that in case we won't find an easy solution :)
 
  • Like
Reactions: Madridi
Fill storage reset added. Checked in normal condition - works fine, so hope this will resolve the issue. Check please.
Weird, but spider is failing.. I'll delete everything and recompile from the start
Edit: spider worked after complete reinstall, but the result is still the same.. Console freeze
 
Last edited by Madridi,
Weird, but spider is failing.. I'll delete everything and recompile from the start
Edit: spider worked after complete reinstall, but the result is still the same.. Console freeze

Spider works for me, even tried with additional forced reinit. But maybe not inside the error handler, since most probably there is no underruns with my card. Yes, please recompile and try once again, maybe it will help
 

Site & Scene News

Popular threads in this forum