arduino / arduino-cli

Arduino command line tool
https://arduino.github.io/arduino-cli/latest/
GNU General Public License v3.0
4.35k stars 379 forks source link

`UploadResult#updated_upload_port` might be missing from the `UploadResponse` #2287

Closed kittaakos closed 1 year ago

kittaakos commented 1 year ago

Describe the problem

During the upload to a board, the port might change. After https://github.com/arduino/arduino-cli/pull/2253, the CLI can detect it and provide this information to clients. As requested at https://github.com/arduino/arduino-cli/pull/2253#pullrequestreview-1568769445, the upload port must always be set whether it has changed or not. Sometimes it's missing.

To reproduce

I could reproduce when the port was missing using the command line way of the CLI:

./arduino-cli version
arduino-cli  Version: 0.34.0 Commit: 304d48cd Date: 2023-08-22T15:54:20Z
cat ~/Documents/Arduino/minimal/minimal.ino 
void setup() {}
void loop() {}
./arduino-cli board list 
Port                            Protocol Type              Board Name          FQBN                        Core             
/dev/cu.BLTH                    serial   Serial Port       Unknown                                                          
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown                                                          
/dev/cu.usbmodem14201           serial   Serial Port (USB) Arduino MKR1000     arduino:samd:mkr1000        arduino:samd     
/dev/cu.usbmodem14301           serial   Serial Port (USB) Arduino Uno         arduino:avr:uno             arduino:avr      
/dev/cu.usbmodem5               serial   Serial Port (USB) Arduino Nano 33 BLE arduino:mbed_nano:nano33ble arduino:mbed_nano
./arduino-cli compile -b arduino:mbed_nano:nano33ble ~/Documents/Arduino/minimal
Sketch uses 84080 bytes (8%) of program storage space. Maximum is 983040 bytes.
Global variables use 43968 bytes (16%) of dynamic memory, leaving 218176 bytes for local variables. Maximum is 262144 bytes.

Used platform     Version Path                                                                      
arduino:mbed_nano 4.0.4   /Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_nano/4.0.4

🐛 It fails with Arduino Nano 33 BLE:

./arduino-cli upload -b arduino:mbed_nano:nano33ble -p /dev/cu.usbmodem5 ~/Documents/Arduino/minimal --format json
{
  "stdout": "Device       : nRF52840-QIAA\nVersion      : Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nAddress      : 0x0\nPages        : 256\nPage Size    : 4096 bytes\nTotal Size   : 1024KB\nPlanes       : 1\nLock Regions : 0\nLocked       : none\nSecurity     : false\nErase flash\n\nDone in 0.001 seconds\nWrite 84088 bytes to flash (21 pages)\n\r[                              ] 0% (0/21 pages)\r[=                             ] 4% (1/21 pages)\r[==                            ] 9% (2/21 pages)\r[====                          ] 14% (3/21 pages)\r[=====                         ] 19% (4/21 pages)\r[=======                       ] 23% (5/21 pages)\r[========                      ] 28% (6/21 pages)\r[==========                    ] 33% (7/21 pages)\r[===========                   ] 38% (8/21 pages)\r[============                  ] 42% (9/21 pages)\r[==============                ] 47% (10/21 pages)\r[===============               ] 52% (11/21 pages)\r[=================             ] 57% (12/21 pages)\r[==================            ] 61% (13/21 pages)\r[====================          ] 66% (14/21 pages)\r[=====================         ] 71% (15/21 pages)\r[======================        ] 76% (16/21 pages)\r[========================      ] 80% (17/21 pages)\r[=========================     ] 85% (18/21 pages)\r[===========================   ] 90% (19/21 pages)\r[============================  ] 95% (20/21 pages)\r[==============================] 100% (21/21 pages)\nDone in 3.335 seconds\n",
  "stderr": ""
}
./arduino-cli compile -b arduino:avr:uno ~/Documents/Arduino/minimal
Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.

Used platform Version Path                                                                
arduino:avr   1.8.6   /Users/a.kitta/Library/Arduino15/packages/arduino/hardware/avr/1.8.6

✅ It works with Arduino Uno:

./arduino-cli upload -b arduino:avr:uno -p /dev/cu.usbmodem14301 ~/Documents/Arduino/minimal --format json
{
  "stdout": "",
  "stderr": "",
  "updated_upload_port": {
    "address": "/dev/cu.usbmodem14301",
    "label": "/dev/cu.usbmodem14301",
    "protocol": "serial",
    "protocol_label": "Serial Port (USB)",
    "properties": {
      "pid": "0x0043",
      "serialNumber": "75830303934351618212",
      "vid": "0x2341"
    },
    "hardware_id": "75830303934351618212"
  }
}

Expected behavior

updated_upload_port is always part of the response.

Arduino CLI version

0.34.0

Operating system

macOS

Operating system version

13.5

Additional context

I ran into a runtime error in IDE2. I am on a branch and working on new things. Hence, the breaking change can be IDE2. During debugging, I've seen partial Port objects with only the protocol and address properties via gRPC. The two things could be unrelated. However, the upload response was: {} log suggests the missing UploadResult message from the response.

2023-08-30T12:19:14.292Z root ERROR Request upload failed with error: Could not detect the port after the upload. Upload options were: {"sketch":{"name":"monitor3","uri":"file:///Users/a.kitta/Documents/Arduino/monitor3","mainFileUri":"file:///Users/a.kitta/Documents/Arduino/monitor3/monitor3.ino","otherSketchFileUris":[],"additionalFileUris":[],"rootFolderFileUris":[],"mtimeMs":1690878810006.6304},"fqbn":"arduino:mbed_nano:nano33ble","port":{"address":"/dev/cu.usbmodem14101","addressLabel":"/dev/cu.usbmodem14101","protocol":"serial","protocolLabel":"Serial Port (USB)","properties":{"pid":"0x805A","serialNumber":"131B9378799A643D","vid":"0x2341"},"hardwareId":"131B9378799A643D"},"verbose":true,"verify":false,"userFields":[],"progressId":"kba84zgl-6"}, upload response was: {} Error: Could not detect the port after the upload. Upload options were: {"sketch":{"name":"monitor3","uri":"file:///Users/a.kitta/Documents/Arduino/monitor3","mainFileUri":"file:///Users/a.kitta/Documents/Arduino/monitor3/monitor3.ino","otherSketchFileUris":[],"additionalFileUris":[],"rootFolderFileUris":[],"mtimeMs":1690878810006.6304},"fqbn":"arduino:mbed_nano:nano33ble","port":{"address":"/dev/cu.usbmodem14101","addressLabel":"/dev/cu.usbmodem14101","protocol":"serial","protocolLabel":"Serial Port (USB)","properties":{"pid":"0x805A","serialNumber":"131B9378799A643D","vid":"0x2341"},"hardwareId":"131B9378799A643D"},"verbose":true,"verify":false,"userFields":[],"progressId":"kba84zgl-6"}, upload response was: {}
    at CoreServiceImpl.upload (/Users/a.kitta/dev/git/arduino-ide/arduino-ide-extension/lib/node/core-service-impl.js:165:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async RpcProxyFactory.onRequest (/Users/a.kitta/dev/git/arduino-ide/node_modules/@theia/core/lib/common/messaging/proxy-factory.js:134:24)
    at async RpcProtocol.handleRequest (/Users/a.kitta/dev/git/arduino-ide/node_modules/@theia/core/lib/common/message-rpc/rpc-protocol.js:171:28)

Issue checklist

kittaakos commented 1 year ago

The structure of the UploadResponse depends on where I (physically) plug the board on the Mac.

cat ~/Documents/Arduino/minimal/minimal.ino 
void setup() {}
void loop() {}
./arduino-cli version
arduino-cli  Version: 0.34.0 Commit: 304d48cd Date: 2023-08-22T15:54:20Z
./arduino-cli board list
Port                            Protocol Type              Board Name          FQBN                        Core             
/dev/cu.BLTH                    serial   Serial Port       Unknown                                                          
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown                                                          
/dev/cu.usbmodem2               serial   Serial Port (USB) Arduino Nano 33 BLE arduino:mbed_nano:nano33ble arduino:mbed_nano

🐛 On /dev/cu.usbmodem2 port, it fails:

./arduino-cli upload -b arduino:mbed_nano:nano33ble -p /dev/cu.usbmodem2 ~/Documents/Arduino/minimal --format json -v --log-level debug
{
  "stdout": "Performing 1200-bps touch reset on serial port /dev/cu.usbmodem2\nWaiting for upload port...\nUpload port found on /dev/cu.usbmodem2\n\"/Users/a.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac\" -d --port=cu.usbmodem2 -U -i -e -w \"/private/var/folders/z1/xkw1yh5n7rz4n8djprp1mdn80000gn/T/arduino/sketches/A051B7F4F3A6DA790A80412CD0106F8D/minimal.ino.bin\" -R\nSet binary mode\nversion()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nConnected at 921600 baud\nidentifyChip()=nRF52840-QIAA\nwrite(addr=0,size=0x34)\nwriteWord(addr=0x30,value=0x400)\nwriteWord(addr=0x20,value=0)\nversion()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nDevice       : nRF52840-QIAA\nVersion      : Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nAddress      : 0x0\nPages        : 256\nPage Size    : 4096 bytes\nTotal Size   : 1024KB\nPlanes       : 1\nLock Regions : 0\nLocked       : none\nSecurity     : false\nErase flash\nchipErase(addr=0)\n\nDone in 0.001 seconds\nWrite 84088 bytes to flash (21 pages)\n\r[                              ] 0% (0/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0, size=0x1000)\n\r[=                             ] 4% (1/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x1000, size=0x1000)\n\r[==                            ] 9% (2/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x2000, size=0x1000)\n\r[====                          ] 14% (3/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x3000, size=0x1000)\n\r[=====                         ] 19% (4/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x4000, size=0x1000)\n\r[=======                       ] 23% (5/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x5000, size=0x1000)\n\r[========                      ] 28% (6/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x6000, size=0x1000)\n\r[==========                    ] 33% (7/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x7000, size=0x1000)\n\r[===========                   ] 38% (8/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x8000, size=0x1000)\n\r[============                  ] 42% (9/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x9000, size=0x1000)\n\r[==============                ] 47% (10/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xa000, size=0x1000)\n\r[===============               ] 52% (11/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xb000, size=0x1000)\n\r[=================             ] 57% (12/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xc000, size=0x1000)\n\r[==================            ] 61% (13/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xd000, size=0x1000)\n\r[====================          ] 66% (14/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xe000, size=0x1000)\n\r[=====================         ] 71% (15/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xf000, size=0x1000)\n\r[======================        ] 76% (16/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x10000, size=0x1000)\n\r[========================      ] 80% (17/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x11000, size=0x1000)\n\r[=========================     ] 85% (18/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x12000, size=0x1000)\n\r[===========================   ] 90% (19/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x13000, size=0x1000)\n\r[============================  ] 95% (20/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x14000, size=0x1000)\n\r[==============================] 100% (21/21 pages)\nDone in 3.332 seconds\nreset()\n",
  "stderr": ""
}
./arduino-cli board list
Port                            Protocol Type              Board Name          FQBN                        Core             
/dev/cu.BLTH                    serial   Serial Port       Unknown                                                          
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown                                                          
/dev/cu.usbmodem14201           serial   Serial Port (USB) Arduino Nano 33 BLE arduino:mbed_nano:nano33ble arduino:mbed_nano

✅ On /dev/cu.usbmodem14201 port, it works:

./arduino-cli upload -b arduino:mbed_nano:nano33ble -p /dev/cu.usbmodem14201 ~/Documents/Arduino/minimal --format json -v --log-level debug
{
  "stdout": "Performing 1200-bps touch reset on serial port /dev/cu.usbmodem14201\nWaiting for upload port...\nUpload port found on /dev/cu.usbmodem14201\n\"/Users/a.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac\" -d --port=cu.usbmodem14201 -U -i -e -w \"/private/var/folders/z1/xkw1yh5n7rz4n8djprp1mdn80000gn/T/arduino/sketches/A051B7F4F3A6DA790A80412CD0106F8D/minimal.ino.bin\" -R\nSet binary mode\nversion()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nConnected at 921600 baud\nidentifyChip()=nRF52840-QIAA\nwrite(addr=0,size=0x34)\nwriteWord(addr=0x30,value=0x400)\nwriteWord(addr=0x20,value=0)\nversion()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nDevice       : nRF52840-QIAA\nVersion      : Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nAddress      : 0x0\nPages        : 256\nPage Size    : 4096 bytes\nTotal Size   : 1024KB\nPlanes       : 1\nLock Regions : 0\nLocked       : none\nSecurity     : false\nErase flash\nchipErase(addr=0)\n\nDone in 0.001 seconds\nWrite 84088 bytes to flash (21 pages)\n\r[                              ] 0% (0/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0, size=0x1000)\n\r[=                             ] 4% (1/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x1000, size=0x1000)\n\r[==                            ] 9% (2/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x2000, size=0x1000)\n\r[====                          ] 14% (3/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x3000, size=0x1000)\n\r[=====                         ] 19% (4/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x4000, size=0x1000)\n\r[=======                       ] 23% (5/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x5000, size=0x1000)\n\r[========                      ] 28% (6/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x6000, size=0x1000)\n\r[==========                    ] 33% (7/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x7000, size=0x1000)\n\r[===========                   ] 38% (8/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x8000, size=0x1000)\n\r[============                  ] 42% (9/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x9000, size=0x1000)\n\r[==============                ] 47% (10/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xa000, size=0x1000)\n\r[===============               ] 52% (11/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xb000, size=0x1000)\n\r[=================             ] 57% (12/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xc000, size=0x1000)\n\r[==================            ] 61% (13/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xd000, size=0x1000)\n\r[====================          ] 66% (14/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xe000, size=0x1000)\n\r[=====================         ] 71% (15/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0xf000, size=0x1000)\n\r[======================        ] 76% (16/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x10000, size=0x1000)\n\r[========================      ] 80% (17/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x11000, size=0x1000)\n\r[=========================     ] 85% (18/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x12000, size=0x1000)\n\r[===========================   ] 90% (19/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x13000, size=0x1000)\n\r[============================  ] 95% (20/21 pages)write(addr=0x34,size=0x1000)\nwriteBuffer(scr_addr=0x34, dst_addr=0x14000, size=0x1000)\n\r[==============================] 100% (21/21 pages)\nDone in 3.332 seconds\nreset()\n",
  "stderr": "",
  "updated_upload_port": {
    "address": "/dev/cu.usbmodem14201",
    "label": "/dev/cu.usbmodem14201",
    "protocol": "serial",
    "protocol_label": "Serial Port (USB)",
    "properties": {
      "pid": "0x805A",
      "serialNumber": "131B9378799A643D",
      "vid": "0x2341"
    },
    "hardware_id": "131B9378799A643D"
  }
}
kittaakos commented 1 year ago

Outputs with --log and without --format json: ✅ :

./arduino-cli board list
Port                            Protocol Type              Board Name          FQBN                        Core             
/dev/cu.BLTH                    serial   Serial Port       Unknown                                                          
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown                                                          
/dev/cu.usbmodem14301           serial   Serial Port (USB) Arduino Nano 33 BLE arduino:mbed_nano:nano33ble arduino:mbed_nano
./arduino-cli upload -b arduino:mbed_nano:nano33ble -p /dev/cu.usbmodem14301 ~/Documents/Arduino/minimal -v --log --log-level debug

``` INFO[0000] Config file not found, using default values INFO[0000] arduino-cli version 0.34.0 INFO[0000] Executing `arduino-cli upload` INFO[0000] Checking signature index=/Users/a.kitta/Library/Arduino15/package_index.json signatureFile=/Users/a.kitta/Library/Arduino15/package_index.json.sig trusted=true INFO[0000] Loading hardware from: /Users/a.kitta/Library/Arduino15/packages INFO[0000] Loading package Croduino_Boards from: /Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/hardware/Inkplate/1.0.1/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="Croduino_Boards:Inkplate@1.0.1" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/tools INFO[0000] Loaded tool tool="Croduino_Boards:esptool_py@3.0.0" INFO[0000] Loaded tool tool="Croduino_Boards:mkspiffs@0.2.3" INFO[0000] Loaded tool tool="Croduino_Boards:xtensa-esp32-elf-gcc@1.22.0-96-g2852398-5.2.0" INFO[0000] Loading package Inkplate_Boards from: /Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/hardware/esp32/3.0.1/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="Inkplate_Boards:esp32@3.0.1" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/tools INFO[0000] Loaded tool tool="Inkplate_Boards:esptool_py@4.2.1" INFO[0000] Loaded tool tool="Inkplate_Boards:mklittlefs@3.0.0-gnu12-dc7f933" INFO[0000] Loaded tool tool="Inkplate_Boards:mkspiffs@0.2.3" INFO[0000] Loaded tool tool="Inkplate_Boards:riscv32-esp-elf-gcc@gcc8_4_0-esp-2021r2-patch3" INFO[0000] Loaded tool tool="Inkplate_Boards:xtensa-esp32-elf-gcc@gcc8_4_0-esp-2021r2-patch3" INFO[0000] Loading package arduino from: /Users/a.kitta/Library/Arduino15/packages/arduino/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:avr@1.8.6" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/esp32/2.0.11-debug/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:esp32@2.0.11-debug" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_nano/4.0.4/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:mbed_nano@4.0.4" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_portenta/4.0.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:mbed_portenta@4.0.2" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:megaavr@1.8.8" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_portenta/1.0.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:renesas_portenta@1.0.2" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.0.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:renesas_uno@1.0.2" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/samd/1.8.13/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:samd@1.8.13" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/arduino/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/arduino/tools INFO[0000] Loaded tool tool="arduino:CMSIS@4.5.0" INFO[0000] Loaded tool tool="arduino:CMSIS-Atmel@1.2.0" INFO[0000] Loaded tool tool="arduino:adb@32.0.0" INFO[0000] Loaded tool tool="arduino:arduinoOTA@1.2.1" INFO[0000] Loaded tool tool="arduino:arduinoOTA@1.3.0" INFO[0000] Loaded tool tool="arduino:arm-none-eabi-gcc@7-2017q4" INFO[0000] Loaded tool tool="arduino:avr-gcc@7.3.0-atmel3.6.1-arduino5" INFO[0000] Loaded tool tool="arduino:avr-gcc@7.3.0-atmel3.6.1-arduino7" INFO[0000] Loaded tool tool="arduino:avrdude@6.3.0-arduino17" INFO[0000] Loaded tool tool="arduino:bossac@1.7.0-arduino3" INFO[0000] Loaded tool tool="arduino:bossac@1.9.1-arduino2" INFO[0000] Loaded tool tool="arduino:bossac@1.9.1-arduino5" INFO[0000] Loaded tool tool="arduino:dfu-util@0.10.0-arduino1" INFO[0000] Loaded tool tool="arduino:dfu-util@0.11.0-arduino5" INFO[0000] Loaded tool tool="arduino:imgtool@1.8.0-arduino.2" INFO[0000] Loaded tool tool="arduino:openocd@0.10.0-arduino7" INFO[0000] Loaded tool tool="arduino:openocd@0.11.0-arduino2" INFO[0000] Loaded tool tool="arduino:rp2040tools@1.0.6" INFO[0000] Loading package builtin from: /Users/a.kitta/Library/Arduino15/packages/builtin INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/builtin/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/builtin/tools INFO[0000] Loaded tool tool="builtin:ctags@5.8-arduino11" INFO[0000] Loaded tool tool="builtin:dfu-discovery@0.1.2" INFO[0000] Loaded tool tool="builtin:mdns-discovery@1.0.9" INFO[0000] Loaded tool tool="builtin:serial-discovery@1.4.0" INFO[0000] Loaded tool tool="builtin:serial-monitor@0.13.0" INFO[0000] Loading package esp32 from: /Users/a.kitta/Library/Arduino15/packages/esp32/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/esp32/hardware/esp32/2.0.11/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="esp32:esp32@2.0.11" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/esp32/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/esp32/tools INFO[0000] Loaded tool tool="esp32:esptool_py@4.5.1" INFO[0000] Loaded tool tool="esp32:mklittlefs@3.0.0-gnu12-dc7f933" INFO[0000] Loaded tool tool="esp32:mkspiffs@0.2.3" INFO[0000] Loaded tool tool="esp32:openocd-esp32@v0.11.0-esp32-20221026" INFO[0000] Loaded tool tool="esp32:riscv32-esp-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loaded tool tool="esp32:riscv32-esp-elf-gdb@11.2_20220823" INFO[0000] Loaded tool tool="esp32:xtensa-esp-elf-gdb@11.2_20220823" INFO[0000] Loaded tool tool="esp32:xtensa-esp32-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loaded tool tool="esp32:xtensa-esp32s2-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loaded tool tool="esp32:xtensa-esp32s3-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loading package esp8266 from: /Users/a.kitta/Library/Arduino15/packages/esp8266/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="esp8266:esp8266@3.1.2" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/esp8266/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/esp8266/tools INFO[0000] Loaded tool tool="esp8266:mklittlefs@3.1.0-gcc10.3-e5f9fec" INFO[0000] Loaded tool tool="esp8266:mkspiffs@3.1.0-gcc10.3-e5f9fec" INFO[0000] Loaded tool tool="esp8266:python3@3.7.2-post1" INFO[0000] Loaded tool tool="esp8266:xtensa-lx106-elf-gcc@3.1.0-gcc10.3-e5f9fec" INFO[0000] Loading package rp2040 from: /Users/a.kitta/Library/Arduino15/packages/rp2040/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/rp2040/hardware/rp2040/3.2.2/installed.json INFO[0000] Loaded platform platform="rp2040:rp2040@3.2.2" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/rp2040/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/rp2040/tools INFO[0000] Loaded tool tool="rp2040:pqt-elf2uf2@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-gcc@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-mklittlefs@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-openocd@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-picotool@1.5.0-b-03f2812" INFO[0000] Loaded tool tool="rp2040:pqt-pioasm@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-python3@1.0.1-base-3a57aed" INFO[0000] Loading package teensy from: /Users/a.kitta/Library/Arduino15/packages/teensy/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/teensy/hardware/avr/1.57.0/installed.json INFO[0000] Adding monitor tool protocol=teensy tool="teensy:teensy-monitor" INFO[0000] Loaded platform platform="teensy:avr@1.57.0" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/teensy/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/teensy/tools INFO[0000] Loaded tool tool="teensy:teensy-compile@5.4.1" INFO[0000] Loaded tool tool="teensy:teensy-discovery@1.57.0" INFO[0000] Loaded tool tool="teensy:teensy-monitor@1.57.0" INFO[0000] Loaded tool tool="teensy:teensy-tools@1.57.0" INFO[0000] Loading hardware from: /Users/a.kitta/Documents/Arduino/hardware INFO[0000] Searching tools required for platform rp2040:rp2040@3.2.2 INFO[0000] Required tool tool="rp2040:pqt-elf2uf2@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-gcc@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-mklittlefs@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-openocd@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-picotool@1.5.0-b-03f2812" INFO[0000] Required tool tool="rp2040:pqt-pioasm@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-python3@1.0.1-base-3a57aed" DEBU[0000] current best: esp8266:esp8266@3.1.2 bundle=false managed=true version=3.1.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries location=platform DEBU[0000] current best: rp2040:rp2040@3.2.2 bundle=false managed=true version=3.2.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/rp2040/hardware/rp2040/3.2.2/libraries location=platform DEBU[0000] current best: arduino:megaavr@1.8.8 bundle=false managed=true version=1.8.8 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries location=platform DEBU[0000] current best: arduino:esp32@2.0.11-debug bundle=false managed=true version=2.0.11-debug INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/esp32/2.0.11-debug/libraries location=platform DEBU[0000] current best: arduino:mbed_portenta@4.0.2 bundle=false managed=true version=4.0.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_portenta/4.0.2/libraries location=platform DEBU[0000] current best: arduino:avr@1.8.6 bundle=false managed=true version=1.8.6 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/libraries location=platform DEBU[0000] current best: arduino:renesas_portenta@1.0.2 bundle=false managed=true version=1.0.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_portenta/1.0.2/libraries location=platform DEBU[0000] current best: arduino:samd@1.8.13 bundle=false managed=true version=1.8.13 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/samd/1.8.13/libraries location=platform DEBU[0000] current best: arduino:mbed_nano@4.0.4 bundle=false managed=true version=4.0.4 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_nano/4.0.4/libraries location=platform DEBU[0000] current best: arduino:renesas_uno@1.0.2 bundle=false managed=true version=1.0.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.0.2/libraries location=platform DEBU[0000] current best: Croduino_Boards:Inkplate@1.0.1 bundle=false managed=true version=1.0.1 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/hardware/Inkplate/1.0.1/libraries location=platform DEBU[0000] current best: teensy:avr@1.57.0 bundle=false managed=true version=1.57.0 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/teensy/hardware/avr/1.57.0/libraries location=platform DEBU[0000] current best: esp32:esp32@2.0.11 bundle=false managed=true version=2.0.11 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/esp32/hardware/esp32/2.0.11/libraries location=platform DEBU[0000] current best: Inkplate_Boards:esp32@3.0.1 bundle=false managed=true version=3.0.1 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/hardware/esp32/3.0.1/libraries location=platform INFO[0000] Loading libraries index file index=/Users/a.kitta/Library/Arduino15/library_index.json INFO[0000] Adding libraries dir dir=/Users/a.kitta/Documents/Arduino/libraries location=user INFO[0001] starting discovery builtin:mdns-discovery process INFO[0001] starting discovery rp2040 process INFO[0001] starting discovery builtin:serial-discovery process INFO[0001] starting discovery teensy:teensy-discovery process INFO[0001] starting discovery builtin:dfu-discovery process INFO[0001] started discovery builtin:mdns-discovery process INFO[0001] started discovery builtin:serial-discovery process INFO[0001] started discovery teensy:teensy-discovery process INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery builtin:serial-discovery INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery teensy:teensy-discovery INFO[0001] started discovery builtin:dfu-discovery process INFO[0001] started discovery rp2040 process INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery rp2040 INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery builtin:dfu-discovery INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery builtin:mdns-discovery INFO[0001] from discovery builtin:serial-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] from discovery teensy:teensy-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] sending command START_SYNC to discovery builtin:serial-discovery INFO[0001] sending command START_SYNC to discovery teensy:teensy-discovery INFO[0001] from discovery builtin:mdns-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] from discovery teensy:teensy-discovery received message type: start_sync, message: OK INFO[0001] sending command START_SYNC to discovery builtin:mdns-discovery INFO[0001] from discovery builtin:serial-discovery received message type: start_sync, message: OK INFO[0001] from discovery builtin:mdns-discovery received message type: start_sync, message: OK INFO[0001] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.BLTH INFO[0001] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.Bluetooth-Incoming-Port INFO[0001] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.usbmodem14301 INFO[0001] from discovery builtin:dfu-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] sending command START_SYNC to discovery builtin:dfu-discovery INFO[0001] from discovery builtin:dfu-discovery received message type: start_sync, message: OK INFO[0001] from discovery rp2040 received message type: hello, message: OK, protocol version: 1 INFO[0001] sending command START_SYNC to discovery rp2040 INFO[0001] from discovery rp2040 received message type: start_sync, message: OK DEBU[0001] current best: arduino:mbed_nano@4.0.4 bundle=false managed=true version=4.0.4 INFO[0001] Required tool tool="arduino:arm-none-eabi-gcc@7-2017q4" INFO[0001] Required tool tool="arduino:bossac@1.9.1-arduino2" INFO[0001] Required tool tool="arduino:dfu-util@0.10.0-arduino1" INFO[0001] Required tool tool="arduino:openocd@0.11.0-arduino2" INFO[0001] Required tool tool="arduino:rp2040tools@1.0.6" DEBU[0001] current best: arduino:mbed_nano@4.0.4 bundle=false managed=true version=4.0.4 INFO[0001] Required tool tool="arduino:arm-none-eabi-gcc@7-2017q4" INFO[0001] Required tool tool="arduino:bossac@1.9.1-arduino2" INFO[0001] Required tool tool="arduino:dfu-util@0.10.0-arduino1" INFO[0001] Required tool tool="arduino:openocd@0.11.0-arduino2" INFO[0001] Required tool tool="arduino:rp2040tools@1.0.6" DEBU[0001] LAST: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/cu.usbmodem14301:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true /dev/tty.usbmodem14301:true] phase="board reset" DEBU[0001] TOUCH: /dev/cu.usbmodem14301 phase="board reset" INFO[0001] Performing 1200-bps touch reset on serial port /dev/cu.usbmodem14301 phase="board reset" Performing 1200-bps touch reset on serial port /dev/cu.usbmodem14301 INFO[0001] from discovery builtin:serial-discovery received message type: remove, port: /dev/cu.usbmodem14301 INFO[0001] Waiting for upload port... phase="board reset" Waiting for upload port... DEBU[0001] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0001] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" INFO[0001] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.usbmodem14301 DEBU[0002] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/cu.usbmodem14301:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true /dev/tty.usbmodem14301:true] phase="board reset" DEBU[0002] New ports found! phase="board reset" DEBU[0003] CHECK: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/cu.usbmodem14301:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true /dev/tty.usbmodem14301:true] phase="board reset" INFO[0003] Upload port found on /dev/tty.usbmodem14301 phase="board reset" Upload port found on /dev/tty.usbmodem14301 "/Users/a.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac" -d --port=tty.usbmodem14301 -U -i -e -w "/private/var/folders/z1/xkw1yh5n7rz4n8djprp1mdn80000gn/T/arduino/sketches/A051B7F4F3A6DA790A80412CD0106F8D/minimal.ino.bin" -R Set binary mode version()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ] Connected at 921600 baud identifyChip()=nRF52840-QIAA write(addr=0,size=0x34) writeWord(addr=0x30,value=0x400) writeWord(addr=0x20,value=0) version()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ] Device : nRF52840-QIAA Version : Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ] Address : 0x0 Pages : 256 Page Size : 4096 bytes Total Size : 1024KB Planes : 1 Lock Regions : 0 Locked : none Security : false Erase flash chipErase(addr=0) Done in 0.001 seconds Write 84088 bytes to flash (21 pages) [ ] 0% (0/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0, size=0x1000) [= ] 4% (1/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x1000, size=0x1000) [== ] 9% (2/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x2000, size=0x1000) [==== ] 14% (3/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x3000, size=0x1000) [===== ] 19% (4/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x4000, size=0x1000) [======= ] 23% (5/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x5000, size=0x1000) [======== ] 28% (6/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x6000, size=0x1000) [========== ] 33% (7/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x7000, size=0x1000) [=========== ] 38% (8/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x8000, size=0x1000) [============ ] 42% (9/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x9000, size=0x1000) [============== ] 47% (10/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xa000, size=0x1000) [=============== ] 52% (11/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xb000, size=0x1000) [================= ] 57% (12/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xc000, size=0x1000) [================== ] 61% (13/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xd000, size=0x1000) [==================== ] 66% (14/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xe000, size=0x1000) [===================== ] 71% (15/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xf000, size=0x1000) [====================== ] 76% (16/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x10000, size=0x1000) [======================== ] 80% (17/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x11000, size=0x1000) [========================= ] 85% (18/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x12000, size=0x1000) [=========================== ] 90% (19/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x13000, size=0x1000) [============================ ] 95% (20/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x14000, size=0x1000) [==============================] 100% (21/21 pages) Done in 3.334 seconds reset() INFO[0007] from discovery builtin:serial-discovery received message type: remove, port: /dev/cu.usbmodem14301 INFO[0008] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.usbmodem14301 New upload port: /dev/cu.usbmodem14301 (serial) ```

:bug::

./arduino-cli board list
Port                            Protocol Type              Board Name          FQBN                        Core             
/dev/cu.BLTH                    serial   Serial Port       Unknown                                                          
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown                                                          
/dev/cu.usbmodem3               serial   Serial Port (USB) Arduino Nano 33 BLE arduino:mbed_nano:nano33ble arduino:mbed_nano
Output of ./arduino-cli upload -b arduino:mbed_nano:nano33ble -p /dev/cu.usbmodem3 ~/Documents/Arduino/minimal -v --log --log-level debug

``` INFO[0000] Config file not found, using default values INFO[0000] arduino-cli version 0.34.0 INFO[0000] Executing `arduino-cli upload` INFO[0000] Checking signature index=/Users/a.kitta/Library/Arduino15/package_index.json signatureFile=/Users/a.kitta/Library/Arduino15/package_index.json.sig trusted=true INFO[0000] Loading hardware from: /Users/a.kitta/Library/Arduino15/packages INFO[0000] Loading package Croduino_Boards from: /Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/hardware/Inkplate/1.0.1/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="Croduino_Boards:Inkplate@1.0.1" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/tools INFO[0000] Loaded tool tool="Croduino_Boards:esptool_py@3.0.0" INFO[0000] Loaded tool tool="Croduino_Boards:mkspiffs@0.2.3" INFO[0000] Loaded tool tool="Croduino_Boards:xtensa-esp32-elf-gcc@1.22.0-96-g2852398-5.2.0" INFO[0000] Loading package Inkplate_Boards from: /Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/hardware/esp32/3.0.1/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="Inkplate_Boards:esp32@3.0.1" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/tools INFO[0000] Loaded tool tool="Inkplate_Boards:esptool_py@4.2.1" INFO[0000] Loaded tool tool="Inkplate_Boards:mklittlefs@3.0.0-gnu12-dc7f933" INFO[0000] Loaded tool tool="Inkplate_Boards:mkspiffs@0.2.3" INFO[0000] Loaded tool tool="Inkplate_Boards:riscv32-esp-elf-gcc@gcc8_4_0-esp-2021r2-patch3" INFO[0000] Loaded tool tool="Inkplate_Boards:xtensa-esp32-elf-gcc@gcc8_4_0-esp-2021r2-patch3" INFO[0000] Loading package arduino from: /Users/a.kitta/Library/Arduino15/packages/arduino/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:avr@1.8.6" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/esp32/2.0.11-debug/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:esp32@2.0.11-debug" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_nano/4.0.4/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:mbed_nano@4.0.4" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_portenta/4.0.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:mbed_portenta@4.0.2" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:megaavr@1.8.8" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_portenta/1.0.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:renesas_portenta@1.0.2" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.0.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:renesas_uno@1.0.2" INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/samd/1.8.13/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="arduino:samd@1.8.13" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/arduino/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/arduino/tools INFO[0000] Loaded tool tool="arduino:CMSIS@4.5.0" INFO[0000] Loaded tool tool="arduino:CMSIS-Atmel@1.2.0" INFO[0000] Loaded tool tool="arduino:adb@32.0.0" INFO[0000] Loaded tool tool="arduino:arduinoOTA@1.2.1" INFO[0000] Loaded tool tool="arduino:arduinoOTA@1.3.0" INFO[0000] Loaded tool tool="arduino:arm-none-eabi-gcc@7-2017q4" INFO[0000] Loaded tool tool="arduino:avr-gcc@7.3.0-atmel3.6.1-arduino5" INFO[0000] Loaded tool tool="arduino:avr-gcc@7.3.0-atmel3.6.1-arduino7" INFO[0000] Loaded tool tool="arduino:avrdude@6.3.0-arduino17" INFO[0000] Loaded tool tool="arduino:bossac@1.7.0-arduino3" INFO[0000] Loaded tool tool="arduino:bossac@1.9.1-arduino2" INFO[0000] Loaded tool tool="arduino:bossac@1.9.1-arduino5" INFO[0000] Loaded tool tool="arduino:dfu-util@0.10.0-arduino1" INFO[0000] Loaded tool tool="arduino:dfu-util@0.11.0-arduino5" INFO[0000] Loaded tool tool="arduino:imgtool@1.8.0-arduino.2" INFO[0000] Loaded tool tool="arduino:openocd@0.10.0-arduino7" INFO[0000] Loaded tool tool="arduino:openocd@0.11.0-arduino2" INFO[0000] Loaded tool tool="arduino:rp2040tools@1.0.6" INFO[0000] Loading package builtin from: /Users/a.kitta/Library/Arduino15/packages/builtin INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/builtin/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/builtin/tools INFO[0000] Loaded tool tool="builtin:ctags@5.8-arduino11" INFO[0000] Loaded tool tool="builtin:dfu-discovery@0.1.2" INFO[0000] Loaded tool tool="builtin:mdns-discovery@1.0.9" INFO[0000] Loaded tool tool="builtin:serial-discovery@1.4.0" INFO[0000] Loaded tool tool="builtin:serial-monitor@0.13.0" INFO[0000] Loading package esp32 from: /Users/a.kitta/Library/Arduino15/packages/esp32/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/esp32/hardware/esp32/2.0.11/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="esp32:esp32@2.0.11" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/esp32/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/esp32/tools INFO[0000] Loaded tool tool="esp32:esptool_py@4.5.1" INFO[0000] Loaded tool tool="esp32:mklittlefs@3.0.0-gnu12-dc7f933" INFO[0000] Loaded tool tool="esp32:mkspiffs@0.2.3" INFO[0000] Loaded tool tool="esp32:openocd-esp32@v0.11.0-esp32-20221026" INFO[0000] Loaded tool tool="esp32:riscv32-esp-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loaded tool tool="esp32:riscv32-esp-elf-gdb@11.2_20220823" INFO[0000] Loaded tool tool="esp32:xtensa-esp-elf-gdb@11.2_20220823" INFO[0000] Loaded tool tool="esp32:xtensa-esp32-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loaded tool tool="esp32:xtensa-esp32s2-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loaded tool tool="esp32:xtensa-esp32s3-elf-gcc@esp-2021r2-patch5-8.4.0" INFO[0000] Loading package esp8266 from: /Users/a.kitta/Library/Arduino15/packages/esp8266/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/installed.json INFO[0000] Adding monitor tool protocol=serial tool="builtin:serial-monitor" INFO[0000] Loaded platform platform="esp8266:esp8266@3.1.2" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/esp8266/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/esp8266/tools INFO[0000] Loaded tool tool="esp8266:mklittlefs@3.1.0-gcc10.3-e5f9fec" INFO[0000] Loaded tool tool="esp8266:mkspiffs@3.1.0-gcc10.3-e5f9fec" INFO[0000] Loaded tool tool="esp8266:python3@3.7.2-post1" INFO[0000] Loaded tool tool="esp8266:xtensa-lx106-elf-gcc@3.1.0-gcc10.3-e5f9fec" INFO[0000] Loading package rp2040 from: /Users/a.kitta/Library/Arduino15/packages/rp2040/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/rp2040/hardware/rp2040/3.2.2/installed.json INFO[0000] Loaded platform platform="rp2040:rp2040@3.2.2" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/rp2040/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/rp2040/tools INFO[0000] Loaded tool tool="rp2040:pqt-elf2uf2@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-gcc@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-mklittlefs@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-openocd@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-picotool@1.5.0-b-03f2812" INFO[0000] Loaded tool tool="rp2040:pqt-pioasm@1.5.0-b-c7bab52" INFO[0000] Loaded tool tool="rp2040:pqt-python3@1.0.1-base-3a57aed" INFO[0000] Loading package teensy from: /Users/a.kitta/Library/Arduino15/packages/teensy/hardware INFO[0000] Missing signature file index=/Users/a.kitta/Library/Arduino15/packages/teensy/hardware/avr/1.57.0/installed.json INFO[0000] Adding monitor tool protocol=teensy tool="teensy:teensy-monitor" INFO[0000] Loaded platform platform="teensy:avr@1.57.0" INFO[0000] Checking existence of 'tools' path: /Users/a.kitta/Library/Arduino15/packages/teensy/tools INFO[0000] Loading tools from dir: /Users/a.kitta/Library/Arduino15/packages/teensy/tools INFO[0000] Loaded tool tool="teensy:teensy-compile@5.4.1" INFO[0000] Loaded tool tool="teensy:teensy-discovery@1.57.0" INFO[0000] Loaded tool tool="teensy:teensy-monitor@1.57.0" INFO[0000] Loaded tool tool="teensy:teensy-tools@1.57.0" INFO[0000] Loading hardware from: /Users/a.kitta/Documents/Arduino/hardware INFO[0000] Searching tools required for platform rp2040:rp2040@3.2.2 INFO[0000] Required tool tool="rp2040:pqt-elf2uf2@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-gcc@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-mklittlefs@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-openocd@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-picotool@1.5.0-b-03f2812" INFO[0000] Required tool tool="rp2040:pqt-pioasm@1.5.0-b-c7bab52" INFO[0000] Required tool tool="rp2040:pqt-python3@1.0.1-base-3a57aed" DEBU[0000] current best: arduino:mbed_portenta@4.0.2 bundle=false managed=true version=4.0.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_portenta/4.0.2/libraries location=platform DEBU[0000] current best: arduino:avr@1.8.6 bundle=false managed=true version=1.8.6 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/libraries location=platform DEBU[0000] current best: arduino:renesas_portenta@1.0.2 bundle=false managed=true version=1.0.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_portenta/1.0.2/libraries location=platform DEBU[0000] current best: arduino:megaavr@1.8.8 bundle=false managed=true version=1.8.8 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries location=platform DEBU[0000] current best: arduino:samd@1.8.13 bundle=false managed=true version=1.8.13 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/samd/1.8.13/libraries location=platform DEBU[0000] current best: arduino:mbed_nano@4.0.4 bundle=false managed=true version=4.0.4 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/mbed_nano/4.0.4/libraries location=platform DEBU[0000] current best: arduino:renesas_uno@1.0.2 bundle=false managed=true version=1.0.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.0.2/libraries location=platform DEBU[0000] current best: arduino:esp32@2.0.11-debug bundle=false managed=true version=2.0.11-debug INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/arduino/hardware/esp32/2.0.11-debug/libraries location=platform DEBU[0000] current best: esp32:esp32@2.0.11 bundle=false managed=true version=2.0.11 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/esp32/hardware/esp32/2.0.11/libraries location=platform DEBU[0000] current best: rp2040:rp2040@3.2.2 bundle=false managed=true version=3.2.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/rp2040/hardware/rp2040/3.2.2/libraries location=platform DEBU[0000] current best: Croduino_Boards:Inkplate@1.0.1 bundle=false managed=true version=1.0.1 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/Croduino_Boards/hardware/Inkplate/1.0.1/libraries location=platform DEBU[0000] current best: Inkplate_Boards:esp32@3.0.1 bundle=false managed=true version=3.0.1 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/Inkplate_Boards/hardware/esp32/3.0.1/libraries location=platform DEBU[0000] current best: esp8266:esp8266@3.1.2 bundle=false managed=true version=3.1.2 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries location=platform DEBU[0000] current best: teensy:avr@1.57.0 bundle=false managed=true version=1.57.0 INFO[0000] Adding libraries dir dir=/Users/a.kitta/Library/Arduino15/packages/teensy/hardware/avr/1.57.0/libraries location=platform INFO[0000] Loading libraries index file index=/Users/a.kitta/Library/Arduino15/library_index.json INFO[0000] Adding libraries dir dir=/Users/a.kitta/Documents/Arduino/libraries location=user INFO[0001] starting discovery teensy:teensy-discovery process INFO[0001] starting discovery builtin:serial-discovery process INFO[0001] starting discovery rp2040 process INFO[0001] starting discovery builtin:mdns-discovery process INFO[0001] starting discovery builtin:dfu-discovery process INFO[0001] started discovery teensy:teensy-discovery process INFO[0001] started discovery builtin:serial-discovery process INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery teensy:teensy-discovery INFO[0001] started discovery rp2040 process INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery rp2040 INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery builtin:serial-discovery INFO[0001] started discovery builtin:mdns-discovery process INFO[0001] started discovery builtin:dfu-discovery process INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery builtin:mdns-discovery INFO[0001] sending command HELLO 1 "arduino-cli 0.34.0" to discovery builtin:dfu-discovery INFO[0001] from discovery teensy:teensy-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] sending command START_SYNC to discovery teensy:teensy-discovery INFO[0001] from discovery builtin:serial-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] from discovery teensy:teensy-discovery received message type: start_sync, message: OK INFO[0001] sending command START_SYNC to discovery builtin:serial-discovery INFO[0001] from discovery builtin:serial-discovery received message type: start_sync, message: OK INFO[0001] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.BLTH INFO[0001] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.Bluetooth-Incoming-Port INFO[0001] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.usbmodem3 INFO[0001] from discovery builtin:mdns-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] sending command START_SYNC to discovery builtin:mdns-discovery INFO[0001] from discovery builtin:mdns-discovery received message type: start_sync, message: OK INFO[0001] from discovery builtin:dfu-discovery received message type: hello, message: OK, protocol version: 1 INFO[0001] sending command START_SYNC to discovery builtin:dfu-discovery INFO[0001] from discovery builtin:dfu-discovery received message type: start_sync, message: OK INFO[0001] from discovery rp2040 received message type: hello, message: OK, protocol version: 1 INFO[0001] sending command START_SYNC to discovery rp2040 INFO[0001] from discovery rp2040 received message type: start_sync, message: OK DEBU[0001] current best: arduino:mbed_nano@4.0.4 bundle=false managed=true version=4.0.4 INFO[0001] Required tool tool="arduino:arm-none-eabi-gcc@7-2017q4" INFO[0001] Required tool tool="arduino:bossac@1.9.1-arduino2" INFO[0001] Required tool tool="arduino:dfu-util@0.10.0-arduino1" INFO[0001] Required tool tool="arduino:openocd@0.11.0-arduino2" INFO[0001] Required tool tool="arduino:rp2040tools@1.0.6" DEBU[0001] current best: arduino:mbed_nano@4.0.4 bundle=false managed=true version=4.0.4 INFO[0001] Required tool tool="arduino:arm-none-eabi-gcc@7-2017q4" INFO[0001] Required tool tool="arduino:bossac@1.9.1-arduino2" INFO[0001] Required tool tool="arduino:dfu-util@0.10.0-arduino1" INFO[0001] Required tool tool="arduino:openocd@0.11.0-arduino2" INFO[0001] Required tool tool="arduino:rp2040tools@1.0.6" DEBU[0001] LAST: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/cu.usbmodem3:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true /dev/tty.usbmodem3:true] phase="board reset" DEBU[0001] TOUCH: /dev/cu.usbmodem3 phase="board reset" INFO[0001] Performing 1200-bps touch reset on serial port /dev/cu.usbmodem3 phase="board reset" Performing 1200-bps touch reset on serial port /dev/cu.usbmodem3 INFO[0001] from discovery builtin:serial-discovery received message type: remove, port: /dev/cu.usbmodem3 INFO[0001] Waiting for upload port... phase="board reset" Waiting for upload port... DEBU[0001] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0001] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0002] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0002] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0002] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0002] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0003] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0003] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0003] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0003] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0004] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0004] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0004] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0005] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0005] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0005] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0005] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0006] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0006] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0006] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" DEBU[0006] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true] phase="board reset" INFO[0006] from discovery builtin:serial-discovery received message type: add, port: /dev/cu.usbmodem2 DEBU[0007] WAIT: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/cu.usbmodem2:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true /dev/tty.usbmodem2:true] phase="board reset" DEBU[0007] New ports found! phase="board reset" DEBU[0008] CHECK: map[/dev/cu.BLTH:true /dev/cu.Bluetooth-Incoming-Port:true /dev/cu.usbmodem14101:true /dev/cu.usbmodem2:true /dev/tty.BLTH:true /dev/tty.Bluetooth-Incoming-Port:true /dev/tty.usbmodem14101:true /dev/tty.usbmodem2:true] phase="board reset" INFO[0008] Upload port found on /dev/tty.usbmodem2 phase="board reset" Upload port found on /dev/tty.usbmodem2 "/Users/a.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac" -d --port=tty.usbmodem2 -U -i -e -w "/private/var/folders/z1/xkw1yh5n7rz4n8djprp1mdn80000gn/T/arduino/sketches/A051B7F4F3A6DA790A80412CD0106F8D/minimal.ino.bin" -R Set binary mode version()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ] Connected at 921600 baud identifyChip()=nRF52840-QIAA write(addr=0,size=0x34) writeWord(addr=0x30,value=0x400) writeWord(addr=0x20,value=0) version()=Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ] Device : nRF52840-QIAA Version : Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ] Address : 0x0 Pages : 256 Page Size : 4096 bytes Total Size : 1024KB Planes : 1 Lock Regions : 0 Locked : none Security : false Erase flash chipErase(addr=0) Done in 0.001 seconds Write 84088 bytes to flash (21 pages) [ ] 0% (0/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0, size=0x1000) [= ] 4% (1/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x1000, size=0x1000) [== ] 9% (2/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x2000, size=0x1000) [==== ] 14% (3/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x3000, size=0x1000) [===== ] 19% (4/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x4000, size=0x1000) [======= ] 23% (5/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x5000, size=0x1000) [======== ] 28% (6/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x6000, size=0x1000) [========== ] 33% (7/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x7000, size=0x1000) [=========== ] 38% (8/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x8000, size=0x1000) [============ ] 42% (9/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x9000, size=0x1000) [============== ] 47% (10/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xa000, size=0x1000) [=============== ] 52% (11/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xb000, size=0x1000) [================= ] 57% (12/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xc000, size=0x1000) [================== ] 61% (13/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xd000, size=0x1000) [==================== ] 66% (14/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xe000, size=0x1000) [===================== ] 71% (15/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0xf000, size=0x1000) [====================== ] 76% (16/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x10000, size=0x1000) [======================== ] 80% (17/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x11000, size=0x1000) [========================= ] 85% (18/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x12000, size=0x1000) [=========================== ] 90% (19/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x13000, size=0x1000) [============================ ] 95% (20/21 pages)write(addr=0x34,size=0x1000) writeBuffer(scr_addr=0x34, dst_addr=0x14000, size=0x1000) [==============================] 100% (21/21 pages) Done in 3.335 seconds reset() INFO[0012] from discovery builtin:serial-discovery received message type: remove, port: /dev/cu.usbmodem2 ```

kittaakos commented 1 year ago

The fix provided via #2288 might be a partial one. After some experimenting, I could not find a use case when the updated port was absent from the upload result, but the port has changed, and the updated port is incorrect in the response.

Steps to reproduce with the CLI:

./arduino-cli version   
arduino-cli  Version: 0.34.1 Commit: 048415c5 Date: 2023-08-31T11:46:44Z
./arduino-cli board list
Port                            Protocol Type              Board Name          FQBN                        Core             
/dev/cu.BLTH                    serial   Serial Port       Unknown                                                          
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown                                                          
/dev/cu.usbmodem14201           serial   Serial Port (USB) Arduino Nano 33 BLE arduino:mbed_nano:nano33ble arduino:mbed_nano
/arduino-cli upload -b arduino:mbed_nano:nano33ble -p /dev/cu.usbmodem14201 ~/Documents/Arduino/minimal --format json
{
  "stdout": "Device       : nRF52840-QIAA\nVersion      : Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]\nAddress      : 0x0\nPages        : 256\nPage Size    : 4096 bytes\nTotal Size   : 1024KB\nPlanes       : 1\nLock Regions : 0\nLocked       : none\nSecurity     : false\nErase flash\n\nDone in 0.001 seconds\nWrite 84088 bytes to flash (21 pages)\n\r[                              ] 0% (0/21 pages)\r[=                             ] 4% (1/21 pages)\r[==                            ] 9% (2/21 pages)\r[====                          ] 14% (3/21 pages)\r[=====                         ] 19% (4/21 pages)\r[=======                       ] 23% (5/21 pages)\r[========                      ] 28% (6/21 pages)\r[==========                    ] 33% (7/21 pages)\r[===========                   ] 38% (8/21 pages)\r[============                  ] 42% (9/21 pages)\r[==============                ] 47% (10/21 pages)\r[===============               ] 52% (11/21 pages)\r[=================             ] 57% (12/21 pages)\r[==================            ] 61% (13/21 pages)\r[====================          ] 66% (14/21 pages)\r[=====================         ] 71% (15/21 pages)\r[======================        ] 76% (16/21 pages)\r[========================      ] 80% (17/21 pages)\r[=========================     ] 85% (18/21 pages)\r[===========================   ] 90% (19/21 pages)\r[============================  ] 95% (20/21 pages)\r[==============================] 100% (21/21 pages)\nDone in 3.333 seconds\n",
  "stderr": "",
  "updated_upload_port": {
    "address": "/dev/cu.usbmodem14201",
    "label": "/dev/cu.usbmodem14201",
    "protocol": "serial",
    "protocol_label": "Serial Port (USB)",
    "properties": {
      "pid": "0x005A",
      "serialNumber": "0000000000000000131B9378799A643D",
      "vid": "0x2341"
    },
    "hardware_id": "0000000000000000131B9378799A643D"
  }
}

After the upload, the port is /dev/cu.usbmodem14201, but eventually, it has changed to /dev/cu.usbmodem2.

./arduino-cli board list
Port                            Protocol Type              Board Name          FQBN                        Core             
/dev/cu.BLTH                    serial   Serial Port       Unknown                                                          
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown                                                          
/dev/cu.usbmodem2               serial   Serial Port (USB) Arduino Nano 33 BLE arduino:mbed_nano:nano33ble arduino:mbed_nano
kittaakos commented 1 year ago

/arduino-cli upload -b arduino:mbed_nano:nano33ble -p /dev/cu.usbmodem14201 ~/

I could not reproduce the defect with 0.34.2. But I could no longer reproduce it with 0.34.0 either. I put the board in bootloader mode, but the port detection always worked. I have noticed that I do not see cu.usbmodem2 or cu.usbmodem3 with board list. The port was always cu.usbmodem14201 or cu.usbmodem14301.

I do not know what has changed. I am closing it and will reopen it if I can reproduce the bug.