Skip to content

Improve port-related upload error messages #3075

@dankeboy36

Description

@dankeboy36

Describe the request

The upload error message on macOS is confusing when bossac cannot open the port.

When uploading to a MKR1000 board on macOS, arduino-cli reports:

No device found on cu.usbmodem1101

even though the selected port is /dev/cu.usbmodem1101. This is technically correct, but from a user perspective, it looks like the CLI is using a different port than the one they specified.

Describe the current behavior

./arduino-cli version
arduino-cli  Version: git-snapshot Commit: 49772829 Date: 2026-01-10T11:58:14Z
./arduino-cli board list
Port                            Protocol Type              Board Name            FQBN                 Core
/dev/cu.Bluetooth-Incoming-Port serial   Serial Port       Unknown
/dev/cu.debug-console           serial   Serial Port       Unknown
/dev/cu.usbmodem1101            serial   Serial Port (USB) Arduino MKR 1000 WiFi arduino:samd:mkr1000 arduino:samd
/dev/cu.usbserial-0001          serial   Serial Port (USB) Unknown
./arduino-cli upload --fqbn arduino:samd:mkr1000 --port /dev/cu.usbmodem1101 ~/dev/git/boardlab/test_workspace/monitor --verbose --log-level trace
Performing 1200-bps touch reset on serial port /dev/cu.usbmodem1101
Waiting for upload port...
No upload port found, using /dev/cu.usbmodem1101 as fallback
No device found on cu.usbmodem1101
"/Users/xxx/Library/Arduino15/packages/arduino/tools/bossac/1.7.0-arduino3/bossac" -i -d --port=cu.usbmodem1101 -U true -i -e -w -v "/Users/xxx/Library/Caches/arduino/sketches/002302D32EBDB868619B7ECAC4E71903/monitor.ino.bin" -R
Failed uploading: uploading error: exit status 1

Arduino CLI version

4977282

Operating system

macOS

Operating system version

15.7.3

Additional context

When I do the upload via gRPC, sometimes I get a different port error; /dev/cu.usbmodem1101 vs. /dev/tty.usbmodem1101

Performing 1200-bps touch reset on serial port /dev/cu.usbmodem1101
Waiting for upload port...
Upload port found on /dev/tty.usbmodem1101
No device found on tty.usbmodem1101
"/Users/xxx/Library/Arduino15/packages/arduino/tools/bossac/1.7.0-arduino3/bossac" -i -d --port=tty.usbmodem1101 -U true -i -e -w -v "/Users/xxx/Library/Caches/arduino/sketches/002302D32EBDB868619B7ECAC4E71903/monitor.ino.bin" -R
Failed uploading: uploading error: exit status 1

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the nightly build
  • My request contains all necessary details

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic: codeRelated to content of the project itselftype: enhancementProposed improvement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions