How to configure a usb port to Arduino Uno?

I am trying to download an Arduino binary to an Arduino Uno
using a new install of Linux Mint.

I am not seeing any available ports to select in the Arduino IDE.
I believe I need to configure a usb port to connect to my Arduino Uno board.

I have been searching the web for days now without success.
Any assistance would be greatly appreciated.

what have you tried?

do you have the source code or just a binary?

do you have a genuine UNO? which version? (R3, R4... ?)

I'm not a linux person, but I do recall there might have been a need to add the user to the dialout group. A quick search for "linux arduino dialout" might provide a solution.

I have tried with a Uno (not genuine), genuine Nano, Wemos D1 Mini esp8266, and Wemos D1 Mini Esp32. All show no available ports.

I have the source. It is just a simple "Hello World" app compiled with Arduino IDE 2.3.2 running on a new install of Linux Mint.

have you done
sudo usermod -aG dialout XXX
where XXX is your Linux Mint username + reboot?

I did: sudo usermod -aG dialout mo and sudo usermod -aG dialout "mo". After a reboot, both have port under tools grayed out in the Arduino IDE.

where did you download the IDE from?

with the Genuine Nano plugged in, if you do a

ls /dev/tty*

what do you see?

If you don't see ports in the IDE, you'll have to check at the operating system level.

Please run lsusb without the board connected.
Next connect the board and run lsusb again?

Any differences? You can post the output here; please use code tags when doing so, one for each command.
Your output will look like
Before

$ lsusb
Bus 001 Device 007: ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
Bus 001 Device 006: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 001 Device 003: ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

After

$ lsusb
Bus 001 Device 007: ID 04d9:1503 Holtek Semiconductor, Inc. Keyboard
Bus 001 Device 006: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 001 Device 003: ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

After connecting the Arduino in the previous step, run the dmesg command; the output will look something like

...
...
[ 4535.761608] ch341 1-5.4.4:1.0: device disconnected
[ 4571.060066] usb 1-5.4.4: new full-speed USB device number 11 using ehci-pci
[ 4571.139212] usb 1-5.4.4: New USB device found, idVendor=1a86, idProduct=7523
[ 4571.139219] usb 1-5.4.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 4571.139223] usb 1-5.4.4: Product: USB2.0-Serial
[ 4571.139832] ch341 1-5.4.4:1.0: ch341-uart converter detected
[ 4571.142878] usb 1-5.4.4: ch341-uart converter now attached to ttyUSB0

Post the last 20 or 30 lines. If your board has the CH340 serial-to-usb adapter (as above), check the dmesg output for BRLTTY. If it shows, uninstall it using sudo apt-get remove brltty.

Far too many ports :smiley:

:wink:
Lol

I downloaded the Arduino IDE from arduino.cc

Sorry, I can't find my cable for the nano. The Wemos D1 Mini
Esp32 is a known good board. With it plugged in to a usb port, I get:

mo@mo-lt:~$ ls /dev/tty*
/dev/tty /dev/tty19 /dev/tty3 /dev/tty40 /dev/tty51 /dev/tty62
/dev/tty0 /dev/tty2 /dev/tty30 /dev/tty41 /dev/tty52 /dev/tty63
/dev/tty1 /dev/tty20 /dev/tty31 /dev/tty42 /dev/tty53 /dev/tty7
/dev/tty10 /dev/tty21 /dev/tty32 /dev/tty43 /dev/tty54 /dev/tty8
/dev/tty11 /dev/tty22 /dev/tty33 /dev/tty44 /dev/tty55 /dev/tty9
/dev/tty12 /dev/tty23 /dev/tty34 /dev/tty45 /dev/tty56 /dev/ttyS0
/dev/tty13 /dev/tty24 /dev/tty35 /dev/tty46 /dev/tty57 /dev/ttyS1
/dev/tty14 /dev/tty25 /dev/tty36 /dev/tty47 /dev/tty58 /dev/ttyS2
/dev/tty15 /dev/tty26 /dev/tty37 /dev/tty48 /dev/tty59 /dev/ttyS3
/dev/tty16 /dev/tty27 /dev/tty38 /dev/tty49 /dev/tty6
/dev/tty17 /dev/tty28 /dev/tty39 /dev/tty5 /dev/tty60
/dev/tty18 /dev/tty29 /dev/tty4 /dev/tty50 /dev/tty61
mo@mo-lt:~$

Before and after plugging in Wemos D1 Mini Esp32

mo@mo-lt:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04f3:0c03 Elan Microelectronics Corp. WBF Fingerprint Sensor
Bus 001 Device 002: ID 0408:a061 Quanta Computer, Inc. HD User Facing
Bus 001 Device 004: ID 04ca:3016 Lite-On Technology Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
mo@mo-lt:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04f3:0c03 Elan Microelectronics Corp. WBF Fingerprint Sensor
Bus 001 Device 002: ID 0408:a061 Quanta Computer, Inc. HD User Facing
Bus 001 Device 004: ID 04ca:3016 Lite-On Technology Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
mo@mo-lt:~$

Might be but it does not seem to show in the ls output. How do you know that it's a known good board?

doesn't it require a CH340 driver? is it installed on your Linux?

i_bus:phy_addr=r8169-0-100:00, irq=MAC)
[    5.576085] r8169 0000:01:00.0 enp1s0: Link is Down
[    6.061818] loop6: detected capacity change from 0 to 8
[    7.411620] Bluetooth: RFCOMM TTY layer initialized
[    7.411626] Bluetooth: RFCOMM socket layer initialized
[    7.411644] Bluetooth: RFCOMM ver 1.11
[   10.907985] wlp2s0: authenticate with 94:91:7f:55:e0:eb
[   10.952081] wlp2s0: send auth to 94:91:7f:55:e0:eb (try 1/3)
[   10.953891] wlp2s0: authenticated
[   10.956000] wlp2s0: associate with 94:91:7f:55:e0:eb (try 1/3)
[   10.958625] wlp2s0: RX AssocResp from 94:91:7f:55:e0:eb (capab=0x1511 status=0 aid=2)
[   10.961741] wlp2s0: associated
[   10.961850] ath: EEPROM regdomain: 0x8348
[   10.961852] ath: EEPROM indicates we should expect a country code
[   10.961853] ath: doing EEPROM country->regdmn map search
[   10.961854] ath: country maps to regdmn code: 0x3a
[   10.961855] ath: Country alpha2 being used: US
[   10.961857] ath: Regpair used: 0x3a
[   10.961857] ath: regdomain 0x8348 dynamically updated by country element
[   11.052706] wlp2s0: Limiting TX power to 30 (30 - 0) dBm as advertised by 94:91:7f:55:e0:eb
[   11.096532] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
mo@mo-lt:~$ 


Any chance that you are using a charge-only cable?

There does not seem to be any sign of recognitions.

@J-M-L , Driver should be pre-installed with the distro.

1 Like

Good point. I have used these boards from the vendor for quite awhile. I haven't had a failure yet.

But you have not tested this board yet in another setup. Note that I don't say that the board is faulty but you said "known good".

That is a good point. Here is more info that may be helpful.

I had a desktop running Windows 10 that I used for development for Arduino. I successfully built Arduino projects with it. I am staring at three Wemos D1 Mini 8266 based clocks that have been running continuously for over a year.

I recently had a hard disk failure on the Windows 10 desktop machine. I rebuilt the desktop using Linux Mint. I haven't tried to program any Arduino supported boards since the crash until a couple of days ago.

It is good to know that the driver is pre-installed with Linux Mint.

I really appreciate all the help you have provided.

I

Use one of those to do the initial checks for the board detection; you know that they were programmable in the past. You don't mention if the Wemos D1 Mini ESP32 was also successfully programmed in the past.

The D1 Mini 8266 has a micro USB connector; I mentioned it before but make sure that you are using a data/sync cable and not a charge-only cable. I do not know what the other model Wemos board has (USB-C or micro-USB)?.