A bit of history...
Elanscan was written in the days of REAL Serial Comm-Ports, all computers had them to connect to a Modem in the days before Broadband and Wi-Fi. Early Elanscan cables had the plugs to mate to these Comm ports. The drivers were built in to Windows as they all used the same type of "UART" chips.
So we had 1 layer of software between the ECU and ElanScan.
Along came Broadband, Wi-Fi and USB so manufacturers decided to remove the Comm ports from PCs and Laptops, saving some space for more exotic components.
Several companies (including FTDI) saw that people still needed to connect to Serial devices, so came up with a Comm-port implementation which plugs into a USB port. BUT - these needed specific drivers to make them work, with the driver software creating a "Virtual Comm Port", which looks like a real one to the ElanScan program. So the newer Elanscan cables were made using the FTDI USB-Comm-port cable, and required the installation of FTDI Drivers.
Now we have 2 layers of software, USB2 driver and Virtual Comm port driver.
In the last few years USB3 has arrived, but our ElanScan cables are USB2! USB3 is supposed to be backward compatible, BUT this introduces another layer of software between the ECU and ElanScan. The 3 layers are now USB3, USB2 and Virtual Comm Port.
To add to this complexity, USB3 drivers can be specific to chip manufacturers, i.e. Intel has it's own USB3 driver, etc... and of course there are different versions for the various releases of Windows, plus 32-bit and 64-bit versions for several of the Windows implementations.
So - ElanScan has seen many changes over the years, but as long as the chain of software between it and the ECU respected the original serial protocol and timing it still worked.
The difficult parts are to work out what changed to make it fail, and finding a way to fix it.
