Keil Logo

ULINK: ULINKpro USB Communication Failure After Debugging with ST-LINK

Information in this knowledgebase article applies to:

  • Keil MDK
  • Debug Adapter: ULINKpro, on-board ST-LINK
  • V2.J23.S0 through V2.J23.S4 STM32 Debugger
  • Boards: ST Nucleo F303K8, STM32F429I Discovery or Eval


When ST-LINK device driver software was first installed onto PC, ULINKpro was also connected to PC.

One instance of µVision is open, this project is debugging a target using ST-LINK. Another instance of µVision is opened, ULINKpro is connected to PC, and selected as debugger. Normally, JTAG Communication Failure or SWD Communication Failure is reported when no target is connected. But in rare cases, in Options for Target - Debug - ULINKpro Settings - Debug tab, either:

USB Communication Failure //or
Firmware Download Failed

is displayed. ULINKpro was successfully debugging other applications before ST-Link was used. When connecting ULINKpro to PC, I may have seen Windows dialogs reporting:

Installing device driver software //and later
Device driver software was not successfully installed

even with the most recent version of ULINKpro driver (these drivers are automatically installed with the newest version of Keil MDK). ULINKpro cannot establish a connection to the PC, even after removing ST-LINK.


When a ULINKpro is also connected, installation of certain ST-LINK drivers permanently disabled ULINKpro's ability to connect to a PC. Root cause is unknown.


Some ULINKpro functionality may still available if the following order is used to connect to a device:

  1. Power up board
  2. Connect ULINKpro to board
  3. Connect ULINKpro to PC

To get ULINKpro fully working again, uninstall and reinstall ULINKpro driver software to recover ULINKpro, then separately update ST-Link firmware.

First, exit ST-LINK's debug session in MDK. Disconnect both ST-LINK and ULINKpro from PC. Connect only ULINKpro. In Windows Device Manager, right-click on "Keil ULINKpro" and go to Uninstall. Then click OK. Reconnect ULINKpro to update driver. Users may have to run the following executable: "C:\Keil_v5\ARM\ULINK\InstallULINK.exe". As long as Keil MDK is installed on a machine, there are automated checks to see if more recent software is available, and the driver will be reinstalled, if necessary. Disconnect ULINKpro after reinstalling its driver.

Connect ST-LINK. In the installation of Keil MDK, go to /ARM/STLink/ and launch ST-LinkUpgrade.exe. Upgrade to firmware V2.J24.S0 STM32 Debugger or later.

Then you will be able to use ULINKpro and ST-LINK simultaneously.



Last Reviewed: Monday, January 11, 2021

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.