Search code examples
androidandroid-thingsimx6fastboot

Can't connect to i.MX7 via fastboot


I have an IMX7 board from TechNexion. This is the board linked from the Android Things website as a supported board. On unboxing the board, I cannot connect to the device via Fastboot. I can access the boot prompt and default/shipped linux installation via a serial connection. It also connects via ethernet. But no Fastboot. I'd like to install the latest Android Things OS.

fastboot devices returns nothing. adb devices returns nothing. Rebooting adb has no impact. I've also tried starting Fastboot from the U-Boot prompt.

=> fastboot
Unknown command 'fastboot' - try 'help'

The documentation implies it's installed on the device.

I'm running the latest Android platform tools (26.0.0) on a Mac (10.12.6).

I don't have much experience with Fastboot or hardware, but I have connected to a few other boards without any problem. Any ideas appreciated.

EDIT: below is the output as seen from the serial connection. This is the bootloader output, and then also the initial part of the Linux boot sequence.

MMC:   FSL_SDHC: 0, FSL_SDHC: 1
No panel detected: default to MCIMX28LCD
Display: MCIMX28LCD (800x480)
Video: 800x480x24
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net:   FEC0
Warning: FEC0 MAC addresses don't match:
Address in SROM is         00:1f:7b:86:2e:3f
Address in environment is  00:1f:7b:aa:01:32

Normal Boot
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1(part 0) is current device
switch to partitions #0, OK
mmc1(part 0) is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
5726824 bytes read in 149 ms (36.7 MiB/s)
Booting from mmc ...
reading imx7d-pico_pi.dtb
44004 bytes read in 17 ms (2.5 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x576268 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300dbe3

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15-224683-gf3ba9d9 (tapani@triceratops) (gcc version 5.1.1 20150608 (Linaro GCC 5.1-2015.08) ) #4 SMP PREEMPT Tue Dec 20 17:50:41 HKT 2016

Solution

  • It looks like your board was not shipped with the fastboot bootloader necessary for Android Things, and instead has been pre-flashed with a Linux distro.

    You will need to use the mfgtools package from NXP to re-flash your board with the proper bootloader to continue. The NXP Pico Quick Start Guide for Android Things describes where to get this tool (section 7.3) and how to use it to re-flash the bootloader with mfgtools (section 9.1).

    After the bootloader has been updated, you should be able to follow the official flashing instructions to install Android Things using an image downloaded from the console.