0

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
j2abro
  • 733
  • 8
  • 17
  • From your description it is unclear whether you execute fastboot on your PC or android things device. You should execute fastboot on your PC. During the Android Things OS installation process there is no need to connect to the board over serial connection. – Jakub Mendyk Sep 09 '17 at 22:14
  • @JakubMendyk - Thanks. I am executing the `fastboot` command from my Mac (which I tried both while I was connected and not connected via serial). I also tried running `=> fastboot` from the device boot prompt , but just as a test to determine if maybe fastboot on the device was not started. – j2abro Sep 09 '17 at 23:02
  • Just to make sure - when you try to run fastboot, IMX7 is attached to computer with a USB cable using USB-C connector on the board? – Jakub Mendyk Sep 09 '17 at 23:06
  • Yes, connecting USB for power and hopefully ADB and fastboot. I'm following the Android Things guidance for the device, which has worked for other devices, such as Raspberry Pi. – j2abro Sep 09 '17 at 23:09
  • It look like there may be an incorrect version of the bootloader on your board. Can you post the full output that you see over the serial console before you attempted to execute `fastboot` from the U-boot prompt? – devunwired Sep 11 '17 at 16:41
  • Also, did you purchase this board directly from TechNexion? – devunwired Sep 11 '17 at 16:42
  • Yes I purchased from TechNexion following the link directly from the Android Things website. – j2abro Sep 11 '17 at 17:56
  • @Devunwired - will this sounds promising! Thanks. I've updated the question. – j2abro Sep 11 '17 at 18:10

2 Answers2

2

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.

devunwired
  • 62,780
  • 12
  • 127
  • 139
  • Victory! This was indeed the issue. Even TechNexion support was unaware that they were shipping the wrong bootloader. And just to clarify, the file I selected with MFG Tools (in Section 9.1 of their guide) that worked for me, out of the long list was this one: **mfgtool2-brillo-mx7d-pico-emmc-firmware.vbs** – j2abro Sep 12 '17 at 13:26
  • And for the record, the equivalent for IMX6 is at https://www.nxp.com/docs/en/quick-reference-guide/Argon-iMX6UL-QSG.pdf and it mentions to flash the following file: mfgtool2-brillo-mx6ul-iopb-emmc-firmware.vbs – Wayne Piekarski Oct 30 '17 at 23:59
  • 1
    on MacOS binary is not working :( `sudo ./linux-runvbs.sh mfgtool2-brillo-mx7d-pico-emmc-firmware.vbs mfgtool2-brillo-mx7d-pico-emmc-firmware.vbs Executing: ./mfgtoolcli -l eMMC-Brillo-uboot -s 7duboot=pico -s 7ddtb=sdb -s folder=pico_imx7d -s soc=7d -s mmc=2 -s data_type= ./linux-runvbs.sh: line 20: ./mfgtoolcli: cannot execute binary file` – Ivan Temchenko Nov 17 '17 at 20:06
  • @IvanTemchenko I am getting the same error. Did you find a way to fix it? – bhdrkn Jan 21 '18 at 15:23
  • @bhdrkn parallels + CentOS =) – Ivan Temchenko Jan 22 '18 at 11:47
0

Maybe try:

adb kill-server 

It helped here Android Things - pico i.mx7 unable to connect

Rafał Kot
  • 1,064
  • 3
  • 15
  • 26
  • 1
    That's good advice. I've tried that as well, and it has helped in the past, but not this time. – j2abro Sep 10 '17 at 14:59