i.MX6Q MfgTool flashing problem for one device

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

i.MX6Q MfgTool flashing problem for one device

878 Views
dhanaraj_shanmu
Contributor II

Hi,

I am new to Android and linux OS. I have a Android powered device in which I am trying to update an apk. The device is from a vendor who is no longer supporting the product. I also have few more devices from same which is working as expected.

So I will focus on the failing part here.

Problem:

My device is not visible to "adb devices" command.

Possible root cause:

Device USB debugging is not enabled by default and I can not access the setting screen because an app is started by default. There is no way to navigate to setting.

What I have been trying so far:

With help from my colleague, I recompiled using engineering build option to get the images. Then used the MfgTool to flash the device. 

Where is the problem:

Flashing operation failed in "access boot partition 1". And it has to be closed. I am not sure what could be the possible difference between my responsive device and non responsive device. 

Try in another device:

To make sure my img file and tool is for the right target, I took another unit and followed the same procedure. And process was successful. But only difference is, this device was responding to "adb devices" command.

I.MX6Q is my hardware, Android is the OS.

I need help in understanding the problem and unlocking the device to do what I want or more. let me know if you need any more info to support my problem.

MfgTool log file

DLL version: 2.2.2
Wednesday, July 05, 2017 16:36:12 Start new logging
ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
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: 03F92CB8
ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 1
ModuleID[2] LevelID[10]: Device Manager thread is running
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_REMOVAL_EVT(\\?\USB#VID_066F&PID_37FF#5&24972e3&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_066F&PID_37FF#5&24972e3&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT,[Msc,DiskDeviceClass] vid_066f&pid_37ff, not handled
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - VOLUME_REMOVAL_EVT(D)
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_REMOVAL_EVT(D)
ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 1
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_REMOVAL_EVT-Disk(D), Hub:2-Port:1
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_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]: DeviceManager::OnMsgDeviceEvent()-VOLUME_REMOVAL_EVT, wait hDevCanDeleteEvent
ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device remove1
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent()-VOLUME_REMOVAL_EVT, hDevCanDeleteEvent has been set
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent()-VOLUME_REMOVAL_EVT, delete Disk:03F92CB8, Volume:03F984C0
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_ARRIVAL_EVT(\\?\USB#VID_066F&PID_37FF#5&24972e3&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&24972e3&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(D)
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - VOLUME_ARRIVAL_EVT(D)
ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice() D
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: 03F984B0
ModuleID[2] LevelID[10]: Device::hubIndex::getmsc, return the port index is: 1
ModuleID[2] LevelID[10]: VolumeDeviceClass::AddUsbDevice() successful D 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(D), Hub:2-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 $ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ echo 1 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config
ModuleID[2] LevelID[1]: PortMgrDlg(0)--MSCDevice--Command Push(no file) excute failed
ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: ExecuteCommand--Push[WndIndex:0], Body is $ echo 1 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config
ModuleID[2] LevelID[1]: PortMgrDlg(0)--MSCDevice--Command Push(no file) excute failed
ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, so SetEvent(hDevCanDeleteEvent)

Thanks in advance.

Labels (2)
0 Kudos
6 Replies

670 Views
JayTu
NXP Employee
NXP Employee

What's the android version on the device?

You can try lsusb to see if it can be detected. If so, turn on developer options and seek usb debugging.

Configure On-Device Developer Options | Android Studio 

0 Kudos

670 Views
dhanaraj_shanmu
Contributor II

Thanks for your reply. I can not enable the developer option because I can not access the settings screen. After every power up, an app is auto started and I can not minimize it because that is the requirement. By putting in the boot mode my MfgTool is able to detect the device but failing to upgrade as described in OP. 

0 Kudos

670 Views
JayTu
NXP Employee
NXP Employee

Do you boot from SD or emmc?

If emmc, you can either try boot from SD then dd the eMMC or try fastboot. Suggest to try fastboot directly.

0 Kudos

670 Views
dhanaraj_shanmu
Contributor II

I think it is booting from eMMC. I will try out the fastboot method. I was reading some information about eFUSE. Will it be something after production where we can enable the eFUSE, we can not change the image without any hardware programmer?

0 Kudos

670 Views
JayTu
NXP Employee
NXP Employee

It's possible if you have enabled HAB, ROM will check if you have signed the images correctly.

0 Kudos

670 Views
dhanaraj_shanmu
Contributor II

A quick update is the problematic device is the production unit. Means my vendor purposefully disabled those options. How I can re enable them? 

0 Kudos