Arduino Forum

Products => Arduino Zero => Topic started by: MikD on Dec 13, 2019, 04:49 pm

Title: Windows driver installation w/o installing Arduino IDE
Post by: MikD on Dec 13, 2019, 04:49 pm
IDE: 1.8.10
Board: Arduino M0+ with Arduino Zero bootloader
OS: Windows 7, 8 and 10

I have made a program for the Arduino Zero (AZ), EDBG less since it in reality is a M0+ H/W but this is probably not important. I have also made a GUI program that communicates with the AZ over the USB port. Everything works fine.

On PCs, with the Arduino IDE installed, the AZ shows as "Arduino Zero (COM#)" in the Windows Device Manager. However, on PCs without the IDE installed the board just shows as "USB Serial Device (COM#)" in the Windows Device Manager, i.e. no Arduino ID at all. The communication works but for the untrained user finding the right COM port can be a problem because no AZ, SAMD21, driver has been installed. How do I do this?

I have found these
https://forum.arduino.cc/index.php?topic=610963.0 (https://forum.arduino.cc/index.php?topic=610963.0)
https://forum.arduino.cc/index.php?topic=360798.0 (https://forum.arduino.cc/index.php?topic=360798.0)
https://github.com/arduino/ArduinoCore-samd/tree/master/drivers (https://github.com/arduino/ArduinoCore-samd/tree/master/drivers)

Unfortunately I am in a situation where I have only one PC to test with, that has never had the Arduino IDE installed, and I am a bit afraid that fiddling around with driver installation(s) might "contaminate" Windows which could lead to a situation where it is difficult for me to describe exactly what steps the untrained users have to do to install the right driver. Therefore, I wonder if someone has a (near) bulletproof procedure?

TIA
Title: Re: Windows driver installation w/o installing Arduino IDE
Post by: ballscrewbob on Dec 14, 2019, 05:45 pm
There are a lot of different reported issues with 1.8.10
General consensus for now seems to be roll back to 1.8.9 at the very least.

It may not fix every issue but is certainly worth the effort.
Additional clean up instructions provided in case you try it.

Bob.

EDIT.

You may also have to install the drivers on each machine that does not have the IDE installed.
These would normally be found in the IDE installation folder.
It is possible to copy that folder and use them as a sort of "stand alone" package/installer too.
However in some circumstances you may have to reduce or remove the driver enforcement policy in some installs of windows.

Some additional security may also balk and you may have to take additional measures to allow for that too.

Title: Re: Windows driver installation w/o installing Arduino IDE
Post by: pert on Dec 15, 2019, 09:23 am
When you install Arduino SAMD Boards on Windows via the Arduino IDE's Boards Manager, assuming you accept the security prompt, it runs this:
https://github.com/arduino/ArduinoCore-samd/blob/master/post_install.bat (https://github.com/arduino/ArduinoCore-samd/blob/master/post_install.bat)

If ballscrewbob's reply and that information doesn't solve your problem, let me know and I'll do some experimentation. I can run a virtual machine to reproduce a clean Windows system that has never had the driver installed.
Title: Re: Windows driver installation w/o installing Arduino IDE
Post by: MikD on Dec 18, 2019, 12:49 am
Sorry for the delayed response busy time of the year. However, I have been so fortunate, that one of my PCs allows me to uninstall the driver via the Device Manager, and then install it again - over and over again making experimentation easy. On another PC this was not possible. After uninstallation and plugging in again the AZ automatically installed the full driver.

To cut a long story short. The procedure is straight forward. Take the drivers from the SAMD location and do a manual installation via the Device Manager then the ID is in place.

Thanks for the hints and giving me the courage to just try. Sometimes this is the shortest way to the goal.

Anyway, is it impossible, unpractical … to have MS to include the driver(s) in the online update service? I have no idea how this works but it would be neat if it was possible.