L4.1.15_2.1.0-ga_mfg_tools not finding board?

cancel
Showing results for 
Search instead for 
Did you mean: 

L4.1.15_2.1.0-ga_mfg_tools not finding board?

1,072 Views
colinhelliwell
Contributor III

I'm trying to migrate from mfgtool2 on Windows to the Linux version. I'm using a custom board, with an IMX6Solo CPU, and I've been using the Windows version successfully, so I know my images etc are fine. 

I've used the cfg.ini and ucl2.xml files from Windows to set up the Linux tool, and I'm fairly sure all is correct with these - indeed an 'strace' on mfgtoolcli shows them being opened successfully.

The board is detected on USB - lsusb shows:

Bus 001 Device 007: ID 15a2:0061 Freescale Semiconductor, Inc.

with dmesg containing:

[1195478.199348] usb 1-2: new high-speed USB device number 7 using xhci_hcd
[1195478.328352] usb 1-2: New USB device found, idVendor=15a2, idProduct=0061
[1195478.328358] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1195478.328362] usb 1-2: Product: SE Blank RIGEL
[1195478.328365] usb 1-2: Manufacturer: Freescale SemiConductor Inc
[1195478.352579] usbcore: registered new interface driver usbhid
[1195478.352583] usbhid: USB HID core driver
[1195478.358096] hid-generic 0003:15A2:0061.0001: hiddev0,hidraw0: USB HID v1.10 Device [Freescale SemiConductor Inc SE Blank RIGEL] on usb-0000:00:14.0-2/input0

The ucl2.xml file - in ./Profiles/myboard/OS Firmware-  has the LIST entry for 'LINUX-MMC', and a CFG section:

<CFG>
<STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/>
<STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/>
<STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/>
<STATE name="Updater" dev="MSC" vid="066F" pid="37FF"/>
</CFG>

However when I run mfgtoolcli (as sudo) - sudo ./mfgtoolcli -l "LINUX-MMC" -c "myboard" - there doesn't seem to be any comms with the board at all. The console shows:

  Your Options:
  Ready to flash.

(and it sits there like that). The log file contains:

DLL version: 2.3.4
Tue Jan 23 13:08:47 2018
Start new logging
ModuleID[2] LevelID[10]: address from XML 0x10500000

ModuleID[2] LevelID[10]: address from XML 0x10800000

ModuleID[2] LevelID[10]: address from XML 0x11180000

ModuleID[2] LevelID[10]: address from XML 0x11200000

ModuleID[2] LevelID[10]: address from XML 0x10600000

ModuleID[2] LevelID[10]: address from XML 0x10540000

ModuleID[2] LevelID[10]: address from XML 0x11100000

ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass

Any thoughts on what's wrong, and/or how to debug further?

Thanks.

Labels (3)
Tags (1)
0 Kudos
2 Replies

521 Views
colinhelliwell
Contributor III

In the end, I've given up on the NXP Linux MfgTool (both the NXP binary download and the github source repo), and instead migrated to imx_usb_loader + utp_com (https://community.nxp.com/thread/441563 ).

It took a bit of figuring out the downloading and flashing commands (especially when my SOM manufacturer - KaRo - have done their own u-boot with their own way of writing the production u-boot!), but I got USB comms without any problem, and the two apps seem cleanly-written.

0 Kudos

521 Views
colinhelliwell
Contributor III

I've been digging into this some more, using wireshark and strace. It looks like the app isn't even trying to do anything on USB. I can see it examining all the USB devices (e.g. via /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/uevent), but can only assume that it's not spotting the board.

This 'file' contains:

DEVTYPE=usb_interface
PRODUCT=15a2/61/1
TYPE=0/0/0
INTERFACE=3/0/0
MODALIAS=usb:v15A2p0061d0001dc00dsc00dp00ic03isc00ip00in00

- note, no 'DRIVER' field. Could this be the reason? 

In parallel with trying the official tool, I've also been trying the version from GitHub - codeauroraforum/mfgtools: Freescale/NXP I.MX Chip image deploy tools.  (on the same hardware). This gets as far as trying to read/write on the USB but still without success. I don't know how robust this version is either, but at least I can try digging into the source.

Is the source available for the official version? (And I'd also like to build a 32-bit version anyway)

0 Kudos