I am having troubles using MFGTools for an i.MX6sll EVK.
I have two eval board :
- IMX6SLL EVK REV A1
- IMX6SLL EVK REV A
I tried :
- L4.1.15_2.1.0-ga_mfg-tools.tar.gz from NXP Website on Windows 10 pro
- L4.9.11_1.0.0-ga_mfg-tools.tar.gz from NXP Website on Windows 10 pro
- Mfgtools built from source code : GitHub - codeauroraforum/mfgtools: Freescale/NXP I.MX Chip image deploy tools. on Linux
Windows binaries does not works inside a VM (crash when the USB device is plug), so I used a physical machine.
On Linux, with a binary built from Git, I needed to patch MfgToolLib/DeviceManager.cpp to correct a segfault in DevChange_callback() as g_devClasses[DeviceClass::DeviceTypeMsc] is not allocated but used.
Running mfgtools.exe, the right board is detected and I can "start" update. There is "Loading U-boot" displayed and nothing happen. The log seems normal and ends with :
ModuleID LevelID: ExecuteCommand--Boot[WndIndex:0], File is C:\...\firmware\u-boot-imx6sllevk_sd.imx
On Linux, same behavior but I got more information :
ModuleID LevelID: ExecuteCommand--Boot[WndIndex:0], File is .../firmware/u-boot-imx6sllevk_sd.imx
ModuleID LevelID: RunPlugIn(): TransData(0x877FF400, 0x5FC00,0x6B933010) failed.
ModuleID LevelID: PortMgrDlg(0)--MxHidDevice--Command Boot excute failed
As I am able to debug on Linux, I checked that :
- RunDCD() succeed in MxHidDevice::RunPlugIn
- In TransData(), the SendCmd() for ROM_KERNEL_CMD_WR_FILE succeed
- SendData() fails because libusb_control_transfer() fails in Write() with values : ret=-7, size=1025
I suspected DCD data does not works for the i.MX6SLL-EVL REVA, so I tried :
How did you test MFGTools with the EVK ? Have you experienced a similar problem ?