Hacking 3DS unbricking progress

  • Thread starter Thread starter krisztian1997
  • Start date Start date
  • Views Views 376,675
  • Replies Replies 1,233
  • Likes Likes 32
Status
Not open for further replies.
Hi sorry if i have posted in the wrong place,but i have a 3ds and r4i gold deluxe edition card bought them last november,they where working fine for a couple of days and then it bricked and i dont have a copy of my nand.

Can anyone recommend anyone from the uk who can unbrick my 3ds please?

I live near middlesbrough.
i do the unbricking in uk, not seen any others offering it in the uk tbh, i will pm
 
Hi folk!
Here is my first post, but before I can start it's need a premise.
I'm sorry for my slight OT.
I don't want to hijack the discussion but only retrieve some informations and understand better some things.
I found the forum looking for informations about Arduino, I haven't any video game console, I found the discussion
interesting though.
I read whole thread, very interesting under all aspects.
I like how all you, expecially Krisztian, Ryuga, bkifft and Coto, have been able to settle the matter, excellent job guys!
As already stated in the thread by someone, in my opinion the same results could be reached using serial converters
interface which allow for SPI communication.
Knowing the exact sequence of commands and parameters of each single menu item it would surely possible to
replicate their behaviour using serial converters instead of Arduino or RaspberryPi.
The other side of the coin is that perhaps the job would be more hard because you need to send manually each
single command if you can't send them by a script, namely you don't know Python or any other scripting language.
Indeed the strength of your solution is based on the ability to delegate the whole job to the Arduino or
RaspberryPi which they automatically perform it.
That said, here you go my questions.
I'm pretty new with Arduino and I'm trying to understand some things.
The Arduino side of your job is perfect for me in order to assimilate some technics about the Arduino programming.
Due the fact I haven't any logic analyzer I need to know some particulars about your sketch.
Particulars which I guess Krisztian, Ryuga and bkifft can easily provide.
I have tested all the menu items and I noted some issues which I go to explain.

1)Seems to me "u - UNLOCK" function doesn't works, what is it supposed to do?
I guess it perform CMD42 with BIT2 in the BYTE0 setted to 0 for unlock the card, but I'm not sure due the fact
that for me it doesn't work.
In fact I can lock the card using "l - LOCK" (I guess it perform CMD42 with BIT2 in the BYTE0 setted to 1) but
then I'm unable to unlock using "u - UNLOCK", even after "x - TERMINATE EXECUTION" and power on reset.

2)I saw that in the Raspberry Pi solution the terminal show the hexadecimal string of CID and CSD which is good.
Indeed in a generic scenario, not only bricked console, you could have the necessity to prior know if the card can be
unlocked or not, and one way to know it is to parse the CSD register looking for the supported command classes.
Cards which doesn't support command class 7 can't be lock/unlock or force erased.
This is the reason why somebody in the thread complains about the inability to operate on some cards.
Now I'm pretty sure that both Arduino and RaspberryPi retrieve CSD and CID string, only the last one show them
easily for the user, but surely they retrieve both CSD that CID though.

Please understand me.
All what I wrote doesn't mean that there are flaws, it's only in order to improve my my knowledge about the
matter, don't for criticize.
Honestly I would have so many other things to ask but I know here isn't the right place, I'm already to much OT
here.
Apologize me again for the OT and the long message.
Thanks in advance for any possible answer.
Regards.
Bob
 
Seems to me "u - UNLOCK" function doesn't works, what is it supposed to do?
I guess it perform CMD42 with BIT2 in the BYTE0 setted to 0 for unlock the card, but I'm not sure due the fact
that for me it doesn't work.
In fact I can lock the card using "l - LOCK" (I guess it perform CMD42 with BIT2 in the BYTE0 setted to 1) but
then I'm unable to unlock using "u - UNLOCK", even after "x - TERMINATE EXECUTION" and power on reset.

May I know which arduino you are using? How about try to remove the card after locking then reinsert and do the unlock again.
 
Hi folks!

gamesquest1
Hi gamesquest1.
Thanks for the hint.
Surely I will do it, honestly I already know those links.
The problem is I'm not accustomed to use Arduino and still less RaspberryPi which I haven't.
Truthfully speaking I'm a newbie with all those things.

ryuga93
Hi Ryuga and thanks for your answer.

ryuga93 wrote:
>May I know which arduino you are using?

Mine is Mega 2560.

>How about try to remove the card after locking then reinsert and do the unlock again.

It's exactly the way I use cause I know in some case MMC/SD needs power reset as mandatory.
Sadly it doesn't works expecially with MMC.
Maybe I need to slow down SPI frequency.

Thanks a lot at all you two guys!

Regards.

Bob
 
Maybe I need to slow down SPI frequency.

Specified initialization frequency is 400kHZ, but most SD/(e)MMC devices don't really care as long as the frequency isn't to high. Only really important part is to give them a long enough delay after powerup in order to get their internal init done (usually 80ish clock cycles).

Oh, and try to get a MMC card, they are cheap on ebay (4€ ish), are pin compatible to SD cards and behave for all intends and purposes exactly like the 3DS eMMC unlike SD cards (which require a different init command sequence).
 
Hi bkifft, thanks for your reply.
Yes I know about the 74 cycles of clock needed in order to wake up the card.
Also me usually I use 80 or more of them, but normally I use 250kHz as SPI's frequency.
Course I know there is a limit downward beyond which the cards doesn't allow SPI communications.
This limit is determined by reference datasheet.
Anyway in practice, I don't ever go down below 125kHz.
Talking about the MMCs I guess you are meaning MMC Plus because normal MMC seems to me aren't supported anymore nor produced.
I know the initialization is different among the various kinds of cards.
Due the lack in sophistications inside of the MMC cards their initialization is less complex compared to SD cards.
Sadly though for what I know Arduino manages SD better than MMC.
Here is why I have found you and this forum, because here there is one solution in order to allow Arduino to manage MMC and not only SD as it's explained almost everywhere in the net.
Indeed my purpose is precisely to be able to manage with Arduino the greatest possible number of kinds of cards, MMC included.
Thank you again.
Regards.

Bob
 
Hi bkifft.
Well, here where I'm MMC are very hard to find while MMC Plus are more easy.
Anyway I have a bunch of MMC, so there is no problem for me.
Coming back to topic.
Due the fact you anymore don't need backup in order to debrick 3DS, maybe something like ezSD Ghost (please use any search engine) can save the day.
I haven't it nor the console, but perhaps it might work.
It's only an idea though.
Regards.

Bob
 
Hi bkifft.
Well, here where I'm MMC are very hard to find while MMC Plus are more easy.
Anyway I have a bunch of MMC, so there is no problem for me.
Coming back to topic.
Due the fact you anymore don't need backup in order to debrick 3DS, maybe something like ezSD Ghost (please use any search engine) can save the day.
I haven't it nor the console, but perhaps it might work.
It's only an idea though.
Regards.

Bob
that device is the equivalent of a force erase, so you would still then need a nand backup to restore, also i think it would only function on SD cards, there's no mention of it being mmc compatible, i think at this point pretty much everyone has either been unbricked, or smashed their 3ds up in rage before the unbricking methods where released....hopefully the bricking just ends up a dark reminder of how things can go wrong, and there is no future need for the unbricking methods :P
 
This is what I get when I try to unluck the 3dsxl
 

Attachments

  • 20140604_222640.jpg
    20140604_222640.jpg
    92.7 KB · Views: 344
  • 20140604_222637.jpg
    20140604_222637.jpg
    76.2 KB · Views: 324
Hi gamesquest1.
Ok, ok, mine was only an idea.
Surely unbrick as explain in the forum is the better and safety manner, no way!
About the fact that kind of device allow force erase only on SD I'm not so sure because in the past I already have seen a similar device which was able to unlock both MMC and SD.
That was many years ago and the device whose I'm writing was already old at that time.
So wouldn't surprise me that nowadays the ezSD Ghost (and any similar and related devices) which I've posted it can be capable to handle either MMC or SD.
Anyway I haven't never tried it so I can't be sure.
Regards.

Bob
 
Here u go

May I know what device you are using to interface the 3ds and arduino? An IC or SD card shield? And what arduino you are using? The init is fine but the read CID operation is not functioning. Try input x (terminate execution) and get the output log. (It will show the MMC info)
 
Hello guys,
I bricked my 3ds long time ago, and I want to unbrick it...
Does anyone know someone who can unbrick mine?
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum