MFGTool not working for i.MX6 DualLite CPU Card

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MFGTool not working for i.MX6 DualLite CPU Card

Jump to solution
21,997 Views
rafalwegner
Contributor II

Hello

 

I tried to update my i.MX6 DualLite CPU Card with MTGTool2 (Mfgtools-Rel-3.0.0_121207_MX6DL_UPDATER).

I have changed boot mode pins to serial download.

I have connected my board to PC using USB OTG interface, device was properly recognized by my WinXP. Also MFGTool shows proper information: "HID compliant device". When I start the process, loading modules is working ok but it stucks on "Jumping to OS image".

Also, terminal (which works ok when booting from SD card) is not working - no information available.

It looks like all BootStrap states are performed and none of the Updater states (ucl2.xml configuration file).

 

Does anyone had same problem? Does anyone knows what am I doing wrong?

 

Also I have questions about ucl2.xml file:

  <CFG>

  <STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/>

  <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>

  </CFG>

 

What is dev, vid and pid parameters? Should I change somehow those? Why those are different for BootStrap nad Updater states?

 

In attachment is log file from MFGtool.

 

BR, Rafal

 

Original Attachment has been moved to: MfgTool.log.zip

Labels (1)
Tags (4)
0 Kudos
1 Solution
4,068 Views
lily_zhang
NXP Employee
NXP Employee

The host is OK. The device seems to have the problem. You had better provide the log into console for this problem.

For bootstrap mode, it refers to the communcation between the host and ROM codes through serial download protocol. The purpose of this mode is to download MFGTool firmwares (Uboot/kernel/rootfs) to the devices and then jump to the Ubootof MFGTool firmwares. The VID and PID are aligned with ROM codes.

Updater mode, it refers to the communcation between the host and MFGTool firmware through UTP defined in kernel. So its VID and PID are different.

View solution in original post

0 Kudos
23 Replies
3,842 Views
marcusgoede
Contributor I

Hi,

please try to clicking STOP and START while "jumping to OS" is displayed.

For my experience this is an issue on WindowsXP hosts.

0 Kudos
4,069 Views
lily_zhang
NXP Employee
NXP Employee

The host is OK. The device seems to have the problem. You had better provide the log into console for this problem.

For bootstrap mode, it refers to the communcation between the host and ROM codes through serial download protocol. The purpose of this mode is to download MFGTool firmwares (Uboot/kernel/rootfs) to the devices and then jump to the Ubootof MFGTool firmwares. The VID and PID are aligned with ROM codes.

Updater mode, it refers to the communcation between the host and MFGTool firmware through UTP defined in kernel. So its VID and PID are different.

0 Kudos
3,851 Views
KeshavaGN
Contributor V

hi

I'm trying to flash NAND using MFG tool. It fails frequently with following lines on hyperterminal :


PID:00400002 TID:01BF000E ERROR: c:\wince700\platform\common\src\soc\common_fsl_v3\uut\uutdrv\bot.cpp line 766: PID:00400002 TID:01BF000E UsbMsFn!BOT_HandleCBW: Invalid CBW signature



Error message on MFGTool displays:

failed to run command: type="push" body="send" file="files/NK.nb0" timeout="10" onError="" text="Sending NK.nb0 file." ,, Error code:-1

What is the reason for this error? and how i can solve it?


Thanks.


With regards,

Keshava G N

0 Kudos
3,844 Views
lily_zhang
NXP Employee
NXP Employee

I am not familar with WinCE image flashing. You had better list MFGTool version, Software version and hardware information. So we can provide help.

0 Kudos
3,842 Views
KeshavaGN
Contributor V

Hi xiaoli.zhang,

Thanks for quick reply.

I'm using MFGTool version: 1.6.2.041

WEC7 on device and WindowsXP on host machine.

Thanks.

With regards,

Keshava G N

keshavagn@iwavesystems.com

0 Kudos
3,842 Views
lily_zhang
NXP Employee
NXP Employee

Which i.MX platform you are using? Still MX6DL?

I remembered we don’t have MFGTool release for i.MX6 WinCE.

Best Regards

Lily Zhang

Freescale MPU Support

0 Kudos
3,851 Views
rafalwegner
Contributor II

Thank you for fast response.

If I understood correctly I should not change anything in CFG part of ucl2.xml file?

If bootstrap mode is working ok (visible progress on MFGTool) and updater mode is not working at all, is it possible I am using wrong image files/configuration? I already tried: i.MX6DL-SABRESD-SD and i.MX6DL-ubuntu-SABRESD-SD (my board is i.MX6 DualLite CPU board) and use image files that comes with MFGTool.

As I stated before, my console is inactive when boot mode configured for serial download. Should some debugs be visible right from the start of MFGTool operation? Eg. While "Loading U-boot"?

0 Kudos
3,851 Views
lily_zhang
NXP Employee
NXP Employee

Host logs show it jumps to the U-boot. But no further log information. For this case, device log is useful.

If you download MFGTool from the formal web site, this tool should work well for MX6 board. You can double check you didn’t change u-boot-mx6dl-sabresd.bin and uImage under Profiles\MX6DL Linux Update\OS Firmware?

Meanwhile, Do you have the detailed information about your board – Version etc? Did you use the MFGTool with old version? How about the results?

If your device log can work, you can check whether there is uboot log into console. If not, you can check whether DDR script in MFGTool is stable for your board. If U-boot is OK, then you can check kernel part.

0 Kudos
3,851 Views
rafalwegner
Contributor II

Hello

I have changed the u-boot.bin version and now I have console working ok. But still no operation after "Jumping to OS image".

I am not able to perform any of "Updater" calls. Below  you can find log from console. You can see Linux is started and some "UTP:" debugs but no access to console and it stucks on "cpu_id is 0". Should user be able to write to console? Run a program? Could someone identify if I have problem with kernel or ramfs?

U-Boot 2009.08 (Feb 01 2013 - 04:35:31)

CPU: Freescale i.MX6 family TO1.1 at 792 MHz

Temperature:   37 C, calibration data 0x5984dd7d

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 198000000Hz

emi_slow clock: 22000000Hz

ddr clock     : 396000000Hz

usdhc1 clock  : 198000000Hz

usdhc2 clock  : 198000000Hz

usdhc3 clock  : 198000000Hz

usdhc4 clock  : 198000000Hz

nfc clock     : 24000000Hz

Board: i.MX6DL/Solo-SABREAUTO: unknown-board Board: 0x61011 [POR ]

Boot Device: SD

I2C:   ready

DRAM:   2 GB

MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3

*** Warning - bad CRC or MMC, using default environment

In:    serial

Out:   serial

Err:   serial

Net:   got MAC address from IIM: 00:04:9f:02:77:68

FEC0 [PRIME]

Hit any key to stop autoboot:  0

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-3.0.35-2213-g7e8c89c

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    3151012 Bytes =  3 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 10c00000 ...

   Image Name:   uboot initramfs rootfs

   Image Type:   ARM Linux RAMDisk Image (gzip compressed)

   Data Size:    4543742 Bytes =  4.3 MB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Linux version 3.0.35-2213-g7e8c89c (r65388@shlinux3) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #1 SMP PREEMPT Fri Dec 7 08:25:43 CST 2012

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre Auto Board

Memory policy: ECC disabled, Data cache writealloc

CPU identified as i.MX6DL/SOLO, silicon rev 1.1

PERCPU: Embedded 7 pages/cpu @8c80e000 s5184 r8192 d15296 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 520192

Kernel command line: console=ttymxc3,115200 rdinit=/linuxrc arm_freq=800

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)

Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)

Memory: 2048MB = 2048MB total

Memory: 2068392k/2068392k available, 28760k reserved, 360448K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)

    vmalloc : 0xea800000 - 0xf2000000   ( 120 MB)

    lowmem  : 0x80000000 - 0xea000000   (1696 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .init : 0x80008000 - 0x80039000   ( 196 kB)

      .text : 0x80039000 - 0x805a789c   (5563 kB)

      .data : 0x805a8000 - 0x805f1620   ( 294 kB)

       .bss : 0x805f1644 - 0x8061c214   ( 171 kB)

SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

Preemptible hierarchical RCU implementation.

NR_IRQS:496

MXC GPIO hardware

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

Set periph_clk's parent to pll2_pfd_400M!

MXC_Early serial console at MMIO 0x21f0000 (options '115200')

bootconsole [ttymxc3] enabled

Console: colour dummy device 80x30

Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

CPU1: Booted secondary processor

Brought up 2 CPUs

SMP: Total of 2 processors activated (3162.11 BogoMIPS).

print_constraints: dummy:

NET: Registered protocol family 16

print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal

print_constraints: vddcore: 725 <--> 1300 mV at 1100 mV fast normal

print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal

print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal

print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal

print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal

hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.

hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.

hw-breakpoint: maximum watchpoint size is 4 bytes.

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02050000, Cache size: 524288 B

IMX usb wakeup probe

bio: create slab <bio-0> at 0

mxs-dma mxs-dma-apbh: initialized

print_constraints: VA: 2800 mV

print_constraints: VD: 2800 mV

print_constraints: VLS: 2800 mV

print_constraints: VLC: 2800 mV

print_constraints: vmmc: 3300 mV

SCSI subsystem initialized

spi_imx imx6q-ecspi.0: probed

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

mc_pfuze 1-0008: ID: 0,Full lay: 1 ,Metal lay: 1

mc_pfuze 1-0008: FAB: 0 ,FIN: 0

print_constraints: SW1A: 300 <--> 1875 mV at 1375 mV

print_constraints: SW1B: 300 <--> 1875 mV at 300 mV

print_constraints: SW1C: 300 <--> 1875 mV at 1375 mV

print_constraints: SW2: 800 <--> 3950 mV at 3000 mV

print_constraints: SW3A: 400 <--> 1975 mV at 1500 mV

print_constraints: SW3B: 400 <--> 1975 mV at 1500 mV

print_constraints: SW4: 800 <--> 3950 mV at 3300 mV

print_constraints: SWBST: 5000 <--> 5150 mV at 5000 mV

print_constraints: VSNVS: 1200 <--> 3000 mV at 1800 mV

print_constraints: VREFDDR: at 750 mV

print_constraints: VGEN1: 800 <--> 1550 mV at 800 mV

print_constraints: VGEN2: 800 <--> 1550 mV at 1500 mV

print_constraints: VGEN3: 1800 <--> 3300 mV at 1800 mV

print_constraints: VGEN4: 1800 <--> 3300 mV at 1800 mV

print_constraints: VGEN5: 1800 <--> 3300 mV at 2500 mV

print_constraints: VGEN6: 1800 <--> 3300 mV at 2800 mV

imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

Advanced Linux Sound Architecture Driver Version 1.0.24.

Bluetooth: Core ver 2.16

NET: Registered protocol family 31

Bluetooth: HCI device and connection manager initialized

Bluetooth: HCI socket layer initialized

Bluetooth: L2CAP socket layer initialized

Bluetooth: SCO socket layer initialized

i2c-core: driver [max17135] using legacy suspend method

i2c-core: driver [max17135] using legacy resume method

Switching to clocksource mxc_timer1

Clockevents: could not switch to one-shot mode:

Clockevents: could not switch to one-shot mode: dummy_timer is not functional.

Could not switch to high resolution mode on CPU 1

dummy_timer is not functional.

Could not switch to high resolution mode on CPU 0

NET: Registered protocol family 2

IP route cache hash table entries: 65536 (order: 6, 262144 bytes)

TCP established hash table entries: 262144 (order: 9, 2097152 bytes)

TCP bind hash table entries: 65536 (order: 7, 786432 bytes)

TCP: Hash tables configured (established 262144 bind 65536)

TCP reno registered

UDP hash table entries: 1024 (order: 3, 32768 bytes)

UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

Unpacking initramfs...

Freeing initrd memory: 4436K

Static Power Management for Freescale i.MX6

wait mode is enabled for i.MX6

cpaddr = ea820000 suspend_iram_base=ea894000

PM driver module loaded

i.MXC CPU frequency driver

highmem bounce pool size: 64 pages

JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

msgmni has been set to 3344

cryptodev: driver loaded.

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver ldb

_regulator_get: get() with no identifier

imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)

Console: switching to colour frame buffer device 128x48

mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb

imx-sdma imx-sdma: loaded firmware 1.1

imx-sdma imx-sdma: initialized

Serial: IMX driver

imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX

imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX

imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX

console [ttymxc3] enabled, bootconsole disabled

console [ttymxc3] enabled, bootconsole disabled

loop: module loaded

No NAND device found.

Chip scan failed

GPMI NAND driver registered. (IMX)

vcan: Virtual CAN interface driver

FEC Ethernet Driver

fec_enet_mii_bus: probed

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

ARC USBOTG Device Controller driver (1 August 2005)

add wake up source irq 75

g_file_storage gadget: controller 'fsl-usb2-udc' not recognized

check_parameters:UTP settings are in place now, overriding defaults

g_file_storage gadget: No serial-number string provided!

g_file_storage gadget: File-backed Storage Gadget, version: 1 September 2010

g_file_storage gadget: Number of LUNs=1

fsl-usb2-udc: bind to driver g_file_storage

mousedev: PS/2 mouse device common for all mice

egalax_ts 1-0004: egalax_ts: failed to read firmware version

egalax_ts: probe of 1-0004 failed with error -5

snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0

i2c /dev entries driver

Linux video capture interface: v2.00

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18

imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)

Bluetooth: Virtual HCI driver ver 1.3

Bluetooth: Generic Bluetooth USB driver ver 0.6

usbcore: registered new interface driver btusb

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using ADMA

mmc1: no vmmc regulator found

mmc1: SDHCI controller on platform [sdhci-esdhc-imx.0] using ADMA

mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

VPU initialized

mxc_asrc registered

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

Cirrus Logic CS42888 ALSA SoC Codec Driver

Device with ID register fffffffb is not a CS42888

i2c-core: driver [cs42888] using legacy suspend method

i2c-core: driver [cs42888] using legacy resume method

imx-hdmi-soc-dai: probe of imx-hdmi-soc-dai.0 failed with error -12

imx_3stack asoc driver

ALSA device list:

  No soundcards found.

TCP cubic registered

NET: Registered protocol family 17

can: controller area network core (rev 20090105 abi 8)

NET: Registered protocol family 29

can: raw protocol (rev 20090105)

can: broadcast manager protocol (rev 20090105 t)

mmc0: new high speed SDHC card at address 1234

Bluetooth: RFCOMM TTY layer initialized

Bluetooth: RFCOMM socket layer initialized

Bluetooth: RFCOMM ver 1.11

Bluetooth: BNEP (Ethernet Emulation) ver 1.3

Bluetooth: BNEP filters: protocol multicast

Bluetooth: HIDP (Human Interface Emulation) ver 1.2

mmcblk0: mmc0:1234 SA16G 14.6 GiB

mmcblk0: p1 p2

VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

Bus freq driver module loaded

Bus freq driver Enabled

mxc_dvfs_core_probe

DVFS driver module loaded

regulator_init_complete: VGEN6: incomplete constraints, leaving on

regulator_init_complete: VGEN5: incomplete constraints, leaving on

regulator_init_complete: VGEN4: incomplete constraints, leaving on

regulator_init_complete: VGEN2: incomplete constraints, leaving on

regulator_init_complete: VLC: incomplete constraints, leaving on

regulator_init_complete: VLS: incomplete constraints, leaving on

regulator_init_complete: VD: incomplete constraints, leaving on

regulator_init_complete: VA: incomplete constraints, leaving on

snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 03:29:32 UTC (12572)

Freeing init memory: 196K

Starting UTP

ln: /etc/mtab: File exists

disable turn off display

Starting the hotplug events dispatcher udevd

udevd (1992): /proc/1992/oom_adj is deprecated, please use /proc/1992/oom_score_adj instead.

Synthesizing initial hotplug events

g_file_storage gadget: high speed config #1

uuc 0.4 [built Dec  6 2012 23:44:44]

UTP: Waiting for device to appear

UTP: file/device node /dev/utp already exists

cpu_id is 0

0 Kudos
3,851 Views
lily_zhang
NXP Employee
NXP Employee

Hello, Wegner:

The console log shows the firmware is running. UTP starts working.

The next action expected is that host should send out the commands to device and ask for programming.

Did you see the relative logs in host and device?

Did you copy relative files to be programmed under “files” directory?

Best Regards

Lily Zhang

Freescale MPU Support

0 Kudos
3,851 Views
rafalwegner
Contributor II

Hello

Files are ok, I think. The problem is that I can't perform any "Updater" commands, even simple ones like:

<CMD state="Updater" type="push" body="$ ls /dev/ "> Print devices</CMD>

Is it proper request?

I always gets error on first "Updater" call. Below is log file from MFGTool:

DLL version: 2.0.8

Monday, February 04, 2013 09:54:00   Start new logging

ModuleID[1] LevelID[10]: Parse F:\RoofModule\Freescale\MFGTool2\cfg.ini file success[chip: MX6DL Linux Update, List: MX6DL-Sabreauto-SPI_NOR & SD card]

ModuleID[1] LevelID[10]: Parse F:\RoofModule\Freescale\MFGTool2\Profiles\MX6DL Linux Update\OS Firmware\ucl2.xml file success

ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running

ModuleID[2] LevelID[1]: new MxHidDeviceClass

ModuleID[2] LevelID[10]: new MxHidDevice[00BCB190]

ModuleID[2] LevelID[10]: Device Manager thread is running

ModuleID[1] LevelID[10]: Initialize Device Manager success

ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0

ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is F:\RoofModule\Freescale\MFGTool2\Profiles\MX6DL Linux Update\OS Firmware\u-boot-mx6dl-sabreauto-spi-nor.bin

ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is F:\RoofModule\Freescale\MFGTool2\Profiles\MX6DL Linux Update\OS Firmware\uImage, address is 0x10800000

ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0

ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is F:\RoofModule\Freescale\MFGTool2\Profiles\MX6DL Linux Update\OS Firmware\initramfs.cpio.gz.uboot, address is 0x10C00000

ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0

ModuleID[2] LevelID[10]: ExecuteCommand--Jump[WndIndex:0]

ModuleID[2] LevelID[10]: *********MxHidDevice[00BCB190] Jump to Ramkernel successfully!**********

ModuleID[2] LevelID[10]: CmdOperation[0], current state command has been finished and the last command is successful, so SetEvent(hDevCanDeleteEvent)

ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_REMOVAL_EVT(\\?\USB#Vid_15a2&Pid_0061#5&20f5db59&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed})

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT(\\?\USB#Vid_15a2&Pid_0061#5&20f5db59&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed})

ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, _devices.size: 1

ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, devInstPathToFind: USB\VID_15A2&PID_0061\5&20F5DB59&0&1, _deviceInstanceID: USB\VID_15A2&PID_0061\5&20F5DB59&0&1

ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, Find the device

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_0061, Hub:7-Port:1

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT, Notify

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume Arrive/Remove or Device Arrive/Remove

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, m_p_usb_port is not NULL, so only refresh

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume/Device Remove

ModuleID[2] LevelID[1]: CmdOpreation[0]--set m_hDeviceRemoveEvent.

ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device remove1

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent()-DEVICE_REMOVAL_EVT, hDevCanDeleteEvent has been set

ModuleID[2] LevelID[10]: delete MxHidDevice[00BCB190]

ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_ARRIVAL_EVT(\\?\USB#Vid_066f&Pid_37ff#5&20f5db59&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed})

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT(\\?\USB#Vid_066f&Pid_37ff#5&20f5db59&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed})

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT,[Msc,DiskDeviceClass] vid_066f&pid_37ff, not handled

ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - VOLUME_ARRIVAL_EVT(I)

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT(I)

ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice()  I

ModuleID[2] LevelID[10]: DeviceTypeDisk--_devices size: 1

ModuleID[2] LevelID[10]: Volume--StorageDisk, Disk->_driveNumber:1, Volume->_diskNumber:1

ModuleID[2] LevelID[10]: DeviceTypeDisk--find Disk device: 00BD03C8

ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 1

ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice() successful I add to current list, retrycount: 0

ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 1

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT-Disk(I), Hub:7-Port:1

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT, Notify

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume Arrive/Remove or Device Arrive/Remove

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, m_p_usb_port is not NULL, so only refresh

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume/Device Arrive

ModuleID[2] LevelID[1]: CmdOpreation[0]--set m_hDeviceArriveEvent.

ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device arrive1

ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 1

ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is send

ModuleID[2] LevelID[1]: PortMgrDlg(0)--MxHidDevice--Command Push excute failed

ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, so SetEvent(hDevCanDeleteEvent)

ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed

ModuleID[2] LevelID[10]: CCmdOpreation thread is Closed

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - EVENT_KILL

ModuleID[2] LevelID[10]: CMyExceptionHandler::OnMsgExceptionEvent() - KillExceptionHandlerThread

ModuleID[2] LevelID[10]: Exception Handler thread is closed

ModuleID[2] LevelID[1]: delete MxHidDeviceClass

ModuleID[2] LevelID[10]: Device Manager thread is closed

0 Kudos
3,851 Views
lily_zhang
NXP Employee
NXP Employee

We didn't see this problem. Just want to double confirm you selected right configurations. And relative following information keep sync with your board.

<CFG> 

  <STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/>

  <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>

  </CFG>

0 Kudos
3,851 Views
rafalwegner
Contributor II

Hello

Yes, I have the same configuration. And I choose "MX6DL-Sabreauto-SPI_NOR & SD card" script.

After OS is loaded, device (CPU mx6 board) is removed from my WinXP for a while, then connected again and after that error is displayed on MFGTool. Is this removing/adding usb device ok?

0 Kudos
3,851 Views
AndrewLu
Contributor III

Hello

What is your board type?  Sabreauto or SabreSD or other?

if you choose "MX6DL-Sabreauto-SPI_NOR & SD card" script. you should ensure that your board type is MX6DL Sabreauto, otherwise, the updater will fail.

if your board type is OK, you can get the latest Mfgtool release package, then try again.

3,851 Views
rafalwegner
Contributor II

Hello

Yes, I am using sabreauto board but without base-board. Only CPU board like on picture:

SAM_3392.JPG

Does it matter that I am using only part of sabreauto set?

I also want to use MFGTool to load firmware to custom board (with Freescale iMX6 DualLite). I am going to prepare u-boot and kernel for my board and create custom script for MFGTool. Is it possible this way? Please correct me if I am wrong and tool wan't work this way.

I am already using the newest version of MFGTool I have found on Freescale webpage: Mfgtools-Rel-3.0.0_121207_MX6DL_UPDATER

0 Kudos
3,851 Views
AndrewLu
Contributor III

Can you show me your file cfg.ini and ucl2.xml?

0 Kudos
3,851 Views
rafalwegner
Contributor II

cfg.ini file:

[profiles]

chip = MX6DL Linux Update

[platform]

board = SabreSD

[LIST]

name = MX6DL-Sabreauto-SPI_NOR & SD card

ucl2.xml file:

<UCL>

  <CFG>

  <STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/>

  <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>

  </CFG>

<!--

  The following Lists are for i.MX6Solo/DualLite chips

-->

<LIST name="MX6DL-Sabreauto-SPI_NOR & SD card" desc="Choose SPI-NOR/SD as media">

  <CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6dl-sabreauto-spi-nor.bin" >Loading uboot.</CMD>

  <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"

  loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Kernel.</CMD>

  <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"

  loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Initramfs.</CMD>

  <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>

  <!--burn the uboot to SPI-NOR: ->

  <CMD state="Updater" type="push" body="$ flash_erase /dev/mtd0 0 0">Erasing Boot partition</CMD>

  <CMD state="Updater" type="push" body="send" file="files/u-boot-mx6dl-sabreauto-spi-nor.bin">Sending U-Boot</CMD>

  <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd0 bs=512">write U-Boot to SPI-NOR</CMD -->

  <!-- partitioning the SD card: -->

  <CMD state="Updater" type="push" body="$ ls /dev/*"/>

  <CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>

  <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>

  <CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk0"> Partitioning SD card now...</CMD>

  <!-- burn the kernel: -->

  <CMD state="Updater" type="push" body="send" file="files/uImage">Sending kernel uImage</CMD>

  <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync">write kernel image to sd card</CMD>

  <!-- burn the rootfs: -->

  <CMD state="Updater" type="push" body="$ mkfs.ext3 -j /dev/mmcblk0p1">Formatting rootfs partition</CMD>

  <CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk0p1"/>

  <CMD state="Updater" type="push" body="$ mount -t ext3 /dev/mmcblk0p1 /mnt/mmcblk0p1"/>

  <CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mmcblk0p1" file="files/rootfs.tar.bz2">Sending and writting rootfs</CMD>

  <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>

  <CMD state="Updater" type="push" body="$ umount /mnt/mmcblk0p1">Unmounting rootfs partition</CMD>

  <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>

</LIST>

</UCL>

0 Kudos
3,851 Views
rafalwegner
Contributor II

Hello

Could someone provide feedback that my config files are ok?

Thanks in advance

Rafal

0 Kudos
3,851 Views
lily_zhang
NXP Employee
NXP Employee

Hello,

I didn’t see obvious issue from the configurations. Because your early log shows:

§ ModuleID[2] LevelID[1]: PortMgrDlg(0)MxHidDeviceCommand Push excute failed

ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, so SetEvent(hDevCanDeleteEvent)

ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed

ModuleID[2] LevelID[10]: CCmdOpreation thread is Closed

Did you see any error logs for your first command into the console?

Best Regards

Lily Zhang

Freescale MPU Support

3,851 Views
rafalwegner
Contributor II

Hello

Thanks for your reply. A few comments above, there is attached log from console and I don't see there any errors. From UTP there are only two lines printed out:

UTP: Waiting for device to appear

UTP: file/device node /dev/utp already exists

Don't know if it is ok or nok.

BR, Rafal

0 Kudos