So, support wasn’t any help as they just wanted to replace it. So, I just did a little more digging and found a way to unbrick it myself. The device was only in a soft brick state, as I thought.
Since everything with flashing is working correctly and all of the partitions have been flashed with the stock image without error, there was only a couple of things missing which I discovered through some reading and exploration.
The issues were:
- The device was trying to boot to “slot b.”
- No means to switch to slot a since the device doesn’t turn on to boot to fastboot.
I encountered this bit of information on the thread for the LineageOS work. I suspected that this was the issue, but didn’t confirm it until I was able to figure out how to boot the phone into fastboot mode.
The phone doesn’t power on via the power button, however, I discovered that there is a second way which is actually very similar, but only realized it was happening until I happened across a forum post on XDA which mentioned it in passing, in combination with looking at dmesg
output when performing the procedure. To boot the phone into fastboot mode, even though it doesn’t power on with the power button:
- disconnect phone from computer
- Pull and re-install battery
- hold Vol Up (or Down?)
- plug the USB into the computer
The removal of the battery isn’t necessary, however, it eliminates the possibility that the phone is in a powered on state unknowingly since nothing is displayed on the screen.
I’m not sure if step 3 should be Up or Down as I only did this once, and I may have accidentally held down Up, Down, or both as I heard both buttons click. I immediately continued on to the next step once I realized it was in fastboot mode. That being said, the procedure can be performed trying either each time.
The device should boot to fastboot mode and show like this in dmesg
usb 1-4: new high-speed USB device number 7 using xhci_hcd
usb 1-4: New USB device found, idVendor=0e8d, idProduct=201c, bcdDevice= 1.00
usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-4: Product: Android
usb 1-4: Manufacturer: MediaTek
usb 1-4: SerialNumber: 202111T2EXXXXXX
Note that the Product is “Android”, and the SerialNumber is displayed.
At this point, nothing was displayed on the screen, but the phone was indeed in fastboot mode.
It should also show the device identified by the serial number via fastboot
.
$ fastboot devices
202111T2EXXXXXX fastboot
Now that it’s gotten this far, we can set the slot to boot to via fastboot
:
$ fastboot --set-active=a
Setting current slot to 'a'...
OKAY [ 0.013s]
I wasn’t sure if it would work or what, but I then booted it to the bootloader:
$ fastboot reboot bootloader
rebooting into bootloader...
OKAY [ 0.003s]
finished. total time: 0.053s
The screen now turned on, and displayed the FASTBOOT prompt. So, even though this is the “bootloader” it’s still some kind of fastboot mode, so since we have a screen now, I felt comfortable booting into system and leaving fastboot.
$ fastboot reboot
rebooting...
finished. total time: 0.050s
It then rebooted, and showed the Teracube logo, and then continued to boot into the first boot setup.
After all of this, I’ve tried to verify the steps to redo the procedure to boot to fastboot mode without success. I can only guess as to why they don’t work now after switching to slot a. I’m guessing that Vol Up/Down boots to a specific partition when held down as the device powers on, and when using slot a, that partition now doesn’t have the fastboot code on it. Now when performing the steps above, it just always brings up the Preloader instead. I’m not keen on switching back to slot b, or trying to brick the phone again to confirm this.
I wish the documentation was better, or existed at all so we could actually understand what’s happening inside the device rather than just experimenting and guessing about it, and posting our findings on a forum on the Internet.
P.S. the battery isn’t required for working with the SP Flash Tool. So the battery related steps that I included in my first post aren’t necessary.