Skip to content

-p option does not work as expected #692

@trombik

Description

@trombik

Without --list-all-ports, detect_usb_serial_ports() returns only SerialPortType::UsbPort. When the device is not recognized as SerialPortType::UsbPort for some reasons, --port will not work.

The help says "--list-all-ports List all available ports" but it is confusing. It does not "list ports". Instead, the option does different things. When a port is specified in espflash.toml or with -p and the port is found, it uses the found port without asking users. If not specified, it asks users to choose ports found by an underlying library.

What I expect :

> espflash board-info -p /dev/cuaU0     

should work.

The actual result:

> espflash board-info -p /dev/cuaU0                 
Error: espflash::serial_not_found

  × The serial port '/dev/cuaU0' could not be found
  help: Make sure the correct device is connected to the host system

> ls /dev/cuaU0
/dev/cuaU0

The workaround is, always use --list-all-ports.

If you cannot change the behavior, there should be an entry for it in espflash.toml.

[connection]
serial = "/dev/cuaU0"
list_all_ports = true

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions