Back story:
I hesitated at updating the IDE and have now also have a UBUNTU IDE.
"Originally" I downloaded drivers for the CH340 NANO (or other - but that is the one which killed me) and they worked with the original IDE I had.
I have since updated to 1.8.5 and it was looking good.
Things worked and I put the CH340 problem to the back of my mind.
Until one day when I needed to program one.
All hell broke lose.
SOLUTION!
(Don't waste time downloading drivers and all that. They aren't needed.)
In the IDE, TOOLS/BOARD/Arduino Nano (as for me)
Then go back to:
TOOLS/PROCESSOR/ATMega828p There are 3 options. ATMega838P, ATMega838P (Old boot loader) and a third one.
Select OLD BOOT LOADER
and that's it.
It works.
I'm guessing it is the "OLD BOOT LOADER" part which does the magic.
Look for that option on your board if you get AVR-DUDE not responding or errors like that.
END OF STORY.
Or at least it did for me.
I had spent hours searching for the answer.
I hope someone finds this helpful.
I can't send screen shots as they don't capture the menus when they are open.
You're mixing up two completely unrelated problems. The lack of a driver will cause the computer to not assign a serial port to the Arduino. The Tools > Processor menu selection will cause uploading to the Nano to fail, even though the driver is installed and the serial port of the board is selected from the Tools > Port menu.
I believe the CH340 driver is preinstalled on Linux so indeed you may not need to install it when using that operating system. If you're using Windows then you will need to install the driver if you haven't already done so. I'm not sure about macOS.
Well, Ok, but I have to point out that until the "solution" was found, I chose:
Arduino NANO ATMEGA828P
And had the CH340 drivers loaded.
And on the other machines/earlier versions of the IDE, it flashed the NANO and they were flashed.
There was no mention of the boot loader.
As I stated, I needed to flash a NANO with the CH340 chip.
I wasted a lot of time trying to find/download the drivers all the time seeing they were "part of the package" - and so shouldn't need to be downloaded.
At this stage I had NANO ATMEGA828P and nothing else set.
Putting aside the "port number/name".
As I am not Linux speaking, there were AMA0, and a whole heap of other things. As well as USB.
NOTHING WORKED.
Finally after a lot of time - again - I went down and selected OLD BOOT LOADER (not altering anything else) and it worked.
So I can only call it for what I see.
I did NOT install any CH340 drivers. I downloaded some but they lacked instructions that were clear.
I simply changed the processor from ATMEGA (standard) to OLD BOOT LOADER.
So maybe it is "wrong" but if it allows/allowed me to flash the chips: As far as I can see: It works.
Now, I shall have to apologise if the numbers are wrong. The font is PATHETIC and I haven't got around to finding where to set it so it is clearer to read.
828, 328...... the 8 is not very well shown.
However, I can stress that the NANO is but an EXAMPLE of a board with the CH340 chip which I have.
As I was stuck with the CH340 driver (on the NANO) I wasn't going to go and make things more difficult for myself with other CH340 chipped boards.
I had the drivers for the NANO.
It is stated that the CH340 drivers are NATIVE to the IDE.
(I would comment but shall not)
ONLY for the fact I changed it to OLD BOOT LOADER could I program it.
I had wasted a lot of time trying to find the "cause" and the drivers - which as stated: are NATIVE - so why do I need them?
Given that on the OLDER IDE I simply selected the NANO and the ATMEGA828 (or what ever the number is) and I could upload to them.
Granted: That was after downloading and "installing" the drivers.
I did download the drivers - as declared. But because the IDE has changed so much from what I came from to this one I couldn't resolve where/how to put them. I gave up.
When I changed the PROCESSOR to OLD BOOT LOADER it worked.
If it is "wrong" then I am sorry, but it works/ed for me.
If anyone else is going through this painful step, try it.
It can't (shouldn't) break anything. At worst, a few seconds are wasted.
lost_and_confused:
It is stated that the CH340 drivers are NATIVE to the IDE.
Where is that stated?
lost_and_confused:
ONLY for the fact I changed it to OLD BOOT LOADER could I program it.
Nobody is disputing this. It's been well documented here on the forum and elsewhere ever since the release of Arduino AVR Boards 1.6.21. BUT IT HAS NOTHING TO DO WITH DRIVERS. Your problem never had anything to do with a driver. Your problem never had any possibility of having anything to do with drivers. As soon as you see a serial port for your board you know there is no driver problem.
lost_and_confused:
I had wasted a lot of time trying to find the "cause" and the drivers - which as stated: are NATIVE - so why do I need them?
You don't. If someone told you that you did then they were wrong. If you thought you did then you were wrong.
lost_and_confused:
Given that on the OLDER IDE I simply selected the NANO and the ATMEGA828 (or what ever the number is) and I could upload to them.
In Arduino AVR Boards 1.6.20 and older that was the case. However a change was made in Arduino AVR Boards 1.6.21 that now requires you to select Tools > Processor > ATmega328P (Old Bootloader), as you have discovered.
lost_and_confused:
If it is "wrong" then I am sorry, but it works/ed for me.
The wrong part is you saying this problem could have ever had anything to do with the driver. You've been corrected about that twice now and still stick to this belief, despite the evidence you yourself have seen that the problem was not the driver but your selection of Tools > Processor > ATmega328P. I don't understand how this can be so difficult for you to understand.
But this is what I read about the CH340 chips and Linux:
The CH340G is fully supported by the default kernel in all distros I have ever used. On my Ubuntu machine the CH340G on my NodeMCU is detected automatically:
So if I have the latest distro, plugging in a CH340 board should not be a problem.
It was.
lost_and_confused: The CH340G is fully supported by the default kernel in all distros I have ever used. On my Ubuntu machine the CH340G on my NodeMCU is detected automatically:
That's my understanding also. There's no need to install the CH340 driver on Linux. But that's not the same as what you said:
lost_and_confused:
It is stated that the CH340 drivers are NATIVE to the IDE.
The CH340 drivers are definitely not native (whatever that would mean) to official versions of the Arduino IDE. The IDE does include drivers for the USB chips on the official Arduino boards (FT232, ATmega16U2, etc) but no official Arduino boards use CH340.
lost_and_confused:
Nah, I am not going to continue this.
But this is what I read about the CH340 chips and Linux:
The CH340G is fully supported by the default kernel in all distros I have ever used. On my Ubuntu machine the CH340G on my NodeMCU is detected automatically:
So if I have the latest distro, plugging in a CH340 board should not be a problem.
It was.
If someone out there finds it handy: good.
You wrote originally ---
I hesitated at updating the IDE and have now also have a UBUNTU IDE.
"Originally" I downloaded drivers for the CH340 NANO (or other - but that is the one which killed me) and they worked with the original IDE I had.
You were confused about difference between working in Windows and working in Linux.
For those of us who have used Linux for some years, what you wrote about the CH340 driver is not news to us.
But what you wrote is confusing to newbies who use Windows.
And repeat --- CH340 driver has nothing to do with not seeing the choice to upload a sketch to the Nano using the Old Bootloader --- which was your problem all along.
You were confusing the CH340 driver issue and the Nano bootloader issue.
lost_and_confused:
Back story:
I hesitated at updating the IDE and have now also have a UBUNTU IDE.
"Originally" I downloaded drivers for the CH340 NANO (or other - but that is the one which killed me) and they worked with the original IDE I had.
I have since updated to 1.8.5 and it was looking good.
Things worked and I put the CH340 problem to the back of my mind.
Until one day when I needed to program one.
All hell broke lose.
SOLUTION!
(Don't waste time downloading drivers and all that. They aren't needed.)
In the IDE, TOOLS/BOARD/Arduino Nano (as for me)
Then go back to:
TOOLS/PROCESSOR/ATMega828p There are 3 options. ATMega838P, ATMega838P (Old boot loader) and a third one.
Select OLD BOOT LOADER
and that's it.
It works.
I'm guessing it is the "OLD BOOT LOADER" part which does the magic.
Look for that option on your board if you get AVR-DUDE not responding or errors like that.
END OF STORY.
Or at least it did for me.
I had spent hours searching for the answer.
I hope someone finds this helpful.
I can't send screen shots as they don't capture the menus when they are open.
Awesome! Thank you so much. This helped me with my nano clone with CH340 on ubuntu 18.04. Initially I couldn't see the port on arduino ide but after changing it to "old bootloaded", the port showed up.
In my case, I need to re-burn the bootloader selecting "old bootloader" via the ICSP connector and a generic AVR programmer.
After that, I can normally use the "upload" option, but always keeping selected "Old Bootloader".
I tried all options, with both bootloaders, and uploading with both options in the menu. The only combination was "old" in burning bootloader and in uploading.
My Nanos (from Hobbyking) worked fine until Arduino IDE 1.8.5, with the 1.8.9, the solution was that.
DUDE!!
IT WORKED!!
I was just about to order some more nanos from a different vendor on Amazon thinking I had some bad or counterfeit CH340 chips!
Arduino 1.8.9 on Ubuntu 18.04 on ASUS K52F. I recently nuked windows and installed Ubuntu from uSD card!
lost_and_confused:
Back story:
I hesitated at updating the IDE and have now also have a UBUNTU IDE.
"Originally" I downloaded drivers for the CH340 NANO (or other - but that is the one which killed me) and they worked with the original IDE I had.
I have since updated to 1.8.5 and it was looking good.
Things worked and I put the CH340 problem to the back of my mind.
Until one day when I needed to program one.
All hell broke lose.
SOLUTION!
(Don't waste time downloading drivers and all that. They aren't needed.)
In the IDE, TOOLS/BOARD/Arduino Nano (as for me)
Then go back to:
TOOLS/PROCESSOR/ATMega828p There are 3 options. ATMega838P, ATMega838P (Old boot loader) and a third one.
Select OLD BOOT LOADER
and that's it.
It works.
I'm guessing it is the "OLD BOOT LOADER" part which does the magic.
Look for that option on your board if you get AVR-DUDE not responding or errors like that.
END OF STORY.
Or at least it did for me.
I had spent hours searching for the answer.
I hope someone finds this helpful.
I can't send screen shots as they don't capture the menus when they are open.