Bricked Huawei Honor 4c = HiKey Board?


#1

Hi. Ill try to be short. Huawei Honor 4c has very similar platform with HiKey based on HiSilicon Kirin 6220. Very strong similar. And there is no any tool to flash it. After installation update.zip from recovery Ive bricked my phone.
It doesn`t turn on, but after USB plugging to PC it determines as a Huawei USB-COM device, flashes with red and green LED and turns off after 90 seconds. And this is I think a DOWNLOAD MODE described in HiKey manual.
I have tried to recovery bootloader as described in manual - via hisi-idt.py script with fastboot1 and fastboot2.
After fastboot1 sending it said “done” but after fastboot2 - “failed”.
After sending l-loader.bin - “done”, but no any answer after - fastboot not working.
So if anybody can help me - that would be great!

  1. How can I determine right offsets to load fastboot.img?
  2. Which ones img I have to use? From HiKey or from the phone?
  3. Is there any tricks?
    And maybe I am on a wrong way?
    Thanks.

#2

Hi, you would need to use the fastboot binaries from your phone, the HiKey versions are unlikely to work correctly for your hardware. Also note the eMMC partitioning scheme used by the HiKey and the phone are very different. Unfortunately you would need to talk to Huawei about their partitioning scheme as I know very little about it (other than there are a lot more partitions).


#3

Thanks for reply! But anyway - Your answer shows me Im on a right way! I have fastboot binaries from my phone and eMMC partitioning is known. Also if I use fastboot to flash images to eMMC it uses its phone native partition table. The problem is to run these binaries in RAM to get fastboot access. If script tells me "done" I suppose it is working and place my binaries into RAM with some offsets - but I think they are wrong for my device (bootheadaddress, bootdownloadaddress). Also Im not sure crctable is the same.


#4

Well - viewing in HEX in my FASTBOOT and FASTBOOT1 I see offsets are correct.
But when I try to load 2 of them - the first is “Done” and second always “Failed”.
Find this commit: “Downloading image is based on OnChipROM that is running in aarch32
mode. Since ATF is running in aarch64 mode, only one image could be
downloaded successfully.” What does it mean?
And why fastboot consists of 2 images?


#5

I’m afraid there is very little we can do for you. You really need to contact the support organization for your phone. No one here is familiar with the partitioning scheme of your phone, or the memory layout used by the phone as well. The tool we provide is meant to be used with the HiKey, and only the HiKey, not your phone. Unfortunately, we cannot provide any real advice that will be of help, as we simply don’t have sufficient details regarding your phone. You really do need to go through your phone’s support organization to fix this.


#6

Hi. Sorry, but this forum is the only place where someone can help me.
Ive some new details. Ive found UART point on the board and connected them to Prolific adapter. So now I can read some debug info. After plugging in USB connector to the phone I get such text in UART console:

debug EMMC boot: print init OK
debug EMMC boot: send RST_N .
debug EMMC boot: start eMMC boot......
OnChipRom: fastboot1 Verif sucess !
[BDID]boardid: 745 <7.4.5>
battery ocv is 4141 mv
����������������������������������������������������壂�{��?O
H�����������w!!I㡡�v�J�ơ�����硾�B����9�F�F�$�/"�0D�c���������f��B�����f��B�rreset device done.
start enum.
enum done intr
Enum is starting.
usb reset intr
enum done intr
NULL package
NULL package
USB ENUM OK.
init ser device done....
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
usb data recieving 60s time out....
Switch to UART download...

If I try to run hisi-idt.py during “NULL package” stage (on ttyUSB1) or after “Switch to UART download…” stage (on ttyUSB0) I get next message in terminal:

 Serial:  /dev/ttyUSB1
 Image1:  FB1.img
 Image2:  FB.img
+----------------------+

Sending FB1.img ...
Done

Sending FB.img ...
Done

and in debug terminal:

uFileAddress=ss=f9800800
start armboot download mode
[BDID]boardid: 745 <7.4.5>                                                      
battery 펟v���W�����ʝcn�g������
H�����������w!!I㡡�v�J�ơ�����硾�B����9�F�F�$�/"�0D�c���������f��B���B�f���gc姾����fB�ʔ

but the phone do not answer for fastboot.

Please guys - give me a push to the right way? I`m really close.


#7

Also I found that phone is changing UART baudrate during the boot. Logs above are at the 115200 speed and all ??? are on 921600.
So I found a problem:

[SEC]check_oem_hw: carrier_id = 0x00000000
DX_BIV_SwImageVerification image id is 0x00000011, return is 0xf1000002 !
execute_load_fastboot2: In secure mode and fastboot2 verify failed!
Load fastboot2 failed!

As I understand - the system checks some CRC of fastboot2 and failed.
Same picture then I load 2nd file via hisi-idt.py:

return from fastboot1!
uFileAddress=ss=07000000
uFileAddress=ss=07000000
uFileAddress=ss=07000000
image verify failed! 

So it applies fastboot1 into RAM, run it, waiting for second file and fails.
I suppose it is bootloader security problem and really can`t be solved via USB without apropriate images to boot.


#8

Don’t worry check Huawei Honor4C Manual and read whole booting article from it that explain you types of fastboot error and multiple fixes that allow you to remove the issue in fastbooting process.


#9

Are You kidding? Pls give me a screenshot of manual where You found info about booting process?