Untortunatly due to the exam phase at my University I really have no time to work on my projects. But this weekend I decided to try to repair a broken TV box. The box is an Allwinner H3 based single chip device (Beelink XII), running Android 4.4.2..
One day the box wasn't powering up at all and because it was in a working condition on last shutdown I thought about a software issue. I started with trying to flash the latest stock firmware but no success. In addition I got no response by the Software on connect of the device. So the device was unreachable bricked.
After some reasearch I found the
linux-sunxi website which offers really good reference information about almost all Allwinner SOCs. And as always If you're trying to fix or reverse engineer something, spending some time on a good research for informations is always well spend time.
With the new knowledge about these devices I now soldered some wires to the serial interface pads on the boxes mainboard. And after powering up the device I got some output about the boot process.
So far so good So at least the processor wasn't dead. Also boot0 and uBoot seemed to be in a working condition. This also means that the nand flash was at least not entirely broken. Good news for the further process.
I now tried to build a bootable SDCard for further digging into the boot issue from the nand. But after serveral hours of image building compiling and copying files I stopped the repair session for that night (It was already 4 o'clock in the morning).
Later that day I thought about searching for possible issues of the box in the serial output. And there was indeed a really strange line which I missed out before (last line in first screenshot). Dram value=1. I tought either that is just an index or it's the actual size of the RAM. If it's the actual value of the RAM there was something entirely wrong happening.
And because the box was already broken I fired up my reflow soldering station and started to preheat the Pcb. After that I reflowed the RAM modules and let everything cool down to room temperature.
Now the final test, will it work at all after that?
YES it does! Now the output of the console showed up the correct 1Gib capacity and also the blue light came back on and the device was booting properly.
So just that tiny little line in the serial output pointed me into the right direction and saved another device from being tossed out into the garbage. I hope I can motivate you to repair some gear yourself and trust me the feeling when you got it back up is just outstanding. In addition you always lern a lot about the devices and how they work.
PS: After several checks I can say that also the overall speed has also increased by at least 15%. Therefore a production fault can be a possible reason why the box stopped working.