G120 USB Connection failed. Windows updated usb-drivers?

All of a sudden, since maybe a couple of weeks, USB Connection to G120 devices have started to become unstable.
After a complete wipe (from booting in bootloader v1) and reset of the unit I can upload a new app, either using TinyCLR Config or with my own tool using GHIElectronics.TinyCLR.Debugger.Management
Sometimes I can do it another time, but usually it only works once, then the only way to deploy the app (or debug) is to completely erase the unit again.
Error: (which I interpet as the USB port being unresponsive, even though it is detected)
at GHIElectronics.TinyCLR.Debugger.Management.MFDeploy.InitializePorts(MFPortDefinition portDefinitionMain, MFPortDefinition portDefinitionTinyBooter)
at GHIElectronics.TinyCLR.Debugger.Management.MFDeploy.Connect(MFPortDefinition portDefinition)

I have tried with many units using G120 chips, and I have tried using 5 different PCs, and they are all the same. TinyCLR Config (or my own tools) crashes on the second or third attempt when I try flash a new app on the unit and then it is “bricked”, and can’t connect anymore.
What’s interesting is that nothing has changed here other that automatic updates to windows.

Is this a known issue? In that case, what’s the solution?

Maybe a Windows update has caused this!

Do you have a sitcore device and can see if you have any issues with TinyCLR v2?

we need to know what OS, window 10?
And TinyCLR Config 1.0, or FEZ Config?

Do you mean Firmware + App or Application only?

does this sound like the program is going into a tight loop right after starting?

and related to this line of questioning, are you developing the app on the G120, or has it been a stable codebase? If it’s in development then there’s a good chance of it being introduced with your changes

We are using Windows 10 and TinyCLR Config 1.0
When I mean I can do another install I mean only the app. I install the firmware the first time after I have erased the unit and installed bootloader v2.

It kinda does sound like it enters a loop. However, nothing in the code has changed. At least not in all the different tca-files I’ve tried. Some of the files are as old as 3 years.
However, they all come from the same origin, and some trash might have tagged along. With that in mind I installed a fresh “hello world”-app on it, and it works like a charm!

This means two things: First there is obviously something in my code that hangs the unit. I will spend the day trying to narrow it down, merging my hello world with our real app.
Secondly: I’ve been working with this project for five years and we have never had this problem before. As I said. I have tried installing old versions of the app, and they all freeze up and get semi-bricked. Hundreds of customers are using this, and many of those have had their applications updated with newer versions, and never have this happened. And now it happens on all units everywhere.

I’ll report back when I find what it is in my code that causes it.
I’ll also check if it happens on our sitcore prototype.

I found the error, and its not a loop.

During startup after initializing CAN, I send a message on the CAN-bus.
If the CAN-bus is completely unterminated at this time (I.E. the cables are unplugged), this happens. It bricks the unit.
Our units have several connections for CAN, and it is possible that over the years, and during development, we either have always had at least one end of the bus terminated, or we just havn’t tried to overwrite the app more than once.

So now the problem is this:

How do I check if the bus is heavy or off? The error callback only triggers when I try to use the bus, and then it’s too late.

Similar problems occur on the sitcore-unit. I also have to erase and reinstall it I use the CAN-bus without proper termination. In this case it crashes even with half termination.

Please try it again with sitcore but with a small program with CAN only and give us steps needed to reproduce the issue on our end.

Make sure to use the latest version of TinyCLR 2.1 please