Proper clear instructions for "Port Greyed out"

Over the years, I have gotten new computers, new OS, new Arduino boards.

Every time I seem to run into the issue of drivers for the OS I'm using.

I have to look it up, search other sites, read various forum entries on 6 different ways it could maybe fixed.

I wish that Arduino would take the time to give a clear solution on how to re-install or correct USB drivers on various OS.

There's nothing worse than giving a youth their first UNO and sharing their excitement to run into a road block of driver installation. By the time its fixed, the excitement is lost and product now gathers dust.

Reading the posts and numerous threads, it's obviously a persistent problem, yet finding a solution is still very muddy waters.

These are the official Arduino instructions for that sort of problem:
https://www.arduino.cc/en/Guide/Troubleshooting#toc1
It has a section about drivers:

Drivers provide a way for software on your computer (i.e. the Arduino software) to talk to hardware you connect to your computer (the Arduino board). In the case of Arduino, the drivers work by providing a virtual serial port (or virtual COM port). The Arduino Uno and Mega 2560 use standard drivers (USB CDC) provided by the operating system to communicate with the ATmega8U2 on the board. Other Arduino boards use FTDI drivers to communicate with the FTDI chip on the board (or in the USB-serial convertor).

The easiest way to check if the drivers for your board are installed correctly is by opening the Tools > Serial Port menu in the Arduino software with the Arduino board connected to your computer. Additional menu items should appear relative to when you open the menu without the Arduino connected to your computer. Note that it shouldn't matter what name the Arduino board's serial port gets assigned as long as that's the one you pick from the menu.

  • On Windows 7 (particularly the 64-bit version), you might need to go into the Device Manager and update the drivers for the Uno or Mega 2560. Just right click on the device (the board should be connected to your computer), and point Windows at the appropriate .inf file again. The .inf is in the drivers/ directory of the Arduino software (not in the FTDI USB Drivers sub-directory of it).
  • If you get this error when installing the Uno or Mega 2560 drivers on Windows XP: "The system cannot find the file specified", you might try this suggestion (about adding a "RunOnce" key to "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion").
  • On Linux, the Uno and Mega 2560 show up as devices of the form /dev/ttyACM0. These are not supported by the standard version of the RXTX library that the Arduino software uses for serial communication. The Arduino software download for Linux includes a version of the RXTX library patched to also search for these /dev/ttyACM* devices. There's also an Ubuntu package (for 11.04) which includes support for these devices. If, however, you're using the RXTX package from your distribution, you may need to symlink from /dev/ttyACM0 to /dev/ttyUSB0 (for example) so that the serial port appears in the Arduino software.

Run:
sudo usermod -a -G tty yourUserName
sudo usermod -a -G dialout yourUserName
Log off and log on again for the changes to take effect.

If you have any specific suggestions for how that text can be improved they would be welcome.

I'm not super happy with some of the content on that troubleshooting page and have been meaning to go through it and see if I can get some improvements made.

Part of the problem with drivers is that often this happens with 3rd party boards that require different drivers (e.g. CH340). It's unlikely that Arduino will want to provide specific instructions for dealing with driver issues for 3rd party boards. The Arduino IDE comes with all the drivers needed for official Arduino boards. I think they would be willing to add some general text regarding drivers for other boards. We do have the option of documenting solutions for 3rd party driver issues elsewhere though. I created a troubleshooting page on the Arduino Playground, in which I have attempted to do this:
https://playground.arduino.cc/Main/Troubleshooting#Uploading
That is a publicly editable wiki so you are welcome to make any edits you wish or if you want to make suggestions here I'll consider incorporating them myself. That page is very much a work in progress. I have a long list of things I plan to add but haven't gotten to it yet.

It would be tough for arduino to document every possible non-official-arduino driver issue.
If you have anoffficial arduino board the isn't fixed by re-installing the official ide, post details.

Or other setup details as well, but understand that help will the be less enthusiastic...