I am unable to flash a new image to my Pico i.MX7D board because I cannot get fastboot to work.
It began when I accidentally flashed a production image to the board. Now I cannot get my computer to recognize the device. I followed the instructions on the Android Developers site to Recover a Device but cannot get the last command, 'fastboot usb' to work.
From the serial console:
U-Boot 2017.03-00007-g7f67ae9 (Jul 20 2017 - 17:31:24 +0800)
CPU: Freescale i.MX7D rev1.2 996 MHz (running at 792 MHz)
CPU: Commercial temperature grade (0C to 95C) at 27C
Reset cause: POR
Board: i.MX7D PICOSOM in secure mode
I2C: ready
DRAM: 512 MiB
PMIC: PFUZE300 DEV_ID=0x30 REV_ID=0x11
MMC: FSL_SDHC: 0, FSL_SDHC: 1
No panel detected: default to EJ050NA
Display: EJ050NA (800x480)
Video: 800x480x24
In: serial
Out: serial
Err: serial
flash target is MMC:1
Net: FEC0
Fastboot: Normal
Hit any key to stop autoboot: 0
=> fastboot usb
g_dnl_register: failed!, error: -19
exit not allowed from main input shell.
Other forums suggested the unlock command. Nothing seems to happen when I run it:
From the serial console:
=> fastboot flashing unlock
fastboot - use USB Fastboot protocol
Usage:
fastboot <USB_controller>
- run as a fastboot usb device
=> fastboot oem unlock
fastboot - use USB Fastboot protocol
Usage:
fastboot <USB_controller>
- run as a fastboot usb device
From my computer:
$ fastboot flashing unlock
< waiting for any device >
$ fastboot oem unlock
< waiting for any device >
Both 'fastboot devices' and 'adb devices' fail to return anything.
I also followed the i.MX7D reference guide to Set the Device into FASTBOOT Mode (section 11.2). Those commands failed to be recognized:
=> su
Unknown command 'su' - try 'help'
=> reboot bootloader
Unknown command 'reboot' - try 'help'
I found a post on another site for the same issue and had no luck with the recommended solution. I tried adding 'androidboot.dm_verity=disabled and androidboot.selinux=disabled' to the bootargs but it didn't get fastboot to work.
=> printenv
baudrate=115200
bootargs=androidboot.dm_verity=disabled androidboot.selinux=disabled
bootcmd=boota mmc1
bootdelay=3
ethact=FEC0
ethaddr=00:1f:7b:86:6a:81
ethprime=FEC
fastboot_dev=mmc1
fdt_high=0xffffffff
initrd_high=0xffffffff
loadaddr=0x80800000
splashpos=m,m
Environment size: 287/8188 bytes
Additional information:
Mac OS High Sierra 10.13.4
Device (Pico i.MX7D):
U-Boot 2017.03-00007-g7f67ae9 (Jul 20 2017 - 17:31:24 +0800)
real-arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
GNU ld (binutils-2.25-129dec3) 2.25.51.20141117
Using Serial to view the serial console
EDIT: I have tested using another board (that was not flashed with a prod image) with my computer and everything works as expected.
This seems to be an issue with USB enumeration on some host machines. You should be able to run the bootloader commands successfully if you connect the USB-C port on the board through a powered hub.
User contributions licensed under CC BY-SA 3.0