410c SD Rescue not working


#1

The fastboot on my 410c stopped working, after a boot image install that failed…

I copied the ‘rescue’ image (db410c_sd_rescue.img) onto a spare SDcard, as per the instructions, but this did not update fastboot when booted…

All I get on the console is:

Android Bootloader - UART_DM Initialized!!!
[0] welcome to lk
[10] platform_init()
[10] target_init()
[30] SDHC Running in HS200 mode
[40] Done initialization of the card
[40] pm8x41_get_is_cold_boot: cold boot
[50] Rescue image for DragonBoard 410c, boot into fastboot mode only
[60] Not able to search the panel:
[60] Display not enabled for 24 HW type
[60] Target panel init not found!
[60] pm8x41_get_is_cold_boot: cold boot
[70] Invalid partition index
[70] Invalid partition index
[70] Invalid partition index
[80] fastboot_init()
[80] Error: ssd partition not found
[180] USB init ept @ 0x8f690000
[200] udc_start()
<< HANG >>

I have tested the setup with the standard ubuntu/qualcomm install image, and this loads/runs OK, so the sdcard can be read…

I really don’t want to completely reinstall everything, especially as I just got Fedora 22 running on the device, and was about to take a backup, before this happened…

Robert Gadsdon.
July 1, 2015


#2

hi

what do you mean by “after a boot image failed”? What happened precisely?

Also, what do you mean by ‘stopped working’, what do you get on the serial console when it doesn’t work?

About the Rescue image, it seems the flashing of the SD card worked fine, since you can see the trace:

[50] Rescue image for DragonBoard 410c, boot into fastboot mode only

That confirms that you are booting from SD. Are you sure that S6 switch is 0-1-0-0 as per [1]. it looks like it might not be the case.

[1] https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-Android#boot-rescue-image-on-db410c


#3

Thanks for the reply…

The normal boot failed with

[90] failed to get ffbm cookie[100] use_signed_kernel=0, is_unlocked=0, is_tampered=0.
[100] Loading boot image (14020608): start
[190] Loading boot image (14020608): done
[300] DTB Total entry: 15, DTB version: 2
[300] Using DTB entry 0x000000f7/00000000/0x00010018/0 for device 0x000000f7/00010000/0x00010018/0
[310] Using pmic info 0x2000b/0x0/0x0/0x0 for device 0x2000b/0x0/0x0/0x0
[320] target_display_panel_node:510: hw_id=24 panel_name=“qcom,cc-debug-8936”
[320] cmdline: root=/dev/mmcblk0p10 rw rootwait console=ttyMSM0,115200n8 androidboot.emmc=true androidboot.serialno=b94c1d70 androidboot.baseband=apq adv7533_dsi2hdmi.panel=dsi mdss_mdp.panel=1:dsi:0:qcom,mdss_dsi_qcom,cc-debug-8936
[340] Updating device tree: start
[380] Updating device tree: done
[390] booting linux @ 0x80080000, ramdisk @ 0x82000000 (2770953), tags/device tree @ 0x81e00000
[400] Jumping to kernel via monitor
<< HANG >>

When attempting to enable fastboot mode (which I had already done - successfully - several times before…) the system hung, before the ‘reset / fastboot: processing commands’ messages… I did check the switch settings etc… and retried several times…

According to the documentation, the rescue sd process is supposed to produce a message similar to

QC_IMAGE_VERSION_STRING=BOOT.BF.3.0-00261

Rescue image for DragonBoard 410c, boot into fastboot mode only

fastboot: processing commands

  • and what I was seeing on the console did not match this…

After your comment that fastboot probably had installed, I tried booting into fastboot mode again, and this time it did work…

Many thanks for your assistance… Maybe the documentation needs to be updated…!

Robert Gadsdon.
July 1, 2015


#4

well, not sure i understand what needs to be modified in the doc… can you suggest what needs change/improvements?

also, note that ‘booting the SD rescue image’ doesn’t reflash the eMMC automatically. Booting the rescue image load the bootloader from the SD card and the content of the eMMC is ignored during the boot. When you reach fastboot, you can then re-install the eMMC with the original bootloader (and the original partition table) by using the bootloader zip file.


#5

I have same situation. My dragonboard does not show flashboot command from SD card recovery mode. I have set up correct switch setting but it stuck at below point. Please help me solve this problem. I have android 5.1 install and want to reflash it.

[0] welcome to lk

[10] platform_init()
[10] target_init()
[40] SDHC Running in HS200 mode
[50] Done initialization of the card
[60] pm8x41_get_is_cold_boot: cold boot
[60] Rescue image for DragonBoard 410c, boot into fastboot mode only
[70] Not able to search the panel:
[70] Display not enabled for 24 HW type
[70] Target panel init not found!
[80] pm8x41_get_is_cold_boot: cold boot
[80] fastboot_init()
[90] Loading keystore failed status 5 [190] USB init ept @ 0x8f690000
[210] udc_start()
[1220] – reset –


#6

Hi All,

I run into the same situation some days ago. If you use the “dragonboard410_sdcard_install*.img” instead it worked for me and I got the board recovered. Just follow the install dialog after you booted the DB410 with enabled sd-boot. On a sidenote (maybe important) I prefer using linux dd to create my sdcard images. When I used Win32DiskImager I got the sdcard created and readable under linux, but the DB410c install screen did not appear after booting.

best wishes!


#7

HI ,

Hope you are doing fine.
My DB410C board looks like bricked, and not able to enter to Fastboot mode after trying to boot from the SD card
SD card is flashed with db410c_sd_rescue.img (Downloaded from : http://releases.linaro.org/96boards/dragonboard410c/linaro/rescue/latest/dragonboard410c_sdcard_rescue-*.zip)

Can you please help me with the exact steps you followed to recover the board from the brick.


#8

All board recovery instruction are here:

There are two methods, SD card and USB flashing tools. If both fail it is likely your board may be damaged.

As a final check before giving up it would be sensible to ensure there is nothing connected to your DB410C except for the power supply and micro-USB cable. It is also worth trying with a different USB cable (there are so many cheap and broken ones in many peoples junk box that these are often the least reliable component).


#9

Hi danielt ,

In order to recover the device through USB method , do we need to have serial (debug UART) connection necessarily?


#10

I don’t think so. The instructions do seem to recommend it but from reading it none of the commands require you to send any command over the UART. I think this is only used to give you the warm fuzzy feeling of seeing the “right” serial output.

Instead I often run something like journalctl -fk in another window when doing tasks like this. This shows the kernel messages in real time and allows me to see all the USB enumerations happening (which is another way to confirm that the commands are doing what is expected).


#11
HELLO version: 0x2 compatible: 0x1 max_len: 1024 mode: 0
READ image: 13 offset: 0x0 length: 0x34
READ image: 13 offset: 0x34 length: 0x60
READ image: 13 offset: 0x1000 length: 0x1000
READ image: 13 offset: 0x2000 length: 0x988
READ image: 13 offset: 0x3000 length: 0x1000
READ image: 13 offset: 0x4000 length: 0x1000
READ image: 13 offset: 0x5000 length: 0x1000
READ image: 13 offset: 0x6000 length: 0x1000
READ image: 13 offset: 0x7000 length: 0x1000
READ image: 13 offset: 0x8000 length: 0x1000
READ image: 13 offset: 0x9000 length: 0x1000
READ image: 13 offset: 0xa000 length: 0x1000
READ image: 13 offset: 0xb000 length: 0x1000
READ image: 13 offset: 0xc000 length: 0x1000
READ image: 13 offset: 0xd000 length: 0x1000
READ image: 13 offset: 0xe000 length: 0x1000
READ image: 13 offset: 0xf000 length: 0x1000
READ image: 13 offset: 0x10000 length: 0x1000
READ image: 13 offset: 0x11000 length: 0x1000
READ image: 13 offset: 0x12000 length: 0x1000
READ image: 13 offset: 0x13000 length: 0x1000
READ image: 13 offset: 0x14000 length: 0x1000
READ image: 13 offset: 0x15000 length: 0x1000
READ image: 13 offset: 0x16000 length: 0x1000
READ image: 13 offset: 0x17000 length: 0xbe0
END OF IMAGE image: 13 status: 0
DONE status: 0
LOG: init storage:fail 
LOG: init storage:fail 
LOG: init storage:fail 

====From the journalctl -fk================
Oct 08 21:04:58 Lenovo-ideapad-310-15IKB kernel: qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0

Oct 08 21:04:58 Lenovo-ideapad-310-15IKB kernel: qcserial 1-2:1.0: device disconnected

Oct 08 21:04:59 Lenovo-ideapad-310-15IKB kernel: usb 1-2: new full-speed USB device number 8 using xhci_hcd

Oct 08 21:04:59 Lenovo-ideapad-310-15IKB kernel: usb 1-2: device descriptor read/64, error -71

Oct 08 21:05:44 Lenovo-ideapad-310-15IKB kernel: usb 1-2: new high-speed USB device number 9 using xhci_hcd

Oct 08 21:05:44 Lenovo-ideapad-310-15IKB kernel: usb 1-2: New USB device found, idVendor=05c6, idProduct=9008

Oct 08 21:05:44 Lenovo-ideapad-310-15IKB kernel: usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0

Oct 08 21:05:44 Lenovo-ideapad-310-15IKB kernel: usb 1-2: Product: QHSUSB__BULK

Oct 08 21:05:44 Lenovo-ideapad-310-15IKB kernel: qcserial 1-2:1.0: Qualcomm USB modem converter detected

Oct 08 21:05:44 Lenovo-ideapad-310-15IKB kernel: usb 1-2: Qualcomm USB modem converter now attached to ttyUSB0