When I plug in my nanoatmega328 to my computer, nothing shows up in /dev as I expect it to. If I plug in my Uno, /dev/ttyACM0 shows up. I have tried several Nanos.

Linux Mint 17.2.

  • Genuine Nano or cheap Chinese clone? – Majenko Apr 26 '16 at 17:09
  • @Majenko Genuine uno, cheap Chinese nano. – Marcel Apr 26 '16 at 17:10
  • lsusb and dmesg are key points of investigation - you are looking for a USB device and or failure or driver messages after insertion. Something that is not CDC/ACM would probably be more likely to be /dev/ttyUSB0 or similar, if it recognized with a driver available. – Chris Stratton Apr 26 '16 at 17:11
  • usb-devices is also useful - it can show what driver (if any) is attached to a USB device. – Majenko Apr 26 '16 at 17:11
  • It is not showing up in lsusb. Cannot decipher anything useful from dmesg. – Marcel Apr 26 '16 at 17:14

dmesg should be the tool to help you.


$ dmesg -w

Then hit return a few times (to get some blank lines).

Next plug in your Nano. Some text should appear on the screen, which will give you a clue as to what is going on. I don't have a Nano to try with, but a typical working device would look something like:

[29125.599800] usb 9-1.4.1: new full-speed USB device number 13 using ehci-pci
[29125.694742] usb 9-1.4.1: New USB device found, idVendor=04d8, idProduct=0208
[29125.694747] usb 9-1.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[29125.694749] usb 9-1.4.1: Product: Lenny
[29125.694751] usb 9-1.4.1: Manufacturer: chipKIT
[29125.694753] usb 9-1.4.1: SerialNumber: CK1660A05353C5
[29125.695213] cdc_acm 9-1.4.1:1.0: This device cannot do calls on its own. It is not a modem.
[29125.695240] cdc_acm 9-1.4.1:1.0: ttyACM0: USB ACM device
[29125.695768] cdc_acm 9-1.4.1:1.2: This device cannot do calls on its own. It is not a modem.
[29125.695791] cdc_acm 9-1.4.1:1.2: ttyACM1: USB ACM device
[29125.697772] input: chipKIT Lenny as /devices/pci0000:00/0000:00:1a.7/usb9/9-1/9-1.4/9-1.4.1/9-1.4.1:1.4/0003:04D8:0208.0004/input/input19
[29125.698394] hid-generic 0003:04D8:0208.0004: input,hidraw2: USB HID v1.11 Mouse [chipKIT Lenny] on usb-0000:00:1a.7-1.4.1/input4

If it doesn't know what the device is it will give you a fraction of the information, and probably tell you it can't attach a driver.

If the device is faulty and not recognisable you will get messages similar to:

[29125.698394] usb 2-2.1: device not accepting address 5, error -71

If you get absolutely nothing displayed then it can't even recognise that anything has been attached to your computer. Try different USB sockets and different USB cables to see if that helps.

Note: some cheap USB cables used purely for charging small batteries don't have any data wires in them - just power. Using one of these will fail for sure.

  • Thanks, this clarified the issue for me. The Nano seems to mount by default on /dev/ttyUSB0 whereas the Uno mounts on /dev/ttyACM0, which is what I was used to. – Cerin Aug 15 '17 at 17:24

Did you try with lsusb and dmesg?

They should show if the Arduino was detected and what are its parameters (use lsusb -v for more detailed info).

If it is detected but you do not get the corresponding tty device, it might be because of missing/different rules.

You could check out this link and edit the parameters idProduct and idVendor to match what you get from lsusb, in case your rule is not matching.

Then remember to reload the modified rules.

Protip: compare the parameters of your working Uno against the ones from the Nanos and the values set in the rules.

  • Not showing up in lsusb. Nothing helpful in dmesg – Marcel Apr 26 '16 at 17:16
  • Are you sure that the Nano works? Have you been able to make it do something? In some cases they are shipped blank, without even the bootloader and the only way to make them work is to use an external programmer. – Igor Stoppa Apr 26 '16 at 17:19

Like Majenko said, if dmesg shows nothing then your cable could be to blame. It could be for power only (no data lines). This happened to me. I wouldn't have even thought of the cable if I did not read it here. My hardware is also Arduino nano clone (atmega238 + ch340) and the machine runs Ubuntu 15.04. With a good cable the device is recognized like this (dmesg -w):

usb 4-2: new full-speed USB device number 24 using ohci-pci
usb 4-2: New USB device found, idVendor=1a86, idProduct=7523
usb 4-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 4-2: Product: USB2.0-Serial
ch341 4-2:1.0: ch341-uart converter detected
usb 4-2: ch341-uart converter now attached to ttyUSB0
  • No it was because it was a Chinese clone which don't have serial numbers. – Marcel Oct 20 '16 at 17:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.