Skip to content

Only the IP address is shown for unrecognized network boards #1331

Closed
@kittaakos

Description

@kittaakos

Describe the problem

This is the follow-up of #1327.

Arduino IDE 2.x shows only the IP address of connected but unrecognized boards. Before #1327, network boards not recognized by the Arduino CLI were not listed in the "Board Selector" menu. See the changes here and here.

#1327 will remove the above-mentioned filtering, and the Arduino IDE will show all network boards. Unfortunately, the IDE receives insufficient information from the CLI, so the IDE has no chance to show anything else but the IP.

Screen Shot 2022-08-17 at 14 41 58

Screen Shot 2022-08-17 at 14 41 40

Screen Shot 2022-08-17 at 14 41 23

The mdns-discovery is aware of these additional things; hence the Arduino IDE 1.x can enhance the label of an unrecognized network board:

HELLO "ciao" 1
{
  "eventType": "hello",
  "message": "Invalid HELLO command",
  "error": true
}
HELLO 1 "ciao"
{
  "eventType": "hello",
  "message": "OK",
  "protocolVersion": 1
}
START_SYNC
{
  "eventType": "start_sync",
  "message": "OK"
}
{
  "eventType": "add",
  "port": {
    "address": "10.0.1.25",
    "label": "esp32s2 at 10.0.1.25",
    "protocol": "network",
    "protocolLabel": "Network Port",
    "properties": {
      ".": "esp32s2usb",
      "auth_upload": "yes",
      "board": "esp32s2usb",
      "hostname": "esp32s2.local.",
      "port": "3232",
      "ssh_upload": "no",
      "tcp_check": "no"
    }
  }
}

The same information is missing from the Arduino CLI board watch (board list -w --format json):

{
  "type": "add",
  "address": "/dev/cu.usbmodem03",
  "protocol": "serial",
  "protocol_label": "Serial Port (USB)"
}
{
  "type": "add",
  "address": "10.0.1.25",
  "protocol": "network",
  "protocol_label": "Network Port"
}

So the IDE fails to show esp32s2 at 10.0.1.25 and falls back to Unknown 10.0.1.25.

To reproduce

The simplest way is to try it with Arduino CLI:

./arduino-cli board list -w --format json

Expected behavior

Arduino IDE should receive the properties from the CLI discovered by the mdns-discovery.

{
    "properties": {
      ".": "esp32s2usb",
      "auth_upload": "yes",
      "board": "esp32s2usb",
      "hostname": "esp32s2.local.",
      "port": "3232",
      "ssh_upload": "no",
      "tcp_check": "no"
    }
}

Or the IDE should receive the "label": "esp32s2 at 10.0.1.25", from the CLI.

Arduino IDE version

9e2b73a

Operating system

macOS

Operating system version

12.3.1

Additional context

Related (if not the same): #567

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details

Metadata

Metadata

Assignees

Labels

conclusion: resolvedIssue was resolvedtopic: CLIRelated to Arduino CLItopic: codeRelated to content of the project itselftype: imperfectionPerceived defect in any part of project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions