Usb2any Firmware Update

0 views
Skip to first unread message

Charise Zelnick

unread,
Aug 5, 2024, 10:19:58 AM8/5/24
to logbibarward
Customeris trying to make the firmware SW update (see pictures 1/2/3 below):

- Win 8.1 PC (not sure if it is 32bit or 64bit)

- run installer as ADMIN

At some point the USB2ANY need to be disconnected/reconnnected and BSL button pressed.

Doing this does not seem to update the firmware.

How can it be fixed?

Do we have a video or guide showing the exact sequence?


As far as I understood customer is doing those 3 steps.

The PC settings are given in my original post (see on top, I highligted it).



Are there some keys SW components that need to be present on the PC (like .net framework, ..etc)?

Which one?



Do we have a PC side tools that can assess if the USB2ANY is functional and not broken?


Please clarify first if the customer is really disconnecting the USB connection, pressing the button and keep it pressed while reconnecting the USB connector. This is essential as this is the only way to start the update.


How to debug next?

Are there some checks to be done in term of SW?

How to know the the new firmware is correctly loaded in the USB2ANY?

Are there some SW dependencies (USB drivers, Window OS version, ..etc)?


Then open the explorer, and while pressing the S1 switch on the USB2ANY connect the USB to your computer, it should prompt you to update the firmware and then follow the instructions of the application to complete.


Unfortunately it looks like the USB2ANY is indeed bricked and has memory problem, it probably happens due to an incorrect firmware update. Please get another USB2ANY and use the Explorer and instructions above to upgrade the firmware.



The TICHARGERSGUI -CHARGER-GUI would also give the option on connect to update the firmware if it detects an older version is loaded on your USB2ANY.


It was not detected in TI-CHARGER the first time I plug it in. I thought it might be a firmware issue. I tried to upgrade it following carefully the instructions provided and it got bricked in the first attempt.


The USB2ANY Explorer is the software we recommend to restore the device to a usable state. It looks you had used two different software tools and both of them are reporting a memory fault or problem in the device. I do not know how the usb2any got damage, but going with the information provided by you it looks like the device is bricked. I support BQ25180 devices, and the usb2any is one of the tools we recommend users to getting starting with the device, but normally the device works out of the box and as long as you used the recommended tools it should upgrade the firmware and works with the GUI. Keep in mind the BQ25180 is I2C compatible, so it'll work with any I2C host.


I understand the frustration being on middle of debugging and having the usb2any not working, in order to better support you I will reach out via email and we can coordinate for you to send the device to me so I can do some debugging on-house of the unit and try to restore it or ship a replacement.


I am unable to update the firmware on my USB2ANY when interfacing with an LMX2592EVM. I have followed the instructions provided in the forum below and I am still not able to open TICS without crashing or connect to the USB2ANY that came in the box. The post below claims the USB2ANY is broken and that it must be replaced.


Can you be more specific about what happens? You say TICS Pro crashes, which sounds unusual. There may be an issue getting the USB2ANY to update from TICS Pro, which could be a TICS Pro installer issue and could potentially be solved with the default Firmware Loader tool provided in the USB2ANY SDK. This is the tool we use to flash the USB2ANY before distribution with our EVMs.


See if you can use the USB2ANY firmware loader included with the SDK in the link above to properly get 2.7.0.0 onto the USB2ANY. After installing the SDK, in C:\Program Files (x86)\Texas Instruments\USB2ANY Explorer\bin\ there should be a firmware loader binary. The file above should come with 2.7.0.0 firmware by default.


If that doesn't work, I will agree the USB2ANY is broken and needs to be replaced. If it does work, consider re-downloading TICS Pro installer - maybe your installation was somehow corrupted? For reference, our MD5 of the installer executable is 641c1b0587af8198a75816cf56fb26ba.


When connecting USB2ANY for the first time, firmware update is required.

Please refer to the article below.




If you cannot update by the above method, you can obtain USB2ANY Explorer Installer and update it. Please see below.

-ui



*When you purchase TI's EVM, depending on the product, USB2ANY is provided as an accessory for connection with a PC.

Please note that USB2ANY is not sold separately.


Starting with the WDK for Windows 11, version 22H2, WDF redistributable co-installers are no longer supported.To learn how to work around this change, see WDF redistributable co-installers don't work in the WDK known issues article.


USB device vendors use co-installers to update device firmware for devices that use inbox USB device drivers. However, co-installers aren't supported by the new "Universal INF" standard, which is a requirement on Windows 10. This poses a challenge to existing USB device firmware update process. This article outlines a recommended method to update USB device firmware without a co-installer.


USB devices like UVC cameras are released with in-field updatable firmware. There's no standard method to update the firmware today. One item that is common to all existing update mechanisms is that some custom software suite runs on the client and downloads the firmware to the device. Typically, as part of the device installation process, the firmware updating software suite is installed. The co-installer kick starts the firmware update process. The absence of co-installers on Windows 10 prevents device vendors from updating the firmware on these devices in the field.


The recommended method to circumvent the absence of a co-installer for the USB device firmware update scenario is to use a lower filter driver to the USB device that kick starts the firmware update process. During the AddDevice call, the filter driver checks the device firmware version and update the firmware if necessary.


When a USB device is plugged in to the system, the generic inbox driver is installed for the device. After the installation of the generic driver, the OS queries the Windows Update server for any vendor specific driver package availability and downloads it and installs the driver. The installed driver package performs the firmware update.


While installing the driver update package, the firmware update WDF filter driver's AddDevice routine is called. From this routine, the WDF filter driver gets for the device firmware version from the device HW registry key. The device firmware should place the firmware version using the MSOS descriptor onto the device HW registry key.


When the EVT_WDF_DEVICE_D0_ENTRY callback of the WDF filter driver is called at a later point, the filter driver must register for device interface change notifications using CM_Register_Notification or IoRegisterPlugPlayNotification (UMDF or KMDF) to listen to the device interface class the USB device will register the device into. Ror example, the firmware update filter driver for an RGB camera would register for KSCATEGORY_VIDEO_CAMERA. On receiving the notification, the filter driver should post a work-item that would perform the firmware update.


UMDF based firmware update drivers can use the device specific APIs or issue the control transfers directly to access the USB device to perform the firmware update. For example, the UMDF based filter driver for a camera would use Camera APIs to perform the firmware update.


The method of using a "firmware update filter driver", is recommended for devices that have enough resources to hold two full firmware images (the update image and a backup image) on the device memory. The reason is if there were failures during downloading the updated firmware, the device can abandon the update and boot into its original firmware. Thus, not bricking the device.


In this method, a lower filter driver to the USB device is installed as part of the driver update process. This filter driver sends a command to the device to restart in firmware update mode, where the device exposes a firmware update interface. The driver for the firmware update interface loads and performs the firmware update.


While installing the driver update package, the WDF lower filter driver's AddDevice routine is called. From this routine, the filter driver queries for the device firmware version from the device HW registry key. The device firmware should have placed the "firmware version", using the MSOS descriptor or the USB device's extension INF, onto the device HW registry key.


When the EVT_WDF_DEVICE_D0_ENTRY callback of the WDF filter driver is called at a later point, the filter driver issues a vendor specific command to the device that places it in firmware update mode. The device will disconnect and reconnect, exposing the firmware update interface.


The system enumerates the firmware update device interface. A custom firmware update WDF driver supplied by the vendor, in the firmware update package, will be load for this firmware update interface. This driver updates the firmware.


This method is recommended for devices that can't hold the updated and original firmware images due to shortage of memory on the device. The reason is if there were failures during downloading the updated firmware, the device can abandon the update and boot the device into its firmware update mode again and the firmware update can be retried. Thus, not bricking the device.

3a8082e126
Reply all
Reply to author
Forward
0 new messages