tofurky / tegra30_debrick

fusee-gelee payload, supporting files, and guide for debricking Tegra 3 devices (2012 Nexus 7 and Ouya)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ouya Debrick - Need help please

raghu-mp opened this issue · comments

I am trying to revive my Ouya and running into a problem at step 9. Following is the output from the various commands. After fastboot reboot-bootloader which executes successfully and matches the output from the instructions, the next command is where it hangs waiting for any device message. Checking dmesg, the device is back in APX mode. I think it should stay in fastboot for flashing the boot LNX.bin. Can i get some help with this please?

root@pve-zbox-c327:/tmp/ouya/tegra30_debrick# fastboot devices
015d4a5f6948100d fastboot
root@pve-zbox-c327:/tmp/ouya/tegra30_debrick# fastboot flash bootloader ./bootloader/ouya_rev_1.01_2013-06-20.bin
Sending 'bootloader' (988 KB) OKAY [ 0.216s]
Writing 'bootloader' OKAY [ 8.593s]
Finished. Total time: 8.822s
root@pve-zbox-c327:/tmp/ouya/tegra30_debrick# fastboot reboot-bootloader
Rebooting into bootloader OKAY [ 0.001s]
Finished. Total time: 0.051s
root@pve-zbox-c327:/tmp/ouya/tegra30_debrick# fastboot flash boot LNX.bin
< waiting for any device >

Here is the output from the dumpbit command.
root@pve-zbox-c327:/tmp/ouya/tegra30_debrick# ./utils/nvflash_v1.13.87205_miniloader_patched --dumpbit --setbct --bct ./bct/ouya_rev_1.01_bct.bin --configfile ./utils/flash.cfg --bl bootloader/ouya_rev_1.01_2013-06-20_sigcheck_disabled.bin
Nvflash v1.13.87205 started
chip uid from BR is: 0x0000000000000000015d4a5f6948100d
rcm version 0X30001
System Information:
chip name: unknown
chip id: 0x30 major: 1 minor: 3
chip sku: 0x80
chip uid: 0x0000000000000000015d4a5f6948100d
macrovision: disabled
hdcp: enabled
jtag: disabled
sbk burned: true
dk burned: true
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0

BIT Contents:
BootRomVersion: 0x00030002 (196610)
DataVersion: 0x00030001 (196609)
RcmVersion: 0x00030001 (196609)
BootType: 0x00000002 (NvBootType_Recovery)
PrimaryDevice: 0x00000005 (NvBootDevType_Irom)
SecondaryDevice: 0x00000000 (NvBootDevType_None)
OscFrequency: 0x00000008 (Unknown)
DevInitialized: 0x00000000 (NV_FALSE)
SdramInitialized: 0x00000000 (NV_FALSE)
ClearedForceRecovery: 0x00000001 (NV_TRUE)
ClearedFailBack: 0x00000000 (NV_FALSE)
InvokedFailBack: 0x00000000 (NV_FALSE)

BctValid:                           0x00000000 (NV_FALSE)
BctStatus[]:                        0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
BctLastJournalRead:                 0x00000000 (NvBootRdrStatus_None)
BctBlock:                           0x00000000 (0)
BctPage:                            0x00000000 (0)
BctSize:                            0x000017f0 (6128)
BctPtr:                             0x00000000

BlState[0].Status:                  0x00000000 (NvBootRdrStatus_None)
BlState[0].FirstEccBlock:           0x00000000 (0)
BlState[0].FirstEccPage:            0x00000000 (0)
BlState[0].FirstCorrectedEccBlock:  0x00000000 (0)
BlState[0].FirstCorrectedEccPage:   0x00000000 (0)
BlState[0].HadEccError:             0x00000000 (NV_FALSE)
BlState[0].HadCrcError:             0x00000000 (NV_FALSE)
BlState[0].HadCorrectedEccError:    0x00000000 (NV_FALSE)
BlState[0].UsedForEccRecovery:      0x00000000 (NV_FALSE)

BlState[1].Status:                  0x00000000 (NvBootRdrStatus_None)
BlState[1].FirstEccBlock:           0x00000000 (0)
BlState[1].FirstEccPage:            0x00000000 (0)
BlState[1].FirstCorrectedEccBlock:  0x00000000 (0)
BlState[1].FirstCorrectedEccPage:   0x00000000 (0)
BlState[1].HadEccError:             0x00000000 (NV_FALSE)
BlState[1].HadCrcError:             0x00000000 (NV_FALSE)
BlState[1].HadCorrectedEccError:    0x00000000 (NV_FALSE)
BlState[1].UsedForEccRecovery:      0x00000000 (NV_FALSE)

BlState[2].Status:                  0x00000000 (NvBootRdrStatus_None)
BlState[2].FirstEccBlock:           0x00000000 (0)
BlState[2].FirstEccPage:            0x00000000 (0)
BlState[2].FirstCorrectedEccBlock:  0x00000000 (0)
BlState[2].FirstCorrectedEccPage:   0x00000000 (0)
BlState[2].HadEccError:             0x00000000 (NV_FALSE)
BlState[2].HadCrcError:             0x00000000 (NV_FALSE)
BlState[2].HadCorrectedEccError:    0x00000000 (NV_FALSE)
BlState[2].UsedForEccRecovery:      0x00000000 (NV_FALSE)

BlState[3].Status:                  0x00000000 (NvBootRdrStatus_None)
BlState[3].FirstEccBlock:           0x00000000 (0)
BlState[3].FirstEccPage:            0x00000000 (0)
BlState[3].FirstCorrectedEccBlock:  0x00000000 (0)
BlState[3].FirstCorrectedEccPage:   0x00000000 (0)
BlState[3].HadEccError:             0x00000000 (NV_FALSE)
BlState[3].HadCrcError:             0x00000000 (NV_FALSE)
BlState[3].HadCorrectedEccError:    0x00000000 (NV_FALSE)
BlState[3].UsedForEccRecovery:      0x00000000 (NV_FALSE)

SecondaryDevStatus.MLbaStatus.FuseDataWidth:                    0x00000000 (0)
SecondaryDevStatus.MLbaStatus.FuseNumAddressCycles:             0x00000000 (0)
SecondaryDevStatus.MLbaStatus.FuseReadBctFromSda:               0x00000000 (0)
SecondaryDevStatus.MLbaStatus.FusePinmuxSelection:              0x00000000 (0)
SecondaryDevStatus.MLbaStatus.FusePinOrder:                     0x00000000 (0)
SecondaryDevStatus.MLbaStatus.DiscoveredDataWidth:              0x00000000 (0)
SecondaryDevStatus.MLbaStatus.IdRead:                           0x00000000 (0)
SecondaryDevStatus.MLbaStatus.NumPagesRead:                     0x00000000 (0)
SecondaryDevStatus.MLbaStatus.NumUncorrectableErrorPages:       0x00000000 (0)

SecondaryDevStatus.MuxOneNandStatus.FuseBlockSize:              0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.FusePageSize:               0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.ClockSource:                0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.ClockDivider:               0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.NumPagesRead:               0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.LastBlockRead:              0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.LastPageRead:               0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.BootStatus:                 0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.InitStatus:                 0x00000000 (0)
SecondaryDevStatus.MuxOneNandStatus.ParamsValidated:            0x00000000 (0)

SecondaryDevStatus.NandStatus.FuseDataWidth:                    0x00000000 (0)
SecondaryDevStatus.NandStatus.FuseNumAddressCycles:             0x00000000 (0)
SecondaryDevStatus.NandStatus.FuseDisableOnfiSupport:           0x00000000 (0)
SecondaryDevStatus.NandStatus.FuseEccSelection:                 0x00000000 (0)
SecondaryDevStatus.NandStatus.FusePageSizeOffset:               0x00000000 (0)
SecondaryDevStatus.NandStatus.FuseBlockSizeOffset:              0x00000000 (0)
SecondaryDevStatus.NandStatus.FusePinmuxSelection:              0x00000000 (0)
SecondaryDevStatus.NandStatus.FusePinOrder:                     0x00000000 (0)
SecondaryDevStatus.NandStatus.DiscoveredDataWidth:              0x00000000 (0)
SecondaryDevStatus.NandStatus.DiscoveredNumAddressCycles:       0x00000000 (0)
SecondaryDevStatus.NandStatus.DiscoveredEccSelection:           0x00000000 (0)
SecondaryDevStatus.NandStatus.IdRead:                           0x00000000 (0)
SecondaryDevStatus.NandStatus.IdRead2:                          0x00000000 (0)
SecondaryDevStatus.NandStatus.IsPartOnfi:                       0x00000000 (0)
SecondaryDevStatus.NandStatus.NumPagesRead:                     0x00000000 (0)
SecondaryDevStatus.NandStatus.NumUncorrectableErrorPages:       0x00000000 (0)
SecondaryDevStatus.NandStatus.NumCorrectableErrorPages:         0x00000000 (0)
SecondaryDevStatus.NandStatus.MaxCorrectableErrorsEncountered:  0x00000000 (0)

SecondaryDevStatus.SdmmcStatus.FuseDataWidth:                   0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.FuseCardType:                    0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.FuseVoltageRange:                0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.FuseDisableBootMode:             0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.FusePinmuxSelection:             0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.FuseDdrMode:                     0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.FuseSdCntrlSelection:            0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.DiscoveredCardType:              0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.DiscoveredVoltageRange:          0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.DataWidthUnderUse:               0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.PowerClassUnderUse:              0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.Cid[0]:                          0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.Cid[1]:                          0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.Cid[2]:                          0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.Cid[3]:                          0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.NumPagesRead:                    0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.NumCrcErrors:                    0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.BootFromBootPartition:           0x00000000 (0)
SecondaryDevStatus.SdmmcStatus.BootModeReadSuccessful:          0x00000000 (0)

SecondaryDevStatus.SnorStatus.IsFuse32BitMode:                  0x00000000 (0)
SecondaryDevStatus.SnorStatus.IsFuseNonMuxedMode:               0x00000000 (0)
SecondaryDevStatus.SnorStatus.ClockSource:                      0x00000000 (0)
SecondaryDevStatus.SnorStatus.ClockDivider:                     0x00000000 (0)
SecondaryDevStatus.SnorStatus.BlockSize:                        0x00000000 (0)
SecondaryDevStatus.SnorStatus.PageSize:                         0x00000000 (0)
SecondaryDevStatus.SnorStatus.NumPagesRead:                     0x00000000 (0)
SecondaryDevStatus.SnorStatus.LastBlockRead:                    0x00000000 (0)
SecondaryDevStatus.SnorStatus.LastPageRead:                     0x00000000 (0)
SecondaryDevStatus.SnorStatus.InitStatus:                       0x00000000 (0)
SecondaryDevStatus.SnorStatus.ParamsValidated:                  0x00000000 (0)

SecondaryDevStatus.SpiStatus.ClockSource:                       0x00000000 (0)
SecondaryDevStatus.SpiStatus.ClockDivider:                      0x00000000 (0)
SecondaryDevStatus.SpiStatus.IsFastRead:                        0x00000000 (0)
SecondaryDevStatus.SpiStatus.NumPagesRead:                      0x00000000 (0)
SecondaryDevStatus.SpiStatus.LastBlockRead:                     0x00000000 (0)
SecondaryDevStatus.SpiStatus.LastPageRead:                      0x00000000 (0)
SecondaryDevStatus.SpiStatus.BootStatus:                        0x00000000 (0)
SecondaryDevStatus.SpiStatus.InitStatus:                        0x00000000 (0)
SecondaryDevStatus.SpiStatus.ReadStatus:                        0x00000000 (0)
SecondaryDevStatus.SpiStatus.ParamsValidated:                   0x00000000 (0)

SecondaryDevStatus.SataStatus.SataClockSource:                  0x00000000 (0)
SecondaryDevStatus.SataStatus.SataClockDivider:                 0x00000000 (0)
SecondaryDevStatus.SataStatus.SataOobClockSource:               0x00000000 (0)
SecondaryDevStatus.SataStatus.SataOobClockDivider:              0x00000000 (0)
SecondaryDevStatus.SataStatus.SataMode:                         0x00000000 (0)
SecondaryDevStatus.SataStatus.SataTransferMode:                 0x00000000 (0)
SecondaryDevStatus.SataStatus.ParamsValidated:                  0x00000000 (0)
SecondaryDevStatus.SataStatus.InitStatus:                       0x00000000 (0)
SecondaryDevStatus.SataStatus.NumPagesRead:                     0x00000000 (0)
SecondaryDevStatus.SataStatus.LastBlockRead:                    0x00000000 (0)
SecondaryDevStatus.SataStatus.LastPageRead:                     0x00000000 (0)
SecondaryDevStatus.SataStatus.PortStatus:                       0x00000000 (0)
SecondaryDevStatus.SataStatus.AhciSataBuffersBase:              0x00000000 (0)
SecondaryDevStatus.SataStatus.AhciDataBuffersBase:              0x00000000 (0)
SecondaryDevStatus.SataStatus.AhciDmaStatus:                    0x00000000 (0)
SecondaryDevStatus.SataStatus.AhciDataXmissionError:            0x00000000 (0)
SecondaryDevStatus.SataStatus.AhciCommandError:                 0x00000000 (0)
SecondaryDevStatus.SataStatus.AhciTfdError:                     0x00000000 (0)

SafeStartAddr:                      0x400000f0 (1073742064)

BCT Contents (a subset):
No valid BCT was found.

BCT Search Path:
BR entered RCM via forced recovery.
-> No BCTs are loaded under this condition.

SDRAM init behavior:
No valid BCT was found.
-> There are no parameters for SDRAM init.
-> SDRAM could not be initialized.

BL Load Results:
No valid BCT was found.

Update:
I got it working by referring to the other issue closed earlier. I had a last ditch command i tried and it worked to revive my Ouya !!

I am humbled by the contribution you have made and sincerely THANK YOU for the effort !!

hey, glad you got it working.

can you clarify what exactly fixed it? did you need to re-write the BCT with --sync e.g.:

sudo ./utils/nvflash_v1.13.87205_miniloader_patched --setbct --bct ./bct/ouya_rev_1.01_bct.bin --sync --configfile ./utils/flash.cfg --bl bootloader/ouya_rev_1.01_2013-06-20_sigcheck_disabled.bin --go

if the beginning of the mmc device was somehow erased or overwritten when it was bricked, then i think it would be necessary to explicitly restore the BCT that way.

edit: looking your nvflash output, yes, it does appear the BCT was wiped.

Yes the --sync is what appears to have fixed it. However i am still facing the following issue.
After restoring the Ouya firmware and booting to Ouya setup screen, shutting down (to resolve some network connectivity issue due to Ouya servers being validated for registration) puts it back to APX. I have to then rerun the debrick a few times to get it back. it is frustrating as i don't understand why shutdown is causing this. Any ideas?

what steps are you taking to restore the firmware?

if you re-flash fastboot, then flash recovery-clockwork-6.0.4.8-ouya.img with 'fastboot flash boot recovery-clockwork-6.0.4.8-ouya.img', does it boot into clockworkmod after a hard power cycle?

I did flash recovery-clockwork-6.0.4.8-ouya.img earlier and was still having hard power cycle problem. So had to connect back to the linux pc and rerun the de-brick steps from beginning. After flashing TWRP recovery and Android 7.1 it is holding up somewhat better. I am able to boot it after fiddling with the power button and cable a few times. At least i don't have to rerun the de-brick process !

hmm, how did it get bricked in the first place?

i'd expect it to either consistently load fastboot/linux on power cycle, or consistently enter APX mode. there may be hardware issues if it's inconsistent.