MFG firmware which built from latest source codes(L3.0.35_4.1.0_130816_source) can not work well.
MFG firmware is built accprding to the "i.MX_6Solo6DualLite_SABRE-SDP_Linux_User's_Guide.pdf".
And initramfs.cpio.gz.uboot uImage u-boot.bin were built.
And I put them in D:\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware
after that ,
I try the MFG tools to burn the image to the demo board which name "mx6dl-sdp". but it stop in loading uboot.
the following is the MfgTool.log:
DLL version: 2.2.3
Tuesday, March 25, 2014 15:29:46 Start new logging
ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: DeviceTypeDisk--_devices size: 0
ModuleID[2] LevelID[10]: Device Manager thread is running
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_ARRIVAL_EVT(\\?\USB#Vid_15a2&Pid_0061#5&1094e68&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT(\\?\USB#Vid_15a2&Pid_0061#5&1094e68&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, _devices.size: 0
ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--index: 0
ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--devPath: \\?\hid#vid_04b3&pid_310c#6&22b7a6b0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--index: 1
ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--devPath: \\?\hid#vid_15a2&pid_0061#6&2e593ba&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
ModuleID[2] LevelID[10]: new MxHidDevice[00C2CE88]
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, devInstPathToFind: USB\VID_15A2&PID_0061\5&1094E68&0&2, _deviceInstanceID: USB\VID_15A2&PID_0061\5&1094E68&0&2
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, Find the device, Port: 2
ModuleID[2] LevelID[10]: DeviceClass::AddUsbDevice() successful USB#VID_15A2&PID_0061#5&1094E68&0&2#{A5DCBF10-6530-11D2-901F-00C04FB951ED} add to current list, retrycount: 0
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_0061, Hub:8-Port:2
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_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 0
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is D:\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware\u-boot-mx6dl-sabresd.bin
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is D:\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\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 D:\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\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[00C2CE88] 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]: CmdOperation[0] device chagned and reset to state 0
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is D:\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware\u-boot-mx6dl-sabresd.bin
Solved! Go to Solution.
Hi cody,
It is strange. I recommend you to download image to your board without your built initramfs.spio.gz.uboot, uImage and u-boot.bin for MFG. If succeed , this failed is caused by the MFG firmware. So you can to rebuild them again. About build Manufacturing Firmware you can refer to this document I attached to you "Manufacturing Tool V2 Linux or Android Firmware Development Guide V2".
Best Regards
Dan
And initramfs.cpio.gz.uboot uImage u-boot.bin were built.
I change the name of u-boot.bin from u-boot.bin to u-boot-mx6dl-sabresd.bin.
and I have not change the code in L3.0.35_4.1.0_130816_source.
Hi cody,
As you have built initramfs.spio.gz.uboot, uImage and u-boot.bin for MFG. You can rename the u-boot.bin and uImage to what you want. Please note that they should align with the files name assigned in the ucl2.xml operation list. You'd better have a check first.
Best Regards
Dan
Dan Wang :
The name of the initramfs.spio.gz.uboot, uImage and u-boot.bin is all right.
if the name of that all is not right ,the MFG CAN NOT work at all.
I change the name of u-boot.bin from u-boot.bin to u-boot-mx6dl-sabresd.bin according to the ucl2.xml operation list.
the following is the ucl2.xml operation list which we used:
<LIST name="i.MX6DL-SABRESD-eMMC" desc="Choose eMMC Linux as media">
<CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6dl-sabresd.bin" >Loading U-boot</CMD>
<CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
<CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
<CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16">clean up u-boot parameter</CMD>
<CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk0boot0/force_ro">access boot partition 1</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-mx6dl-sabresd.bin">Sending U-Boot</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0boot0 bs=512 seek=2 skip=2">write U-Boot to sd card</CMD>
<CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk0boot0/force_ro"> re-enable read-only access</CMD>
<CMD state="Updater" type="push" body="$ echo 8 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config">enable boot partion 1 to boot</CMD>
<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>
<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...</CMD>
<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>
Hi cody,
From your settings of ucl2.xcl for your board, there is no problem. What about you configurations for cfg.ini? It should be as below.
[profiles]
chip = MX6DL Linux Update
[platform]
board = SabreSD
[LIST]
name =i.MX6DL-SABRESD-eMMC
my cfg.ini is the same with yours.
[profiles]
chip = MX6DL Linux Update
[platform]
board = SabreSD
[LIST]
name = i.MX6DL-SABRESD-eMMC
Hi cody,
Have you solved your problem?
Best Regards
Dan
Dear Dan Wang :
The problem is still there.
I am trying to read the code now,to see if there is something wrong with it.
Hi cody,
I want to confirm which board are you using?
Best Regards
Dan
the demo board which name "mx6dl-sdp"
Hi cody,
Does it work now?
Best Regards
Dan
Hi cody,
Does it work now?
Best Regards
Dan
Hi cody,
I wonder if you have test downloading succeed with the default MFG firmware under Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware? If yes, it must be the problem of your building MFG firmware.
Best Regards
Dan
yes. it must be the problem of building MFG firmware.
Hi cody
I think you can use the default MFG firmware under Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware first. You can have a try. If you want to built them yourself, you can refer to the document Manufacturing Tool V2 Linux or Android Firmware Development Guide V2.docx I have attached for you. Hope this can help you~~
Have a nice day
Best Regards
Dan
Hi cody,
It is strange. I recommend you to download image to your board without your built initramfs.spio.gz.uboot, uImage and u-boot.bin for MFG. If succeed , this failed is caused by the MFG firmware. So you can to rebuild them again. About build Manufacturing Firmware you can refer to this document I attached to you "Manufacturing Tool V2 Linux or Android Firmware Development Guide V2".
Best Regards
Dan
Hi cody,
Are you using freescale's board or you design it yourself?
Best Regards
Dan