Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest Arduino (1.8.10) cannot program 32u4-based boards under Catalina (Rel. 10.15 Build 19A583) #9290

Closed
MarqueIV opened this issue Oct 7, 2019 · 107 comments
Assignees
Labels
32bit Deprecation Starting with macOS 10.15, 32-bit applications will not be supported Component: Uploading Uploading programs to an Arduino board OS: OSX Specific to the Mac OS X (macOS) version of the Arduino IDE Type: Bug

Comments

@MarqueIV
Copy link

MarqueIV commented Oct 7, 2019

Just downloaded and upgraded to the released version of macOS 10.5 Catalina (build 19A583) along with the latest official release of Arduino (1.8.10). I'm using an official (i.e. not a clone) Arduino Micro. Ever since doing so, I can not upload.

Here is the sketch...

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

int value = LOW;

void loop() {
  
  value = value == HIGH
    ? LOW
    : HIGH;
  
  digitalWrite(LED_BUILTIN, value); // turn the LED on (HIGH is the voltage level)
  delay(100);                       // wait
}

The app compiles, but as soon as the upload begins (the light 'breathes' on the device) I get the below.

Note: I also tried the cloud editor with the plugin (again, latest as of tonight) but that didn't work either. Those results are under these ones.

RESULTS FROM THE ARDUINO IDE:

Arduino: 1.8.10 (Mac OS X), Board: "Arduino/Genuino Micro"

/Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/marqueiv/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/marqueiv/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/marqueiv/Code/Arduino/libraries -fqbn=arduino:avr:micro -vid-pid=0X2341_0X8037 -ide-version=10810 -build-path /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795 -warnings=all -build-cache /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_cache_222239 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -verbose /Users/marqueiv/Desktop/DeleteMe/Blink/Blink.ino
/Applications/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/marqueiv/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/marqueiv/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/marqueiv/Code/Arduino/libraries -fqbn=arduino:avr:micro -vid-pid=0X2341_0X8037 -ide-version=10810 -build-path /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795 -warnings=all -build-cache /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_cache_222239 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/Applications/Arduino.app/Contents/Java/hardware/tools/avr -verbose /Users/marqueiv/Desktop/DeleteMe/Blink/Blink.ino
Using board 'micro' from platform in folder: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
Using core 'arduino' from platform in folder: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
Detecting libraries used...
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/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=atmega32u4 -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/variants/micro /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/sketch/Blink.ino.cpp -o /dev/null
Generating function prototypes...
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/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=atmega32u4 -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/variants/micro /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/sketch/Blink.ino.cpp -o /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/preproc/ctags_target_for_gcc_minus_e.cpp
/Applications/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino -I/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/variants/micro /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/sketch/Blink.ino.cpp -o /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/sketch/Blink.ino.cpp.o
Compiling libraries...
Compiling core...
Using precompiled core: /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_cache_222239/core/core_arduino_avr_micro_51f02b7210b938436b779d1c032618e1.a
Linking everything together...
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-gcc -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega32u4 -o /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/Blink.ino.elf /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/sketch/Blink.ino.cpp.o /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/../arduino_cache_222239/core/core_arduino_avr_micro_51f02b7210b938436b779d1c032618e1.a -L/var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795 -lm
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/Blink.ino.elf /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/Blink.ino.eep
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/Blink.ino.elf /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/Blink.ino.hex
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-size -A /var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/Blink.ino.elf
Sketch uses 3960 bytes (13%) of program storage space. Maximum is 28672 bytes.
Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.
Forcing reset using 1200bps open/close on port /dev/cu.usbmodem141401
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/cu.usbmodem141401, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, /dev/tty.usbmodem141401, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/cu.usbmodem141401, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, /dev/tty.usbmodem141401, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/cu.usbmodem141401, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, /dev/tty.usbmodem141401, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.MALS, /dev/cu.SOC, /dev/cu.usbmodem141401, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.MALS, /dev/tty.SOC, /dev/tty.usbmodem141401, } => {/dev/cu.usbmodem141401, /dev/tty.usbmodem141401, }
Found upload port: /dev/cu.usbmodem141401
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/cu.usbmodem141401 -b57600 -D -Uflash:w:/var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino_build_144795/Blink.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 "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/marqueiv/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem141401
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding

avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_drain(): read error: Device not configured
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = "#!����"; type = �
    Software Version = �.�; Hardware Version = �.�
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
the selected serial port avrdude: butterfly_recv(): programmer is not responding
 does not exist or your board is not connected
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: ser_close(): can't reset attributes for device: Device not configured

avrdude done.  Thank you.

RESULTS FROM THE ARDUINO WEB EDITOR:

/home/builder/opt/arduino-builder/arduino-builder -compile -core-api-version 10611 -hardware /home/builder/opt/arduino-builder/hardware -hardware /home/builder/.arduino15/packages -tools /home/builder/opt/arduino-builder/tools -tools /home/builder/.arduino15/packages -built-in-libraries /home/builder/opt/libraries/latest -logger humantags -fqbn arduino:avr:micro -build-cache /tmp -build-path /tmp/540981516/build -verbose -prefs runtime.tools.CMSIS-Atmel.path=/home/builder/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0 -prefs runtime.tools.CMSIS.path=/home/builder/.arduino15/packages/arduino/tools/CMSIS/4.5.0 -prefs runtime.tools.x86-linux-gcc.path=/home/builder/.arduino15/packages/arduino/tools/x86-linux-gcc/7.2.0 -prefs runtime.tools.bossac.path=/home/builder/.arduino15/packages/industruino/tools/bossac/1.7.0-industruino -prefs runtime.tools.arm-linux-gcc.path=/home/builder/.arduino15/packages/arduino/tools/arm-linux-gcc/4.9.3 -prefs runtime.tools.arm-none-eabi-gcc.path=/home/builder/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4 -prefs runtime.tools.mkspiffs.path=/home/builder/.arduino15/packages/esp8266/tools/mkspiffs/2.5.0-3-20ed2b9 -prefs runtime.tools.dfu-util.path=/home/builder/.arduino15/packages/arduino/tools/dfu-util/0.9.0-arduino1 -prefs runtime.tools.linuxuploader.path=/home/builder/.arduino15/packages/arduino/tools/linuxuploader/1.5.1 -prefs runtime.tools.avr-gcc.path=/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2 -prefs runtime.tools.i586-poky-linux-uclibc.path=/home/builder/.arduino15/packages/Intel/tools/i586-poky-linux-uclibc/1.6.2+1.0 -prefs runtime.tools.core2-32-poky-linux.path=/home/builder/.arduino15/packages/Intel/tools/core2-32-poky-linux/1.6.2+1.0 -prefs runtime.tools.esptool.path=/home/builder/.arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9 -prefs runtime.tools.xtensa-lx106-elf-gcc.path=/home/builder/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9 -prefs runtime.tools.nrf5x-cl-tools.path=/home/builder/.arduino15/packages/arduino/tools/nrf5x-cl-tools/9.3.1 -prefs runtime.tools.openocd.path=/home/builder/.arduino15/packages/Intel/tools/openocd/0.9.0+0.1 -prefs runtime.tools.avrdude.path=/home/builder/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14 -prefs runtime.tools.arduinoOTA.path=/home/builder/.arduino15/packages/arduino/tools/arduinoOTA/1.2.1 -prefs runtime.tools.flashpack.path=/home/builder/.arduino15/packages/Intel/tools/flashpack/2.0.0 -prefs runtime.tools.sketchUploader.path=/home/builder/.arduino15/packages/Intel/tools/sketchUploader/1.6.2+1.0 -prefs runtime.tools.arc-elf32.path=/home/builder/.arduino15/packages/Intel/tools/arc-elf32/1.6.9+1.0.1 -prefs runtime.tools.arduino101load.path=/home/builder/.arduino15/packages/Intel/tools/arduino101load/2.0.1 -libraries /tmp/540981516/custom -libraries /tmp/540981516/pinned /tmp/540981516/Simple_Playground

Using board 'micro' from platform in folder: /home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23

Using core 'arduino' from platform in folder: /home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23

Detecting libraries used...

/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/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=atmega32u4 -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23/cores/arduino -I/home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23/variants/micro /tmp/540981516/build/sketch/Simple_Playground.ino.cpp -o /dev/null

Generating function prototypes...

/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/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=atmega32u4 -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23/cores/arduino -I/home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23/variants/micro /tmp/540981516/build/sketch/Simple_Playground.ino.cpp -o /tmp/540981516/build/preproc/ctags_target_for_gcc_minus_e.cpp

/home/builder/opt/arduino-builder/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/540981516/build/preproc/ctags_target_for_gcc_minus_e.cpp

Compiling sketch...

/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/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=atmega32u4 -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23/cores/arduino -I/home/builder/.arduino15/packages/arduino/hardware/avr/1.6.23/variants/micro /tmp/540981516/build/sketch/Simple_Playground.ino.cpp -o /tmp/540981516/build/sketch/Simple_Playground.ino.cpp.o

Compiling libraries...

Compiling core...

Using precompiled core: /tmp/core/core_arduino_avr_micro_f73f8035d4928006c181f54a2aa5f0b0.a

Linking everything together...

/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/bin/avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega32u4 -o /tmp/540981516/build/Simple_Playground.ino.elf /tmp/540981516/build/sketch/Simple_Playground.ino.cpp.o /tmp/540981516/build/../../core/core_arduino_avr_micro_f73f8035d4928006c181f54a2aa5f0b0.a -L/tmp/540981516/build -lm

/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/540981516/build/Simple_Playground.ino.elf /tmp/540981516/build/Simple_Playground.ino.eep

/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/bin/avr-objcopy -O ihex -R .eeprom /tmp/540981516/build/Simple_Playground.ino.elf /tmp/540981516/build/Simple_Playground.ino.hex

/home/builder/.arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/bin/avr-size -A /tmp/540981516/build/Simple_Playground.ino.elf

Sketch uses 4150 bytes (14%) of program storage space. Maximum is 28672 bytes.

Global variables use 151 bytes (5%) of dynamic memory, leaving 2409 bytes for local variables. Maximum is 2560 bytes.

Programming with: Serial

Restarting in bootloader mode

Get port list before reset

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/cu.usbmodem141401 /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC /dev/tty.usbmodem141401]

Touching port /dev/cu.usbmodem141401 at 1200bps

Set DTR off

Wait for the port to disappear

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/cu.usbmodem141401 /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC /dev/tty.usbmodem141401] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

Wait for the port to reappear

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC]

[/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC] -> [/dev/cu.Bluetooth-Incoming-Port /dev/cu.MALS /dev/cu.SOC /dev/cu.usbmodem141401 /dev/tty.Bluetooth-Incoming-Port /dev/tty.MALS /dev/tty.SOC /dev/tty.usbmodem141401]

Found upload port: /dev/tty.usbmodem141401

Flashing with command:/Users/marqueiv/.arduino-create/arduino/avrdude/6.3.0-arduino14/bin/avrdude -C/Users/marqueiv/.arduino-create/arduino/avrdude/6.3.0-arduino14/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/tty.usbmodem141401 -b57600 -D -Uflash:w:/var/folders/xf/2rw7xdq95hl5lctcbjv39w9r0000gn/T/arduino-create-agent151286532/Simple_Playground.hex:i
@facchinm
Copy link
Member

facchinm commented Oct 7, 2019

It looks like Create is using an old version of avrdude /Users/marqueiv/.arduino-create/arduino/avrdude/6.3.0-arduino14/bin/avrdude.
The Catalina compatible ones are 6.3.0-arduino16 and 6.3.0-arduino17 which you get with AVR core 1.8.1 (bundled in IDE 1.8.10) . May you also paste the verbose output of the IDE upload phase?

@facchinm facchinm added 32bit Deprecation Starting with macOS 10.15, 32-bit applications will not be supported Component: Uploading Uploading programs to an Arduino board OS: OSX Specific to the Mac OS X (macOS) version of the Arduino IDE Type: Bug labels Oct 7, 2019
@MarqueIV
Copy link
Author

MarqueIV commented Oct 7, 2019

I believe it's above (the first code block). The second one was the cloud editor's output. Lemme make the separation more clear...

@facchinm
Copy link
Member

facchinm commented Oct 7, 2019

Ok, great. I may have an idea: it looks like the port reappears with the same name after the 1200bps touch (/dev/tty.usbmodem141401) .
For some reasons maybe the bootloader is not getting recognized as a correct CDC device and the upload starts when the timeout is reached and the sketch restarted.

You may try to keep the board in bootloader mode by pressing the reset button "often" (once every 5 seconds), make sure the LED is fading, check in the meantime if the port is recognized by the OS.

Probably @gvarisco knows some dmesg-like command that can help understanding what is going on.

Thanks!

@MarqueIV
Copy link
Author

MarqueIV commented Oct 7, 2019

No, the button just kicks you right out with an error. Damn. Well I do have a Windows VM which I'm gonna try to see if that works. Fingers crossed! Otherwise I'm DOA!

@CSab80
Copy link

CSab80 commented Oct 8, 2019

Hello,
Same problem here with Arduino 18.1.11 and Catalina final.
For me, Arduino Leonardo is concerned.
But, with Windows 7 VM via Parallels Desktop, there is no problem...
By the way, the D13 LED smoothly blinks before the error that's mean there is a communication.
Regards,
Cyril

@MarqueIV
Copy link
Author

MarqueIV commented Oct 9, 2019

Just confirmed my version of macOS is the released version, so this is going to be a critical issue for Mac users as now there's no viable Arduino solution for them short of installing Windows. Not optimal at all!

@gvarisco
Copy link
Contributor

gvarisco commented Oct 9, 2019

We're on it, @MarqueIV. We'll get back to you all once we are done with our findings.

@MarqueIV
Copy link
Author

MarqueIV commented Oct 9, 2019

Sorry. Just whining because I'm now cut off from one of my most favorite toys! :)

@MarqueIV MarqueIV changed the title Latest Arduino (1.8.10) does not work under the Catalina GM (10.15 Beta 19A582a) Latest Arduino (1.8.10) does not work under the final Catalina release (10.15 Build 19A583) Oct 9, 2019
@nooges
Copy link

nooges commented Oct 11, 2019

I've run into the same issue like @facchinm observed with the 1200 baud touch not doing anything and noted it here: qmk/qmk_firmware#6133 (comment)

I'm seeing mctl RS232_S_OUTPUTS failed when I check things in dmesg.

@d53dave
Copy link

d53dave commented Oct 11, 2019

I'm seeing the exact same behavior, unfortunately. Tried replacing the avrdude executable and .conf with a newer one built today and available in Homebrew - same output.

@dlwalter
Copy link

I am seeing this as well with the 1.9.x beta on Catalina.

@jmiguelff
Copy link

Same issue... Looks like an issue with AVRDude trying to communicate with the serial interface? Trying to update a project to Arduino Leonardo using macOS Catalina 10.15.
Just another hint, the "Get Board Info" functionality works...

@MicroHydroMan
Copy link

Have not been around Arduino in some time, just trying to get back into a sketch - turbine control application I wrote a few years ago. "User configuration file does not exist... " when I upload the simplest sketch. Mac OS 10.15, Arduino 1.8.10.
I broke out the old Powerbook G4 OS 10.4.11 Arduino 1.0.6 where the original sketch was developed, compiled and uploaded successfully years ago. Now any upload attempts end with
" avrdude: stk500_getsync(): not in sync: resp=0x30"
What is going on? It used to be easy. Please help me get started again.

@Pimvandermeer
Copy link

For those who don't want to downgrade their OS but still want to continue with Arduino IDE workaround is installing a windows VM.

@gvarisco
Copy link
Contributor

We're very sorry this is happening, looks like macOS Catalina update broke the bootloader recognition for atmega32u4-based Arduino boards. We've filled a case (FB7376052 for reference) with Apple and we hope to hear back from them as this is impacting lot of users.

@CSab80
Copy link

CSab80 commented Oct 13, 2019

We're very sorry this is happening, looks like macOS Catalina update broke the bootloader recognition for atmega32u4-based Arduino boards. We've filled a case (FB7376052 for reference) with Apple and we hope to hear back from them as this is impacting lot of users.

Hello,
Thank you very much for your feedback. We'll gonna be patient.
By the way, and only for my curiosity, why upload works via a VM ?
Regards,
Cyril

@MarqueIV
Copy link
Author

MarqueIV commented Oct 15, 2019

By the way, and only for my curiosity, why upload works via a VM ?

Are you saying they work when Catalina is run under a VM? That would be interesting.

However if you're asking why, as others have stated, you can do this under a VM running Windows or even earlier versions of macOS, it's because exactly of that... those are different OS versions. The issue is with Catalina, not the computer or the Arduino.

@w-A-L-L-e
Copy link

same here, confirm that update to Catalina breaks avrdude flashing to arduino leonardo and any clones using catherina bootloader.

@CSab80
Copy link

CSab80 commented Oct 15, 2019

By the way, and only for my curiosity, why upload works via a VM ?

Are you saying they work when Catalina is run under a VM? That would be interesting.

However if you're asking why, as others have stated, you can do this under a VM running Windows or even earlier versions of macOS, it's because exactly of that... those are different OS versions. The issue is with Catalina, not the computer or the Arduino.

No, that's not what I want to say... :-) Sorry...

Correct sentence is : With Windows 7 running under Parallels Desktop, Arduino IDE uplaod to Leonardo works correctly. Which means that Catalina is totaly "clear" and without control about the USB software layer used by Parallels Desktop ?

By the way, the last Catalina update (macOS 10.15 (19A602), 19.10.15) doesn't change anything.

Regards,

Cyril

@w-A-L-L-e
Copy link

The issue is indeed with catalina. It works on my same laptop with triple boot : the windows and linux installed on it still flash .hex files perfectly with avrdude. Only macos catalina is broken. Other things broken: mini display ports no longer support higher resolutions anymore (for instance external monitor used to be able to do 3840x2160 both with hdmi and display port on mojave. after catelina update the higher resolution only works on the big hdmi port. But no longer on the mini ports they now fall back to 1920x1024) So basically a lot of stuff is now broken on Catalina, wished I stayed on Mojave now...

@metroyanno
Copy link

metroyanno commented Oct 16, 2019

Have the same issue. And that happened after the update. Tried to connect other serial devices or redirect to Parallels Desktop on Windows, unsuccessfully. I suppose that the reason in OS X

@bdelapen
Copy link

Thank you @w-A-L-L-e

OK, Here is where I am at. I remember now that I failed to burn the anykey bootloader with the following error (this was happening when I just replaced the A-Star hex file with the renamed anykey hex file):

Arduino: 1.8.10 (Mac OS X), Board: "Pololu A-Star 32U4"

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xc8:m -Uhfuse:w:0xd0:m -Ulfuse:w:0xff:m 

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 "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/bdelapen/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cusbasp -Pusb -Uflash:w:/Users/bdelapen/Library/Arduino15/packages/pololu-a-star/hardware/avr/4.0.2/bootloaders/caterina/Caterina-A-Star.hex:i -Ulock:w:0x2F:m 

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 "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/bdelapen/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xc8"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xc8:
avrdude: load data efuse data from input file 0xc8:
avrdude: input file 0xc8 contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xd0"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd0:
avrdude: load data hfuse data from input file 0xd0:
avrdude: input file 0xd0 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xff:
avrdude: load data lfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "/Users/bdelapen/Library/Arduino15/packages/pololu-a-star/hardware/avr/4.0.2/bootloaders/caterina/Caterina-A-Star.hex"
avrdude: invalid record at line 677 of "/Users/bdelapen/Library/Arduino15/packages/pololu-a-star/hardware/avr/4.0.2/bootloaders/caterina/Caterina-A-Star.hex"
avrdude: read from file '/Users/bdelapen/Library/Arduino15/packages/pololu-a-star/hardware/avr/4.0.2/bootloaders/caterina/Caterina-A-Star.hex' failed

avrdude done.  Thank you.

Error while burning bootloader.

So I edited the boards.txt file and added the entries provided in boards_example.txt (above), created the corresponding directory and dropped the anykey bootloaded in it. When I try to burn that bootloader I get the following error:

Arduino: 1.8.10 (Mac OS X), Board: "AnyKey"

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xcb:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m 

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 "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/bdelapen/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cusbasp -Pusb -Uflash:w:/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/anykey/anykey_bootloader.hex:i -Ulock:w:0x2F:m 

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 "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/bdelapen/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xcb"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xcb:
avrdude: load data efuse data from input file 0xcb:
avrdude: input file 0xcb contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xd8"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd8:
avrdude: load data hfuse data from input file 0xd8:
avrdude: input file 0xd8 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xff:
avrdude: load data lfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/anykey/anykey_bootloader.hex"
avrdude: invalid record at line 677 of "/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/anykey/anykey_bootloader.hex"
avrdude: read from file '/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/anykey/anykey_bootloader.hex' failed

avrdude done.  Thank you.

Error while burning bootloader.

Thanks for looking at this, additional feedback would be greatly appreciated.

@bdelapen
Copy link

One more thing in case it helps, here is the boards.txt entry for the Pololu A-Star 32U4:

a-star32U4.name=Pololu A-Star 32U4
a-star32U4.vid.0=0x1ffb
a-star32U4.pid.0=0x0101
a-star32U4.vid.1=0x1ffb
a-star32U4.pid.1=0x2300
a-star32U4.upload.tool=arduino:avrdude
a-star32U4.upload.protocol=avr109
a-star32U4.upload.maximum_size=28672
a-star32U4.upload.maximum_data_size=2560
a-star32U4.upload.speed=57600
a-star32U4.upload.disable_flushing=true
a-star32U4.upload.use_1200bps_touch=true
a-star32U4.upload.wait_for_upload_port=true

a-star32U4.bootloader.tool=arduino:avrdude
a-star32U4.bootloader.low_fuses=0xff
a-star32U4.bootloader.high_fuses=0xd0
a-star32U4.bootloader.extended_fuses=0xc8
a-star32U4.bootloader.file=caterina/Caterina-A-Star.hex
a-star32U4.bootloader.unlock_bits=0x3F
a-star32U4.bootloader.lock_bits=0x2F

a-star32U4.build.mcu=atmega32u4
a-star32U4.build.f_cpu=16000000L
a-star32U4.build.vid=0x1ffb
a-star32U4.build.pid=0x2300
a-star32U4.build.usb_product="Pololu A-Star 32U4"
a-star32U4.build.usb_manufacturer="Pololu Corporation"
a-star32U4.build.board=AVR_A_STAR_32U4
a-star32U4.build.core=arduino:arduino
a-star32U4.build.variant=arduino:leonardo
a-star32U4.build.extra_flags={build.usb_flags}

@JeffreySung
Copy link

After struggling with 0 documentation, I've managed to compile a bootloader for Feather32u4 board with patch from #9290 (comment). Amazingly this works like a charm on macos Catalina now. Flashing any code now goes without a problem:

Patched Caterina-Feather32u4.hex.zip

Compressed instructions to compiling a bootloader on macos (assuming patch already applied):

Standard warning: Here be dragons, RTFM, use with caution, your mileage may vary and not my responsibility.

1. Install Arduino IDE and download board files from "Boards Manager"
2. Download untainted LUFA-111009 (i.e. from https://github.com/reeedstudio/Seeed32U4Bootloader) and put it under ~/Library/Arduino15/packages/LUFA
3. Open ~/Library/Arduino15/packages/adafruit/hardware/avr/1.4.13/boards.txt
4. Locate section for your board and take a note of "build.board", "build.f_cpu", "build.vid" and "build.pid"
5. $ brew tap osx-cross/avr && brew install avr-gcc@4
6. $ export PATH="/usr/local/opt/avr-gcc@4/bin:$PATH"
7. $ cd ~/Library/Arduino15/packages/adafruit/hardware/avr/1.4.13/bootloaders/caterina
8. $ make clean && make BOARD=${build.board} F_CPU=${build.f_cpu} VID=${build.vid} PID=${build.pid} all
9. cp Caterina.hex %your_board_hex_file%.hex
10. Can do Burn Bootloader via Arduino IDE

Sorry for my short knowledge. I read all but I'm still confused. This compiled new boot loader should be burn in another system.
Not from macOS Catalina. This boot loader change is for next firmware upload in Catalina.

Do I understand right ?

@Slyracoon23
Copy link

I have a similar problem with LilyPad Arduino USB. This may also be an addition to the problem with my macOS Catalina.

Arduino: 1.8.10 (Mac OS X), Board: "LilyPad Arduino USB"

Sketch uses 4960 bytes (17%) of program storage space. Maximum is 28672 bytes.
Global variables use 352 bytes (13%) of dynamic memory, leaving 2208 bytes for local variables. Maximum is 2560 bytes.
Forcing reset using 1200bps open/close on port /dev/cu.usbmodemHIDFG1
PORTS {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/cu.usbmodemHIDFG1, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, /dev/tty.usbmodemHIDFG1, } / {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/cu.usbmodemHIDFG1, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, /dev/tty.usbmodemHIDFG1, } => {}
PORTS {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/cu.usbmodemHIDFG1, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, /dev/tty.usbmodemHIDFG1, } / {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, } => {}
PORTS {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, } / {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, } => {}
PORTS {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, } / {/dev/cu.BeatsPill-SPPDev, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseFreeSoundSport-SPPD-6, /dev/cu.HighNote-SPPDev-2, /dev/cu.usbmodem14301, /dev/tty.BeatsPill-SPPDev, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.BoseFreeSoundSport-SPPD-6, /dev/tty.HighNote-SPPDev-2, /dev/tty.usbmodem14301, } => {/dev/cu.usbmodem14301, /dev/tty.usbmodem14301, }
Found upload port: /dev/cu.usbmodem14301
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/cu.usbmodem14301 -b57600 -D -Uflash:w:/var/folders/x2/f05scbkd6znbgzkrvw7dpnvh0000gn/T/arduino_build_504648/esp8266Programmer.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 "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/earlpotters/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem14301
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding

avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_drain(): read error: Device not configured
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = "������"; type = �
    Software Version = �.�; Hardware Version = �.�
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: ser_close(): can't reset attributes for device: Device not configured

avrdude done.  Thank you.

the selected serial port 
 does not exist or your board is not connected

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

@bdelapen
Copy link

I found a solution to the bootloader for Pololu 32u4 based boards. Pololu has posted an experimental version of their bootloader updated for Mac OS 10.15.1 here:

https://www.pololu.com/docs/0J82

I tested this and it works fine. Thanks for the attention in this thread and hopefully this will help other people as well.

Thread reference in case anyone wants it is here: pololu/a-star#7

@harbaum
Copy link

harbaum commented Dec 3, 2019

The ftDuino's bootloader has also been updated according to the suggestions from this thread. Finally a MacOS user has confirmed that this indeed solved the problem. From now on ftDuino's will be equipped with this fixed bootloader by default.

The binary size of the bootloader increases by 22 bytes which still allows me to add my custom display init routine.

@nooges
Copy link

nooges commented Dec 9, 2019

Looks like things are working again with the recent 10.15.2 beta 4 released a few days ago.

@MarqueIV
Copy link
Author

Here’s a question... will the boards flashed with the ‘patched’ custom firmware work with the Arduino IDE normally with this latest change from Apple getting things ‘back to normal’, or will I have to re-flash them back again to the original bootloaders?

@akamensky
Copy link

I didn’t dig deep into this issue but my understanding is that it should work just as fine if Apple reverted their change.

@iicky
Copy link

iicky commented Dec 10, 2019

Looks like things are working again with the recent 10.15.2 beta 4 released a few days ago.

Can confirm, updating to Catalina 10.15.2. beta 4 solved all my upload problems. Thanks!

@chdominguez
Copy link

macOS 10.15.2 released. The issue is solved.

@Fauxil-Fox
Copy link

Updating solved my problems for about a few hours, however, they are seemingly back.

@dlwalter
Copy link

On 10.15.2 and have had no problems programming Leonardos now for 2 days.

@Fauxil-Fox
Copy link

Same exact issue as I was having pre-update. Not sure what could be causing it, particularly as it was working last night and I haven't changed anything (same port, dongle, cable, etc)

image

@unknowndomain
Copy link

unknowndomain commented Dec 11, 2019 via email

@Fauxil-Fox
Copy link

Yep, same exact error. Hangs for a good few seconds between each of the first few lines.

image

@Fauxil-Fox
Copy link

Well, it works fine on a fresh leonardo. Not sure what I did, but I somehow broke the one I had been playing with – sorry for the false alarm.

@unknowndomain
Copy link

unknowndomain commented Dec 11, 2019 via email

@w-A-L-L-e
Copy link

OMG did apple actually listen and fix it? One for the record ;)

@PaulStoffregen
Copy link
Contributor

They've listened before, you may be surprised to hear...

In the early days of Teensy, 3 years before Arduino made Leonardo, Apple's driver would not load if CDC ACM serial was combined with any other interfaces (like HID keyboard & mouse) in any way resembling the USB standard. But it would work if the USB device descriptor said the whole device was CDC, and then their HID drivers would recognize HID interfaces within that CDC device. So for years I published 2 versions of code with USB serial and also keyboard & mouse, a standards-conforming version with worked with Windows & Linux, and a non-standard one for Macintosh.

I and others begged Apple many times to fix this. At one point they even said the reason they couldn't do it was lack of access to a standards compliant device, so I sent them board with Teensy connected to some buttons which they used for testing. During the waiting period for release, an Apple engineer even answered a question about a horribly non-compliant Texas Instruments device with a copy of the USB descriptors from the demo device I sent them, as an example of what their future driver would expect.

MacOS 10.7 (Lion) was the first release with their CDC driver able to work together with HID interfaces. Not long after, Arduino started the Leonardo beta test and about a year later released Leonardo and then Micro. Leonardo never needed to work around those painful issues with Tiger, Leopard & Snow Leopard... because Apple really did listen and fix their drivers.

They also fixed a painful first-time issue where plugging in any microcontroller using CDC would trigger a GUI for adding a new modem. That's another long story with the same ending, Apple really did listen and improve their software.

I know it's easy to feel cynical about large corporations, but at least with regard to their CDC serial driver, Apple does have a history of listening to feedback.

@droarty
Copy link

droarty commented Jan 9, 2020

I am on MacOs 10.15.2, just installed the ArduinoCreateAgent-1.1-osx-installer-chrome. Uploading the blink sketch worked the first time I uploaded it to a new arduino uno but it threw the error:

Start command: fork/exec /Users/droarty/.arduino-create/arduino/avrdude/6.3.0-arduino14/bin/avrdude: bad CPU type in executable

and I cannot upload any changes to the timing of the blink program, it just throws the above error and the arduino uno blinks at the same rate as the original program, so nothing is working.

Any suggestions would be welcome.

@gvarisco
Copy link
Contributor

gvarisco commented Jan 9, 2020

Hi @droarty, please refer to arduino/arduino-create-agent#496 (comment). We'll be having a look at it once again shortly.

@gvarisco gvarisco closed this as completed Jan 9, 2020
@awsedr
Copy link

awsedr commented Jan 19, 2020

Hi everyone ,
I still can't program the Arduino 32u4
My PC and tool information as the follow.
MAC: Catalina 10.15.2(19C57)
Arduino IDE:1.8.10

Any suggestions would be welcome.
Thank you.

There is the error message:
Arduino: 1.8.10 (Mac OS X), Board: "Arduino Leonardo"

Sketch uses 3956 bytes (13%) of program storage space. Maximum is 28672 bytes.
Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.
Couldn't find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board's reset button after initiating the upload.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

@lesterlo
Copy link

I have this problem too.

I cannot use Arduino 1.8.12 to program 32u4. But Arduino 1.8.9 on Windows machine can upload the code.

You can short the RST pin to GND and release it during the uploading process.

@w-A-L-L-e
Copy link

With latest updates (Catalina 10.15.5), all patches for Catalina regarding bootloader can and should be reverted as the original bootloader now works again. It's even worse as we had a similar situation and patched our bootloader a few months ago only to have it break again one update later. Reverting to original unpatched bootloader fixed it for us and that works on windows 10, current catalina, mojave and high sierra.

@MingKoo
Copy link

MingKoo commented Aug 2, 2020

With latest updates (Catalina 10.15.5), all patches for Catalina regarding bootloader can and should be reverted as the original bootloader now works again. It's even worse as we had a similar situation and patched our bootloader a few months ago only to have it break again one update later. Reverting to original unpatched bootloader fixed it for us and that works on windows 10, current catalina, mojave and high sierra.

Really???

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
32bit Deprecation Starting with macOS 10.15, 32-bit applications will not be supported Component: Uploading Uploading programs to an Arduino board OS: OSX Specific to the Mac OS X (macOS) version of the Arduino IDE Type: Bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.