Hi All,
We have assembled the imx6solo processor on 20 boards, when we tried to flash using MFG-Tool, We have encountered a very peculiar issue wrt VID:PID ids. MFG tool expects vid = 0x15A2 and PID =0x0061 id to detect device as HID device otherwise it won't detect. among 20 boards 14 boards are giving different VID and PID such as VID = 0x108C and PID = 0x0156. so when analyzed these vid pid using usbtrace tool following are the results
On working board:
Hardware ID
USB\VID_15A2&PID_0061&REV_0001
idVendor
0x15A2 (Freescale Semiconductor, Inc. )
idProduct
0x61 (i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode
iManufacturer
0x1 (0x409: Freescale SemiConductor Inc )
On Non-working board:
Hardware ID
USB\VID_108C&PID_0156&REV_0001
idVendor
0x108C (Robert Bosch GmbH )
idProduct
0x156
iManufacturer
0x1 (0x409: Freescale SemiConductor Inc )
So why there is difference in vid and pid of the devices which are sourced from the same vendor. because it is detecting as Robert Bosch GmbH id MFG-Tool is not detecting the device as HID Complaint. We have manually added the vid pid in ucl2.xml, then it started detecting as "HID-Complaint device" but not able to flash the images. kindly help us in solving this issue. am working for more than 5 years on imx processor, never encountered such issue. where could be the problem? ROM of the processor?? or RAM ??
Following are the MFG-Tool Failure Logs after enforcing these different VID PID into ucl2.xml and tried to flash
----------------------------------------------------------------------------------------------------------------------------------------------
DLL version: 2.0.8
Monday, Nov 12, 2018 14:27:56 Start new logging
Mfgtools-Rel-3.0.0_121207_MX6DL_UPDATER\cfg.ini file success[chip: MX6DL Linux Update, List: Android-eMMC]
Mfgtools-Rel-3.0.0_121207_MX6DL_UPDATER\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[026A72D0]
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],
Mfgtools-Rel-3.0.0_121207_MX6DL_UPDATER\Profiles\MX6DL Linux Update\OS Firmware\u-boot-mx6dl-sabresd.bin
ModuleID[2] LevelID[10]: {32,0x020c4018,0x00260324},
ModuleID[2] LevelID[10]: {32,0x020e0470,0x00000028},
ModuleID[2] LevelID[10]: {32,0x020e0474,0x00000028},
----------------------------continues------------------------------
--------------------------------------------------------------------
ModuleID[2] LevelID[10]: {32,0x021b0000,0xc3110000},
ModuleID[2] LevelID[10]: {32,0x021b0404,0x00011006},
ModuleID[2] LevelID[10]: {32,0x021b001c,0x00000000},
ModuleID[2] LevelID[1]: MxHidDevice::Write() Error writing to device 0x1f.
Hi Prasanna
there are fuses USB_PID,USB_VID described in Table 5-8. Fusemap Descriptions
i.MX6SDL Reference Manual, so you can work with local marketing office for locating
source channel of these devices.
http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SDLRM.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadykov,
Thanks for the reply, I have followed the above documents for fuse address corresponding to USB_VID, USB_PID, i.e.
0x021BC4F0. I have loaded iRAM U-boot to the imx6 processor by adding these vid, pid in ucl2.xml file.
tried to read the fuse reg. following is the log.
MX6Q SABRESD IRAM U-Boot > md 0x021BC4F0 1
021bc4f0: 0156108c ..V.
So this ensures that these values are burnt over imx6 OTP. As I have explained in my above post this 0x108C corresponds to Robert Bosch supposed to be 0x15A2 for freescale.
what all other options we have left with? as we have procured many ICs, can we modify MFG-Tool.exe to include these VID and PID as well?? because just adding these vid pid in ucl2.xml is not sufficient. MFG-Tool Can only detect device as HID-Complaint by adding this in ucl2.xml but further it fails to flash with above mentioned errors. So just suggest us that, Is there any way to flash device's eMMC ?? or changing IC is the only solution??
Hi Prasanna
is usb working fine in linux with usb devices?
There are various usb tests:
mxc_usb_test\test - imx-test - i.MX Driver Test Application Software
One can try to write image to emmc without mfg tool, please check documentation on
Best regards
igor
Hi igorpadykov,
To write anything to eMMC, we need to partition it right? so without MFG-Tool how to partition it? at least if we are able to load u-boot means OK we can progress further by any way, but u-boot flashing itself is not happening.
Hi Prasanna
partitioning can be implemented from linux using commands from ucl2.xml (in mfg tool),
mfg tool runs small linux image.
What do you mean by "least if we are able to load u-boot " - so you are not even able to run
linux with new chips ?
Best regards
igor
Hi igorpadykov,
Yes, I am not able to flash anything, MFG-Tool linux is not going inside.... as I have listed the log in the above post, it fails in the very beginning stage only.
1. with Wrong vid/pid MFG-Tool wont detect the device as HID-Complaint.
2. added these wrong vid/pid to ucl2.xml then it detects as HID-Complaint.
3. Then I press Start, immediately it shows red color and keeps trying.
4. Logs from MFG-Log is already posted on this thread.
this is the issue, without sending, any MFG-linux, without doing partitions how we can push images inside.
Expts.
1. with Wrong vid/pid MFG-Tool wont detect the device as HID-Complaint.
2. added these wrong vid/pid to ucl2.xml then it detects as HID-Complaint.
3. with this change we can flash iRAM uboot to processor, we are getting uboot prompt, then manually initialized the DDR then manually tried to write to eMMC;s few secotors--> this is working, no issue in ddr, emmc but flashing using MFG-Tool is the biggest issue now. we didn't keep SD card boot option so how to proceed??
Hi Prasanna
first suggest to run ddr test and udate image with new calibration settings
found from ddr test (put them in uboot/..mx6sabresd/mx6solo_4x_mt41j128.cfg)
i.MX6/7 DDR Stress Test Tool V2.92
then try to boot linux from board. As issue may be related not vid&pid but wrong
ddr settings.
Best regards
igor
Hi igorpadykov,
If that is the case it should not work on the device which has proper vid pid also? As I said on few boards which have got correct vid and pid i.e 0x15a2 and 0x0061, same DDR settings are working fine. issue is only with diff vid pids.
>if that is the case it should not work on the device which has proper vid pid also?
I do not think so, sorry
Best regards
igor