CH340/CH341 USB-Serial NANO, again

Hello,

The subject has been treated in several threads of this forum but I have not found a solution to my problem.

I'm on Linux Debian Stretch and IDE Arduino 1.6.11.

The new Arduino Nano recently received are recognized in Linux with a /dev/ttyUSB0 port , the driver CH341 is well loaded at the Arduino connection.

Unable to load a sketch, I have the usual errors of avrdrude that does not communicate with the arduino.

I tried several solutions:

  • Reset manually when the upload is started in case there is no autoreset.

  • Reflashed the bootloader with a USBTiny programmer, flashing ok but still impossible to upload a sketch.

  • I was able to test the Arduino Nano by flashing a sketch with avrdrude and the USBtiny and it works but not very practical.

The solutions seen on this forum talk about installing the driver of the ch341 but, this one is already part of the recent Linux kernel.

Here I am at the end of my possible solutions.

If someone would have an idea?

thank you

Domos:

  • I was able to test the Arduino Nano by flashing a sketch with avrdrude and the USBtiny and it works but not very practical.

Keep in mind that when you do that the bootloader is erased so you always need to do a Tools > Burn Bootloader after doing that in order to go back to being able to do uploads over serial.

Domos:
The solutions seen on this forum talk about installing the driver of the ch341 but, this one is already part of the recent Linux kernel.

If the port of your Nano is appearing I think that indicates the driver is working correctly.

@pert
He wrote that he put the bootlader back.

@Domos
Loopback test could prove if the USB/serial works correctly.

Budvar10:
@pert
He wrote that he put the bootlader back.

I don't see where it says that but I do think it's likely Domos already knows this, still worth noting just in case because I've seen that trip people up quite a few times.

Other common issue is using charging USB cables or maybe just a bad cable, which I'm guessing would be indicated by the loopback test results.

Sketch is compiled with Arduino IDE and I use this command to flash Nano with avrdrude and the usbtiny programmer (booltloader still present after):

$ avrdude -c usbtiny -p m328p -U flash:w:/tmp/builda567167170c1a05374041e7440986765.tmp/DigitalReadSerial.ino.with_bootloader.hex

In this sketch I do a blinky led and write on serial port. I can received caracter after falshing.

For the cable, it's a very short cable and work fine with a another Arduino Nano (no CH341 driver).

thanks,

I change the bootloader to Arduino Uno on my Nano's. Might be worth trying on yours. I do the same for the 16 Mhz Pro Mini's also.

kprims:
I change the bootloader to Arduino Uno on my Nano's. Might be worth trying on yours. I do the same for the 16 Mhz Pro Mini's also.

I have test with your solution but same problem.

Not very optimistic, I just checked that my old Arduino Nano that works also uses the ch341-uart driver so the problem does not come from there.

I have flashed a sketch with the ISP programmer which tests the serial port in reading / writing, it works but the reception does not do as expected, I receive the characters by "batches" as if an intermediate buffer was emptied.

The same sketch on the functional Arduino Nano displays me character by character for each "println".

Same problem for the 2 Nanos purchased here: Geekcreit® atmega328p nano v3 controller board improved version module development board Sale - Banggood.com