What is my errno?

FQBN: arduino:avr:uno
Using board 'uno' from platform in folder: C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core 'arduino' from platform in folder: C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6

Detecting libraries used...
C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\sketch\sketch_jun11b.ino.cpp -o nul
Alternatives for SPI.h: [SPI@1.0]
ResolveLibrary(SPI.h)
  -> candidates: [SPI@1.0]
C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI\src C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\sketch\sketch_jun11b.ino.cpp -o nul
Alternatives for MFRC522.h: [MFRC522@1.4.11]
ResolveLibrary(MFRC522.h)
  -> candidates: [MFRC522@1.4.11]
C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI\src -IC:\Users\subordie\Documents\Arduino\libraries\MFRC522\src C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\sketch\sketch_jun11b.ino.cpp -o nul
Alternatives for Servo.h: [Servo@1.2.1 Servo@1.2.1]
ResolveLibrary(Servo.h)
  -> candidates: [Servo@1.2.1 Servo@1.2.1]
C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI\src -IC:\Users\subordie\Documents\Arduino\libraries\MFRC522\src -IC:\Users\subordie\Documents\Arduino\libraries\Servo\src C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\sketch\sketch_jun11b.ino.cpp -o nul
Using cached library dependencies for file: C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI\src\SPI.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\MFRC522\src\MFRC522Extended.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\avr\Servo.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\mbed\Servo.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\megaavr\Servo.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\nrf52\Servo.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\renesas\Servo.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\sam\Servo.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\samd\Servo.cpp
Using cached library dependencies for file: C:\Users\subordie\Documents\Arduino\libraries\Servo\src\stm32f4\Servo.cpp
Generating function prototypes...
C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI\src -IC:\Users\subordie\Documents\Arduino\libraries\MFRC522\src -IC:\Users\subordie\Documents\Arduino\libraries\Servo\src C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\sketch\sketch_jun11b.ino.cpp -o C:\Users\subordie\AppData\Local\Temp\3048006142\sketch_merged.cpp
C:\Users\subordie\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\subordie\AppData\Local\Temp\3048006142\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\standard" "-IC:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\libraries\\SPI\\src" "-IC:\\Users\\subordie\\Documents\\Arduino\\libraries\\MFRC522\\src" "-IC:\\Users\\subordie\\Documents\\Arduino\\libraries\\Servo\\src" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\sketch\\sketch_jun11b.ino.cpp" -o "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\sketch\\sketch_jun11b.ino.cpp.o"
Compiling libraries...
Compiling library "SPI"
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\SPI\SPI.cpp.o
Compiling library "MFRC522"
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\MFRC522\MFRC522.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\MFRC522\MFRC522Extended.cpp.o
Compiling library "Servo"
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\avr\Servo.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\mbed\Servo.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\stm32f4\Servo.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\megaavr\Servo.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\renesas\Servo.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\sam\Servo.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\nrf52\Servo.cpp.o
Using previously compiled file: C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68\libraries\Servo\samd\Servo.cpp.o
Compiling core...
Using precompiled core: C:\Users\subordie\AppData\Local\Temp\arduino\cores\arduino_avr_uno_e1fd047d2db49524d9bd652f9c4a7233\core.a
Linking everything together...
"C:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68/sketch_jun11b.ino.elf" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\sketch\\sketch_jun11b.ino.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\MFRC522\\MFRC522.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\MFRC522\\MFRC522Extended.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\avr\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\mbed\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\megaavr\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\nrf52\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\renesas\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\sam\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\samd\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68\\libraries\\Servo\\stm32f4\\Servo.cpp.o" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68/..\\..\\cores\\arduino_avr_uno_e1fd047d2db49524d9bd652f9c4a7233\\core.a" "-LC:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68" -lm
"C:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68/sketch_jun11b.ino.elf" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68/sketch_jun11b.ino.eep"
"C:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68/sketch_jun11b.ino.elf" "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68/sketch_jun11b.ino.hex"
Multiple libraries were found for "Servo.h"
  Used: C:\Users\subordie\Documents\Arduino\libraries\Servo
  Not used: C:\Users\subordie\AppData\Local\Arduino15\libraries\Servo
Using library SPI at version 1.0 in folder: C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI 
Using library MFRC522 at version 1.4.11 in folder: C:\Users\subordie\Documents\Arduino\libraries\MFRC522 
Using library Servo at version 1.2.1 in folder: C:\Users\subordie\Documents\Arduino\libraries\Servo 
"C:\\Users\\subordie\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Users\\subordie\\AppData\\Local\\Temp\\arduino\\sketches\\46CAFA9B83CF56870918648311B40A68/sketch_jun11b.ino.elf"
Sketch uses 6126 bytes (18%) of program storage space. Maximum is 32256 bytes.
Global variables use 304 bytes (14%) of dynamic memory, leaving 1744 bytes for local variables. Maximum is 2048 bytes.
"C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v  -patmega328p -carduino "-PCOM3" -b115200 -D "-Uflash:w:C:\Users\subordie\AppData\Local\Temp\arduino\sketches\46CAFA9B83CF56870918648311B40A68/sketch_jun11b.ino.hex:i"

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\subordie\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: ser_open(): can't set com-state for "\\.\COM3"

avrdude done.  Thank you.

Failed uploading: uploading error: exit status 1

What is this message its rare?

moderator edit: language

Hi @arduino_uno534

This "can't set com-state for ..." error occurs when uploading to the boards that use specific batches of the WCH CH340 USB chip. The problem only occurs when using the latest version of the CH340 driver.

The affected users have reported that doing a "roll back" to an older version of the driver was an effective workaround. You can give that a try.

I'll provide instructions you can follow to do that:

  1. Click the following link to download the previous version of the driver from the chip manufacturer's website:
    https://www.wch-ic.com/downloads/file/65.html?time=2023-03-16%2022:57:59
  2. Wait for the download to finish.
  3. Run the downloaded CH341SER.EXE file.
  4. A "User Account Control" dialog may now appear asking "Do you want to allow this app to make changes to your device?". Click the "Yes" button.
  5. A "DriverSetup(X64)" dialog will open. Click the "INSTALL" button in the dialog.
  6. Wait for the driver installation to finish, as indicated by the appearance of a "Driver install success!" dialog.
  7. Click the "OK" button in the "Driver install success!" dialog.
    The dialog will close.
  8. Click the X icon at the top right of the "DriverSetup(X64)" dialog
    The dialog will close.
  9. Close Arduino IDE if it is running.
  10. Connect the Arduino board to your computer with a USB cable.
  11. Open the Windows Device Manager.
  12. Select View > Devices by type from the Device Manager menus.
  13. Open the "View" menu.
  14. If there is a to the left of the "Show hidden devices" menu item, click on "Show hidden devices" to disable it.
  15. Open the "Ports (COM & LPT)" section of the Device Manager tree.
  16. You should see a port identified as "USB-SERIAL CH340 (COMn)" under the "Ports (COM & LPT)" section (where "COMn" is some serial port e.g., COM4). Double click on that item.
    The "USB-SERIAL CH340 (COMn) Properties" dialog will open.
  17. Select the "Driver" tab of the "USB-SERIAL CH340 (COMn) Properties" dialog.
  18. You will see a "Roll Back Driver" button in the dialog. If it is not clickable, perform the following instructions:
    1. Click the "Update driver" button.
      An "Update Drivers Device - USB-SERIAL CH340 (COMn)" dialog will open.
    2. Click on "Search automatically for drivers" in the "Update Drivers Device - USB-SERIAL CH340 (COMn)" dialog.
    3. You should now see the driver installation wizard update the driver. Wait for the update to finish, as indicated by the message "Windows has successfully updated your drivers" in the dialog.
      :exclamation: It is possible you will instead see the message "The best drivers are already installed". If so, please stop following the instructions here and reply on the forum thread to let me know. I'll provide alternative instructions you can follow.
    4. Click the "Close" button in the "Update Drivers Device - USB-SERIAL CH340 (COMn)" dialog.
      The dialog will close.
  19. Click the "Roll Back Driver" button in the "USB-SERIAL CH340 (COMn) Properties" dialog.
    The "Driver Package rollback" dialog will open.
  20. Click the radio button next to "My apps don't work with this driver" in the "Driver Package rollback" dialog .
  21. Click the "Yes" button.
    The "Driver Package rollback" dialog will close.
  22. Click the "Close" button in the "USB-SERIAL CH340 (COMn) Properties" dialog.

Now start Arduino IDE again and repeat whatever you were doing before when you encountered that error before. Hopefully this time you will not encounter that "can't set com-state" error during the sketch upload.

1 Like

As your topic does not relate directly to the installation or operation of the IDE it has been moved to the Programming Questions category of the forum

You are unlikely to get any help unless you post your sketch, using code tags when you do

In my experience the easiest way to tidy up the code and add the code tags is as follows
Start by tidying up your code by using Tools/Auto Format in the IDE to make it easier to read. Then use Edit/Copy for Forum and paste what was copied in a new reply. Code tags will have been added to the code to make it easy to read in the forum thus making it easier to provide help.

Not getting it anymore. I just updated it by device manager and it showed an errno like this.

I'm glad it is working now. Thank you for taking the time to post an update!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.