Jump to content
  • 0

Windows recognises ECLYPSE Z7 board incorrectly as a Trion board in device manager


mikemikemike

Question

I had been using my ECLYPSE Z7 board successfully for several months until I had to switch and work for a few weeks on a different non FPGA related project. I have been using  Vivado v2019.1 to develop my project . Today I tried to reconnect to my ECLYPSE Z7 board through Vivado hardware manager >open target so I could load and run my code but Vivado is refusing to connect to the board, reports unconnected.  When I check in Windows Device manager to see if it sees the Eclypse Z7 board being connected on USB , Window's Device manager says I am plugging in a Trion T20 board??  I played with one of them last year before I moved to the ECLYPSE Z7 with the ZYNQ-7000 processor but have not connected to it for over 5 months . I do not understand why Windows is wrongly recognising the ECLYPSE board as a Trion T20 board.  What got broken and how do I fix it so I can talk to the ECLYPSE and run my code ? Note I was not using Vivado to talk to the Trion board it had some other software. So I don't think it is Vivado that is getting confused, it must be a Windows thing :(.  I am running Windows 10PRO v22H2. 

Thanks

Mike 

Edited by mikemikemike
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
Yikes!

Well the place to start is with Windows because that's where USB enumeration happens. Windows Device Manager is pretty useless for seeing what's going on. I use usbview, which can be obtained from the FTDI downloads as a utility. This is much more informative about what exactly is attached to the USB host hubs. You might give that a try.

I also use the excellent Digilent Adept Utility for Windows to configure Xilinx FPGA boards. You might try that, though if WDM is confused about what endpoint is connected this is likely to fail as well. If you haven't installed a new version of Vivado, then it's unlikely that Vivado is the problem. It's unlikely that your board developed a problem sitting around in an unpowered state.

I use Win10 but found a way to keep Microsoft from installing the final 22H2 version as it tries to make Win11 not seem so bad**. If you allow Windows update to automatically update drivers that could be a problem. I've disabled that feature as well from past experiences. Do you have access to a Linux PC? It might be informative to see what that says about your Eclypse-Z7 when you plug it in.

** I recently wanted to use a laptop that had a very out of date Win10 version and 22H2 is the only thing that windows update would install. I thought that it was going to destroy my HD for sure.. After a very long time and multiple restarts I finally got to use my laptop but after seeing the new "feature enhancements" I quickly uninstalled it. At least that's what Win10 update told me it did, but wiht Microsoft who knows what I was left with. At least the crazy ads went away. Edited by zygot
Link to comment
Share on other sites

  • 0

Hi @mikemikemike,

I don't have any real insight into why the board would be recognized differently now, especially if you were doing your development separately so that the two pieces of hardware and software were kept apart from each other.

Probably the easiest thing that I would recommend trying first would be download the Digilent Adept software (https://digilent.com/reference/software/adept/start) that zygot mentioned as that contains the drivers for Digilent system boards which Xilinx uses. You might then be able to uninstall the driver for falsely labeled Eclypse Z7, disconnect the device from the computer, then reconnect it to (hopefully) have the correct drivers be installed.

Thanks,
JColvin

Link to comment
Share on other sites

  • 0

Update  - I found a link to an article 59128 about reloading the cable drivers for Digilent under  Vivado and tried running the batch file but it has made no difference , my problem persists.

59128 - Is it possible to (re)install the Xilinx USB/Digilent cable drivers without a full reinstall of Vivado Design Suite?

I am thinking of uninstalling the usb driver in windows device manager where it is currently displaying the USB connecytion as the Trion T20 but where do I find the correct Digilent Eclypse driver to then install? 

 

 

Link to comment
Share on other sites

  • 0

Hi @mikemikemike,

Since the board is not being detected as the correct type of device and simple driver uninstall/reinstall is not resolving the issue, I have sent you a PM with some instructions on how to reflash the EEPROM (though based on what you have described, I am not certain how the EEPROM would have gotten changed in the first place).

Thanks,
JColvin

Link to comment
Share on other sites

  • 0

Updating this thread; the EEPROM configuration was indeed unaffected (as verified by connecting the Eclypse Z7 to a different computer), but the associated drivers on the primary computer were messed up.

A software tool called Zadig was used to get drivers installed for the Trion board, but Zadig was a little too good at what it is designed to do (assign custom drivers to a particular peripheral), potentially (I am not certain if this is the reality/underlying changes that happened) reassigning the VID & PID pair to a different driver as described here: https://superuser.com/questions/1429051/replace-specific-ftdi-device-driver-with-zadig-leaving-similar-devices-untouche; if indeed that is what happened, this particular pair is a problem to overwrite because is the default pair for the embedded FT2232HQ (https://digilent.com/reference/programmable-logic/eclypse-z7/reference-manual#usb-uart_bridge_serial_port) as section 7.1 of the corresponding datasheet, https://ftdichip.com/wp-content/uploads/2020/07/DS_FT2232H.pdf. I anticipate that many devices besides Digilent products also use the default VID and PID pairing. Consequently, this is a known issue/bug/feature: https://github.com/pbatard/libwdi/wiki/FAQ#user-content-Help_Zadig_replaced_the_driver_for_the_wrong_device_How_do_I_restore_it, with lengthier discussion on it available here: https://github.com/pbatard/libwdi/issues/8.

Ultimately the solution ended up being to disconnect the computer from the internet (to help prevent Windows from "helpfully" automatically scanning for and applying what it considers to be the best drivers), and then continually uninstalling the incorrect device driver that was attached to the hardware, and then either disconnecting and reconnecting the device (or scanning for hardware changes) until the Eclypse Z7 was assigned the correct drivers by Windows and so far has been configurable by Vivado again.

Everybody reading this already knows not install and run software that you don't trust (which can be difficult to do; what are you supposed to do when you find a piece of open source software on the internet that seems to solve a problem you have when you don't have time or expertise to figure it out for yourself; trust somebody's opinion that you've never met on the internet? but I digress).
Point I wanted to make is that some of the most potent tools out there, Zadig, paper shredders, lightsabers, etc, while very simple and easy to use can cause a lot of damage really quick if you're not paying attention. But at least you won't be alone or the first one to do it as evidenced by the various FTProg victims on this site.

Regardless, enjoy the rest of your day.

Thanks,
JColvin

Link to comment
Share on other sites

  • 0

Thanks for posting the update, I was just about to do so myself :).

I want to reiterate that any unwanted effects of Zadig can be undone and the driver removed  by persistently looking for 'libusb-win32 devices'  appearing in Windows Device Manager (WDM) as you attach your board and then selecting both 'uninstall device' AND  'uninstall driver' , then after it seemed to complete ,disconnecting and reconnecting your board to see if it reappears , if so,  repeat until it does not. You have to to this seperately for every USB port you ever connected to.

Note -  when you expand the drop down  for 'libusb-win32 devices' you will see it twice  as in 'interface 0' and 'interface 1'  , so repeat for both.

Note - on my machine  'libusb-win32 device' which starts with an 'L'  was as appearing  between Keyboards and Memory devices in WDM rather than under USB where you might be thinking to look for a USB device you just plugged in .

I just operated on a similarly affected colleagues PC  and both machines are now doing well lol !

Edited by mikemikemike
Link to comment
Share on other sites

  • 0

As I mentioned, letting Windows automatically update drivers can have bad consequences. If you use Linux and let it automatically update drivers ( like nVidia ) you can find yourself spending hours trying to get your system usable again. Unfortunately, I know all of this from experience.

Tools that allow you to modify USB configuration EEPROMs are dangerous if you don't understand what the potential side effects are.

The program lsbview only provides informational information. I often find, on a Windows host, that it's a valuable tool for troubleshooting issues.

There are a lot of fields in the EEPROM that can be used to identify a product or vendor when an OS enumerates a USB device. Not all USB product have their own VID. This is a potential problem. The Intel USB Blaster has had an issue with device confusion for a very long time, particularly on Windows.

Windows Device Manager does allow you to see the driver version for USB devices. If the one on your PC is newer than the one one FTDI's website, then there's a problem.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...