Recovery Mode

darthcircuitdarthcircuit Posts: 7Member
So, I posted this in the General Dev forum, but I think it might apply a bit more here. Sorry for the double post.

Ok, so here's what happened.

When I got my ouya, the first thing I did was root it and set up Wireless adb. I noticed that when I had adb running over wifi though, it would disable my micro usb port for some reason, and I couldnt copy anything to the device while I had debugging enabled.

Long story short, I disabled usb debugging on the ouya to copy some files, and I accidentally replaced the launcher. Unfortunately whatever launcher overwrote the ouya one doesnt work, and just force closes on boot.

Does anyone know of a recovery mode for the ouya? Most phones require holding down the power button as well as one of the volume buttons, but the ouya doesnt have any volume buttons.

I opened the case, and didnt see any switches or jumpers either.

I even tried using a usb keyboard and holding down the volume buttons on it out of desperation haha.



  • XaTiOnXaTiOn Posts: 2Member
    Well, what you're looking for, I've only seen the obvious "adb reboot recovery", but that just takes me to the OUYA (!) screen. I'm in somewhat of the same situation as you, I need to factory reset because my device makes it as far as the OUYA logo on boot.
  • mbmmbm Posts: 2Member
    I did something similar and managed to break mine at one point; luckily I know a few things which help -


    From what I can tell there is no hotkey to boot it into fastboot or recovery -- at least none that I could find after a few hours of trying just about every trick I could think of.

    A quick poke around the board revealed the 4-pin header at j3 to be a 3.3v uart, although I never did manage to find RX so it's just TX only. In other words, you can connect to it as serial and watch the console output as the device boots, but you can't actually send any commands this way. Ground is the pin closest to the edge of the board, TX is the 3rd pin from the edge.

    Further poking around and I was able to get the device into nvflash mode, but I wasn't able to actually perform any nvflash commands (there's a missing microswitch on the back side of the board near the u33 label which can be used at bootup to trigger the nvflash mode).


    This is a hack, an unintended sequence of events that results in recovery mode; what you need to do is crash the startup using sysrq.

    For this you'll need a usb keyboard with the sysrq key, this is usually the printscreen button if your keyboard isn't labeled. As the OUYA starts to boot, hold down the alt-sysrq keys and press i, wait a few seconds and then repeat. This key combination is kill-all-tasks; thanks to whoever left this enabled in the kernel. Each time you kill the tasks the init process will restart them, after about 5 or 6 times init will print a warning on the console that one of the processes marked critical has been restarted too many times -- this then triggers an automatic reboot into recovery mode.

    Unfortunately it's not always obvious when the ouya is in recovery mode. You might get screen with the ouya logo and a large red exclamation mark, or the screen might be entirely black; usually I got a black screen. Press the home button on the keyboard to bring up the recovery menu; it's actually a toggle so feel free to press the home button repeatedly until you see the menu since the timing isn't otherwise obvious.

    Once you get to the recovery menu, the select the second option to update from adb. Download the OTA update from the link at the end of this post, and run the command "adb sideload" this will reformat the system partition and reinstall the ouya software. You might also want to do a factory reset before rebooting.

    Links to download the OTA updates can be found on this xda thread:


    Figuring all this out was far more painful than it needed to be; this is the only android device I've seen that doesn't have an easy hotkey to get into the bootloader or recovery. There really ought to be an easy and documented way to wipe and reset everything or you will get people sending back consoles that they've broken.
  • PiersPiers Posts: 680Member
    edited May 2013
    We'll get this sorted for you, but in future best practice is to backup all files you are or may overwrite, and most certainly don't disable adb which should recover in the case you described when you reboot the OUYA.  Have you rebooted your console yet?

    Post edited by Piers on
  • darthcircuitdarthcircuit Posts: 7Member
    Thank you for the suggestions! I will try them when I get home. Thank you thank you thank you!
  • darthcircuitdarthcircuit Posts: 7Member
    Just as an update, I followed your instructions, and I am back up and running! Thanks so much for your help. I never would have figured out that key combo.

    I had a thread going on XDA as well about this, so I will direct everyone to this one for the solution.  Hopefully this will get easier in the future.

    Also, I am curious as to why enabling tcp debugging completely shuts down the micro usb port to begin with? Is that something that can be addressed in a future update? i guess from now on, I will just do all abd stuff through usb so I don't have to do this again.

    Thanks again for your help!
  • PiersPiers Posts: 680Member
    Better adb wi-fi support is coming (my understanding) but not there just yet.  That could be part of the dilemma you experienced.  Glad you're all set though, great news!
  • ElloEllo Posts: 2Member
    Hi, after loop updates gone bad, my ouya stuck in apx mode and print screen method doesn't work (instantly, ouya enters in apx mode, instead in bootloader).
  • DroidRayDroidRay Posts: 15Member
    Piers said:
    We'll get this sorted for you, but in future best practice is to backup all files you are or may overwrite, and most certainly don't disable adb which should recover in the case you described when you reboot the OUYA.  Have you rebooted your console yet?

    Backing up is irrelevant if there's no way to access fastboot or recovery to actually flash back the backed up files.

    So: Feature suggestion:
    Fix bootloader so it boots fastboot if you keep holding down power button for xx seconds while it's booting (given how that's the only button that's there)..
    It should be possible for the bootloader to detect this condition and hence allow recovery from most issues.

  • invisiblekinvisiblek Posts: 10Member
    edited June 2013
    Exactly the boat I'm in here. Not booting after a botched kernel install. (Capt Hindsight above me asked why not use fastboot? Well, this shouldn't have failed as it did)

    Can get into NVFlash mode, nothing doing there, apparently we'd need some sort of key that is specific to our device in order to do anything in that mode.

    UART, as mbm mentioned, is good for reading console output, but nothing more. I can watch the thing gloriously fail to boot, but that's about all.

    It's pretty sad that a device this claims to be so 'open' and 'developer friendly' can be bricked in such a simple way. Here's a copy of the output I got from UART:
    As you see, its "init: skipping insecure file '/init.rc'" 
    Since its failing to start init, the sysreq trick won't work here.

    I sure hope OUYA can do something for me. At this point I'm thinking the only thing that will fix this device is to NVFlash a stock boot.img to it (in fact I know that would fix it because its the only partition I touched.
    Post edited by invisiblek on
  • DroidRayDroidRay Posts: 15Member
    Just to clarify - technically, this brick can happen on _every_ upgrade and there's no way to fix it.
    If anything goes wrong writing the kernel (which so far has been replaced on every single ouya update), it will go into this state.

    The user has *no* way to recover because there appears to be no hardware button to enter recovery.
  • WajeembaWajeemba Posts: 8Member
    edited June 2013
    Dear Ouya Team,

    I recently spoke with a few individuals on the freenode irc #cyanogenmod-dev channel. This request would be the first step to getting a reliable environment in which to develop an official version of the cyanogenmod rom for the device.

    To you this may sound auxiliary in nature, but let me point out the fact that your target market is highly power user/developer heavy. If you turn the key and open the door for us (with a solution such as DroidRay suggested), we will do all the work and you will ultimately end up selling more units to power users who want a high powered $99 android box connected to their TV. That was one of the reasons I was willing to back the project initially on kickstarter- worst case scenario I can run an AOSP build and have fun hacking around on the device.

    I deeply respect your decision to create a platform as open as possible. I do realize this is asking you to take your design one iteration further, and that your device is technically "open" as it stands. However, in our minds "open" means that we can do whatever we want with the device (as I believe you intended it to be when you first promised it).
    • Design for the 95%.
    • Accommodate the edge cases that make their requests known.
    • The entire population of users benefits from a more robust platform. :D

    Please feel free to contact me or any members of the cyanogenmod team for collaboration if you are able to prioritize the focus. I hope I've made the case that it's worthwhile. Seems like a good thing to solve before main launch if possible, because your users need a way to recover from failed updates at the very least.

    Edit: Formatting after bullets is wonky.. Where is the Preview button?

    Post edited by Wajeemba on
  • alsuttonalsutton Posts: 69Member, Team OUYA
    edited June 2013
    [Comment removed due to it causing more confusion then providing assistance]
    Post edited by alsutton on
    Al Sutton
    Android Specialist
  • vinny75vinny75 Posts: 19Member
    You can add another name to the petition - I've formally requested support as well (ticket #38058)
  • WolverineWolverine Posts: 1Member
    No one new that getting reasonable access to recovery required joining your developer forum. So here we are. as others have stated, this goes beyond installing custom Roms. it is a necessary tool for users whose updates get corrupted or fail. it is a standard part of android.
  • altimax98altimax98 Posts: 1Member
    alsutton said:
    I'm keeping a track of how many requests we get relating custom firmware, and from what I'm seeing the user base is not as interested in custom firmware as you might think, which is echoed by this thread (we've shipped 60,000+ units, and less than 10 people have commented in the last month in this thread about getting access to recovery mode).

    That doesn't mean that we're shooting the idea down, you need to keep in mind that in terms of priorities this is way down the list as you'd expect from any feature where it's being requested by less than one tenth of one percent of the user-base.

    I'm sure @Wajeemba is familiar with CM requests that a very small minority of the user-base are very passionate about, so hopefully you can understand why we're not rushing to work on this.
    I understand where your coming from regarding this, as well as the knowledge that with all the critical reviews regarding the Ouya interface people will flock to the CM base thus losing future possible revenue to the Play Store. 

    But 1: as you said the base appears to be small, far less than 1% based on your feedback so the revenue lost could be offset by 2: the people like myself looking for a good HTPC solution and are interested by the development surrounding this console. I for one will not buy the console without a fully working CM port for the console. I want to be able to use MXPlayer and Mizuu for my movies and maybe fire up Dead Trigger or FPse for a few moments of play time. 

    I do hope you consider/reconsider your current stance on this. I believe a lot of people are like myself looking for this sort of solution. 
  • MagnesusMagnesus Posts: 305Member
    edited June 2013
    The best thing to happen would be getting nvflash access (nvflash encryption key). As far as I know it would make the device unbrickable. The number of requests for recovery and nvflash will be bigger when people will start bricking their devices. :) And I think you would prefer if people were able to fix the devices themselves instead of sending them to you and making a big fuss how easy it is to break. :) Especially since it might be bricked by your own update going wrong.
    Post edited by Magnesus on

  • jfojfo Posts: 1Member
    alsutton Please also add me to the list for custom firmware support
  • DataData Posts: 5Member
    edited June 2013

    Post edited by Data on
  • invisiblekinvisiblek Posts: 10Member
    @alsutton regardless of how many users request this, it would be pretty crappy if some sort of recovery method was not released. Currently at least myself and two other people are sitting here with a useless piece of hardware that we paid for almost a year ago.

    I find this oversight by Ouya unacceptable with the "hackers welcome" section of the kickstarter campaign. That was the #1 reason I pledged.
  • jpearnjpearn Posts: 2Member
    Add me on to the list for custom firmware !
  • ExguardiExguardi Posts: 1Member
    +1 on a custom firmware request.
  • jaykeeleyjaykeeley Posts: 1Member
    still waiting on my delivery but this is my main want from OUYA
  • tbz1024tbz1024 Posts: 1Member
    Count me as well. I backed because of the advertised open nature of the console. Turns out it's not truly open because of the inability to access nvflash without a secure key. You shouldn't advertise being open unless you provide access to nvflash. It is designed to make the device unbrickable.

    Leverage the power of the Android ROM making community. They enhance user experience just as much as app/game developers.
  • noechnoech Posts: 2Member
    Add me to the list.  If this hadn't been marketed as an open, hackable platform then I would've just bought one of the many "android-on-a-stick" or nettop devices running stock Android.  As it stands, the amount of headaches that seem to be involved with android dev on this device have led me to barely use it.  (This is completely unrelated to the absurdity that I have bought every Humble Android Bundle and scads of games through Amazon and the Play Store, and some of them would require me to repurchase them to play through my Ouya, while the rest are flatly incompatible.)
  • NinjaTermitesNinjaTermites Posts: 3Member
    +1.  As another Kickstarter backer I ... like many others in this thread, I'm sure ... supported you and backed Ouya on your promise it would be fully open and hackable.  I fully expect you to deliver on this ... not as a secondary, non-commercial, nice-to-have ... but as the core requirement it should be.
  • razking77razking77 Posts: 5Member

    u avdertised it as a open console, the least u can  provide is full access alll the hardware.
  • FordiFordi Posts: 3Member
    edited June 2013
    Sent to OUYA support, so they can count it as an official request:

    Responding to this, from Reddit:

    What?  Wait, no.  I figured you'd get to that when you got to it, so I wasn't making noise against an already overloaded support infrastructure, presently dealing with people not getting their OUYAs and having first-run bugs, problems, and feature requests.  You've got stuff to do, I figured, and you need to focus on that, not deal with my hacking needs.

    But I Kickstarted a hackable console; I expect it to be hackable.  I don't need it right now, but I do expect it.  Don't shirk.

    Edit: No cursing, thanks.
    Post edited by Piers on
  • lartomar2002lartomar2002 Posts: 5Member
    Where is the open and hackable system we were promished?
  • XevinXevin Posts: 1Member

    I supported Ouya for its open and hackable nature. Please add these features. Without them my Ouya worthless to me.
  • PaulenskiPaulenski Posts: 5Member
    +1 Kickstarter backer here, I really was looking forward to have a very open console to have custom roms, fully customizable device for a home theater/game center.
Sign In or Register to comment.