14 Replies Latest reply on Jun 3, 2015 10:11 AM by radiatortwo

    Updated Mfgtools for new Ubuntu Release SVN2591

    bose

      Hello,

       

      I am unable to get the SVN2591 release from Embest to work with the older Mfgtool available for download.

      I have updated the files with the correct name of the Image files.

      There was a problem with the name for uboot image but I have changed that and overwritten the files.

      Still only the older image works but the new image just reaches to 'Jumping to OS' message and then hangs.

      If I do the Yocto Release SVN2777 then it works, but I would need ubuntu as yocto build does not include the full feature debian.

       

      Kindly help me out.

       

      Warm Regards,

      Abhijit

        • Re: Updated Mfgtools for new Ubuntu Release SVN2591
          radiatortwo

          Have you also updated the UCL2.xml file?
          It defines how the image should be flashed. (partitioning, writing, initialising the different stages and so on.)

           

          But as always the log file would help to find the error.

            • Re: Updated Mfgtools for new Ubuntu Release SVN2591
              bose

              Yes, Actually the name of the uboot image was not correct in the UCL2.xml file. Hence I have tried the procedure by updating the name.

              And copying the Image files to both the 'OS Firmware' and 'files' directories inside the profile directory.

              Then I changed the name of the parts in the Image and tried to restore the UCL2.xml and over write the older files.

              Still the flashing did not work.

                • Re: Updated Mfgtools for new Ubuntu Release SVN2591
                  radiatortwo

                  Please post the log file created after trying to flash.
                  It should be in the same Folder as MFGTool itself.

                    • Re: Updated Mfgtools for new Ubuntu Release SVN2591
                      bose

                      Hello,

                       

                      I have tried to replace the files with the correct named files and taken the log this time.

                      DLL version: 2.2.3
                      Wednesday, March 11, 2015 19:20:14   Start new logging
                      ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
                      ModuleID[2] LevelID[1]: new MxHidDeviceClass
                      ModuleID[2] LevelID[10]: new MxHidDevice[033FD818]
                      ModuleID[2] LevelID[10]: Device Manager thread is running
                      ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0
                      ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is C:\temp\tools_SVN2652\tools_SVN2487\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware\u-boot-mx6solo-riot.bin
                      ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is C:\temp\tools_SVN2652\tools_SVN2487\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 C:\temp\tools_SVN2652\tools_SVN2487\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[033FD818] 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]: CCmdOpreation[0] thread is Closed
                      ModuleID[2] LevelID[10]: CCmdOpreation[0] 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]: delete MxHidDevice[033FD818]
                      ModuleID[2] LevelID[10]: Device Manager thread is closed
                      
                      

                       

                      The tool just waits for ever after this. So I had to click on stop to prevent further execution and then pressed exit button.

                        • Re: Updated Mfgtools for new Ubuntu Release SVN2591
                          radiatortwo

                          I assume you quit manually at the line

                          ModuleID[2] LevelID[1]: delete MxHidDeviceClass 

                          Please make sure the driver is installed correctly after the jump command is executed.
                          It should be recognized as an External Hard Drive.

                           

                          It also could help to delete old unused drivers.

                            • Re: Updated Mfgtools for new Ubuntu Release SVN2591
                              bose

                              Hello,

                               

                              Yes you are right I had to manually stop the program. This was after a wait of approximately 10 minutes from the time "Jumping to OS" was shown.

                              Unlike others the device did not re-enumerate as storage for the new build. So I had to 'stop' it.

                               

                              I have not installed any additional drivers, so not sure what might be wrong.

                              Next I test the older ubuntu installation and it works fine.

                              Here is the log for that:

                              DLL version: 2.2.3
                              Wednesday, March 11, 2015 20:26:14   Start new logging
                              ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
                              ModuleID[2] LevelID[1]: new MxHidDeviceClass
                              ModuleID[2] LevelID[10]: new MxHidDevice[033DD818]
                              ModuleID[2] LevelID[10]: Device Manager thread is running
                              ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0
                              ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is C:\temp\tools_SVN2652\tools_SVN2487\Mfgtools-Rel-4.1.0_130816_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware\u-boot-mx6solo-riot.bin
                              ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is C:\temp\tools_SVN2652\tools_SVN2487\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 C:\temp\tools_SVN2652\tools_SVN2487\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[033DD818] 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&13f4f802&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
                              ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end
                              ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT(\\?\USB#VID_15A2&PID_0061#5&13f4f802&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&13F4F802&0&1, _deviceInstanceID: USB\VID_15A2&PID_0061\5&13F4F802&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:1-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[033DD818]
                              ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_ARRIVAL_EVT(\\?\USB#VID_066F&PID_37FF#5&13f4f802&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
                              ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end
                              ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT(\\?\USB#VID_066F&PID_37FF#5&13f4f802&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(E)
                              ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end
                              ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT(E)
                              ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice()  E
                              ModuleID[2] LevelID[10]: DeviceTypeDisk--_devices size: 1
                              ModuleID[2] LevelID[10]: Volume--StorageDisk, Disk->_driveNumber:2, Volume->_diskNumber:2
                              ModuleID[2] LevelID[10]: DeviceTypeDisk--find Disk device: 033EAC40
                              ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 1
                              ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice() successful E 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(E), Hub:1-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[10]: ExecuteCommand--Push[WndIndex:0], Body is $ tar xf $FILE 
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ sh mksdcard.sh /dev/mmcblk0
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is send
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ dd if=$FILE of=/dev/mmcblk0 bs=512 seek=2 skip=2 conv=fsync
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is send
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ mkfs.ext3 -j /dev/mmcblk0p1
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ mkdir -p /mnt/mmcblk0p1
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ mount -t ext3 /dev/mmcblk0p1 /mnt/mmcblk0p1
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is pipe tar --numeric-owner -zxv -C /mnt/mmcblk0p1
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is frf
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ umount /mnt/mmcblk0p1
                              ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ echo Update Complete!
                              ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed
                              ModuleID[2] LevelID[10]: CCmdOpreation[0] 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
                              
                              

                               

                              This works fine. But not for the new build. Not sure why.

                                • Re: Updated Mfgtools for new Ubuntu Release SVN2591
                                  radiatortwo

                                  You could try the following:

                                   

                                  Replace the initramfs file in the image with the one from the working image and then try again.
                                  This one is only needed temporariliy so the installation commands can be executed. So it should still work with the new image.

                                   

                                  If this still doesn´t work, you´ll really have too look into your device manager if all drivers are installed correctly after the jump.
                                  That´s because it´s waiting for a usb device being recognized. But if the driver can´t be installed it waits till hell freezes over.

                                   

                                  Since Windows can f*** up big time with drivers you should really try that.

                                   

                                   

                                  Also with old and unused drivers I meant drivers that are installed for specific devices but aren´t shown in the device manager because the device isn´t connected.
                                  (Everytime you Flash another image with MfgTool another device id recognized and the driver need´s to be installed again.)

                                   

                                  You still can see them them by putting the following into a cmd file and execute it then:

                                   

                                  set devmgr_show_nonpresent_devices=1
                                  start devmgmt.msc
                                  

                                   

                                  This opens the device manager. Then just select the Option to show all devices in the menu.