Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SerialUpload: skip first sleep on MacOS Catalina #9303

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

Closed
facchinm wants to merge 1 commit into arduino:master from facchinm:osx_32u4_upload

Conversation

Copy link
Member

@facchinm facchinm commented Oct 10, 2019
edited
Loading

From log analysis (I don't have a Mac with Catalina yet for testing in real life) is appears that:

  • bootloader is triggered via 1200bps touch
  • the bootloader portname is the same as sketch one
  • the transition is very fast (if it exist at all)

Removing the first sleep after the touch could allow the IDE to recognize port disappearance .

Could fix #9290 and #8626

@gvarisco

@facchinm facchinm added OS: OSX Specific to the Mac OS X (macOS) version of the Arduino IDE USB: CDC serial Serial interface used by MCUs with native USB (e.g. Leonardo) to communicate with the computer labels Oct 10, 2019
Copy link

fubyo commented Oct 10, 2019

Just checked the following build with a Pro Micro on Catalina (10.15)

⬇️ http://downloads.arduino.cc/javaide/pull_requests/arduino-PR-9303-BUILD-899-macosx.zip

I could not upload any sketches. Still getting

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_recv(): read error: Device not configured

etc.

Copy link

CSab80 commented Oct 10, 2019

Hi,
Still the same problem with Leonardo and Catalina Final.
No problem with Nano (as the last build).
Regards.

Copy link

not worked Leonardo and Catalina Final
`Arduino: 1.8.11 (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.

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
the selected serial port Software Version = �.�; Hardware Version = �.�
does not exist or your board is not connected
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

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

Copy link

Arduino: 1.8.11 (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.
Forcing reset using 1200bps open/close on port /dev/cu.usbmodem14201
PORTS {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.usbmodem14201, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.usbmodem14201, /dev/tty.zixiPhone6-WirelessiAP, } / {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.usbmodem14201, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.usbmodem14201, /dev/tty.zixiPhone6-WirelessiAP, } => {}
PORTS {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.usbmodem14201, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.usbmodem14201, /dev/tty.zixiPhone6-WirelessiAP, } / {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.usbmodem14201, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.usbmodem14201, /dev/tty.zixiPhone6-WirelessiAP, } => {}
PORTS {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.usbmodem14201, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.usbmodem14201, /dev/tty.zixiPhone6-WirelessiAP, } / {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.zixiPhone6-WirelessiAP, } => {}
PORTS {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.zixiPhone6-WirelessiAP, } / {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.zixiPhone6-WirelessiAP, } => {}
PORTS {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.zixiPhone6-WirelessiAP, } / {/dev/cu.AirPods-WirelessiAP-1, /dev/cu.Bluetooth-Incoming-Port, /dev/cu.EV3-SerialPort, /dev/cu.usbmodem14201, /dev/cu.zixiPhone6-WirelessiAP, /dev/tty.AirPods-WirelessiAP-1, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.EV3-SerialPort, /dev/tty.usbmodem14201, /dev/tty.zixiPhone6-WirelessiAP, } => {/dev/cu.usbmodem14201, /dev/tty.usbmodem14201, }
Found upload port: /dev/cu.usbmodem14201
/Users/zix/Downloads/Arduino 2.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Users/zix/Downloads/Arduino 2.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/cu.usbmodem14201 -b57600 -D -Uflash:w:/var/folders/5f/0grbdtvn327_mtf2gtjcnp7c0000gn/T/arduino_build_405762/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 "/Users/zix/Downloads/Arduino 2.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
 User configuration file is "/Users/zix/.avrduderc"
 User configuration file does not exist or is not a regular file, skipping
 Using Port : /dev/cu.usbmodem14201
 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 = "XQ����"; type = �
Software Version = �.�; Hardware Version = �.�
avrdude: ser_send(): write error: Device not configured
the selected serial port Software Version = �.�; Hardware Version = �.�
does not exist or your board is not connected
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.

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

Copy link

w-A-L-L-e commented Oct 14, 2019
edited
Loading

Confirm, everything worked fine on mojave, but on catelina flashing with avrdude is broken now.
Even doing it manually with last version of avrdude 6.3 compiled freshly from sources on catalina results in same error:

Flashing main.hex to /dev/cu.usbmodem14101
Connecting to programmer: .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_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.

Device resets just fine and before reset it's /dev/cu.usbmodemC1 and after toggling reset with 1200bps touch it becomes /dev/cu.usbmodem14101 (same behaviour as on mojave or sierra or other os'es). But after this communication is broken and avrdude does not start writing the hex file. On Sierra, High Sierra and Mojave this issue was not present. It's clearly introduced after the Catelina upgrade on Mac OS (same .hex file, same flashing scripts...) . Temporary switching to linux or windows so that everything works again. f*ing apple is seriously losing it's coolness now that jobs is gone... I can however confirm using an arduino as an isp still works. So it's the leonardo bootloader itself 'Caterina' that's not getting along with 'Catalina' ;)

Copy link
Member Author

Closing since this wasn't the actual problem. See #9290 (comment) for a working fix

scofano reacted with thumbs up emoji

@facchinm facchinm deleted the osx_32u4_upload branch October 16, 2019 15:32
Copy link

@facchinm your workaround and patch for caterina bootloader is much appreciated!

@per1234 per1234 added Type: Invalid Off topic for this repository, or a bug report determined to not actually represent a bug Component: Uploading Uploading programs to an Arduino board labels Sep 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
Component: Uploading Uploading programs to an Arduino board OS: OSX Specific to the Mac OS X (macOS) version of the Arduino IDE Type: Invalid Off topic for this repository, or a bug report determined to not actually represent a bug USB: CDC serial Serial interface used by MCUs with native USB (e.g. Leonardo) to communicate with the computer
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

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

AltStyle によって変換されたページ (->オリジナル) /