N2+ recognize struggles & VS2017 / VS2015 and suck -> success

Struggled mightily with getting my N2+ to be recognized.

First attempt was to be sure the firmware was fully updated.

  • Could not get Deploy to recognize at all. Zadig saw it, could set WinUSB driver for it, but Deploy did not see it.
  • Fixed after many tries by changing to a USB port directly on the PC (had been via a powered hub). OK… maybe too deep a USB hub-tree or something. Fine.
  • Use Deploy to Install Latest Update. Crashed twice with an error -7 something about problems erasing. However, now completes with no complaints 100% and can do that repeatedly.
  • Any attempt to use the ‘Browse’ button in Deploy crashes the app immediately (this is noted in other threads). OK though, I am hoping I have the board connected and updated at this point.

(As an aside “Deploy” for the firmware updater was a really shitty name since “Deploy” is universally used in Visual Studio as the terminology for sending applications to the device. Dumb. “Firmware Updater” or anything of that nature seems like it would have been much smarter. )

  • Shift to trying to deploy application to the board. Plug it in presumably in ‘user’ mode (no button hold). LED is permanently on but this seems correct for a clean no-app-loaded device.
  • Device appears listed as Netduino Plus 2 in Device manager. Can see the device in Zadig also.
  • VS2017 (yes yes I know, not supported stick with me) sees no device. If I go to .NET Micro Framework tab in my Project, under Deployment, with USB selected, there is no device listed. If I check “Enable Legacy WinUSB” - VS2017 crashes immediately. Every time.
  • Reinstall the NETMF and SDK a few times… No love. Heres’ the fun part.
  • Suk it up and install VS2015. Bizarrely, the ‘correct’ VS2015 won’t compile the projects that VS2017 will. Bunch of not found errors blah blah wont compile, turns out, not important.
  • Because, on the VS2015 NETMF tab… THERE IT IS! Recognized! An actual device showing up in Visual Studio! Holy crap. If only it would compile.
  • But, gets better, switch back to VS2017 and… suddenly… holy crackamole we can see the N2+! Better yet - build, deploy, voila my old crappy test app is running perfectly on the stupid stupid stupid thing! All done now in VS2017.
  • Switch it back to the powered USB and… Voila again still works, deploy app, runs, all is good.
  • Uninstall VS2015… with trepidation try again and… VS2017 compiles, deploys, runs… all still good.

OK what was the problem?

Checking in Zadig, I see the user mode N2+ is now using the ‘SpotUSB’ driver.

This was not the case before, and no matter how many times I reinstalled the SDK’s apparently… which I’d have thought would have fixed that… it didn’t seem to load the driver correctly… But something about reinstalling them after installing VS2015 seems to have done the trick.

If somebody else is trying to get VS2017 to see the device I don’t know what to say but this might work. Whether it was the VS2015 installers that ‘fixed’ somethign or whether it was the SDK needing to see VS2015 in order to install the driver properly I don’t know but I’m very pleased to be at this point.

Now to try to actually make the stupid thing do something useful.