2

On my Firefly-RK3399 (arm arch) I have installed their official ubuntu image for the board. I also installed Arduino IDE and when I connect my Arduino UNO then all fine, I can flash it and I see in my serialports (Arduino IDE):

/dev/ttyACM0

However, when I do this with the Arduino Nano...nothing. Arduino IDE does not see it and I can not flash it.

I already saw a lot of forum posts today. I tried all out but unfortunately nothing worked for me so far.

When I run:

dmesg -w

then I plug in Arduino UNO, then Arduino NANO...then I get the following at the end of the console:

[ 1915.205439] usb 1-1.4: new full-speed USB device number 8 using ehci-platform [ 1915.294646] usb 1-1.4: New USB device found, idVendor=2341, idProduct=0043 [ 1915.294663] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=220 [ 1915.294671] usb 1-1.4: Manufacturer: Arduino (www.arduino.cc) [ 1915.294678] usb 1-1.4: SerialNumber: 85435333131351104190 [ 1915.296502] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device

[ 1934.279563] usb 3-1: new full-speed USB device number 2 using xhci-hcd [ 1934.393985] usb 3-1: New USB device found, idVendor=1a86, idProduct=7523 [ 1934.394001] usb 3-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 1934.394009] usb 3-1: Product: USB2.0-Serial

So the Arduino Nano does not get attached to any ttyACM*

How can I do this?

3 Answers 3

2

I was able to find the Nano with the CH340 chip (or CH340G, the Amazon item wasn't clear) on Ubuntu 18.04 just by installing the Arduino IDE (1.8.x) and giving myself permissions to the port with:

sudo usermod -a -G dialout <my linux username>    

Then I was able to see the /dev/ttyUSB0 port in the Arduino IDE (it isn't ttyACM0 like in the documentation). You can find out what port it is by unplugging your Nano, then running:

ls -l /dev/tty*    

Then plug your Nano back in and run it again and compare the list. The new device should be at the bottom of the second list.
I was able to upload a sketch by changing the processor from ATmega328p to the Old Bootloader.

1
  • 1
    for ubuntu 23.04 I added a udev rule to ensure that my CH340 device was mapped to a device. I had to remove the package "brltty" which was spamming the log with bluetooth and udev errors, apparently preventing the device being mapped correctly. Commented May 21 at 19:53
1

I guess it's important to say here... Chinese Nano board's with CH340 native Linux driver, must to be used with the configuration below:

Kubuntu Nano Configuration-2022July24

(processor: ATmega328P)

0

The nano has a CH34x USB to serial converter chip. Here is what a CH34x looks like on my Ubuntu Intel/AMD system. Note Linux creates /dev/ttyUSB0, not /dev/ttyACM0.

$ lsusb |grep 1a86
Bus 002 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
$
$ dmesg
usb 2-1.2: new full-speed USB device number 8 using ehci-pci
usb 2-1.2: New USB device found, idVendor=1a86, idProduct=7523
usb 2-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 2-1.2: Product: USB2.0-Serial
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ch341
usbserial: USB Serial support registered for ch341-uart
ch341 2-1.2:1.0: ch341-uart converter detected
usb 2-1.2: ch341-uart converter now attached to ttyUSB0

Assuming your kernel supports the CH34x, you could try adding a udev rule to load the driver. Or use modprobe to force load the driver.

$ lsmod | grep -i ch34
ch341                  14072  0 
usbserial              45014  1 ch341
$ sudo modprobe ch341

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .