-
-
Notifications
You must be signed in to change notification settings - Fork 435
Firmware Updater fails when target port has multiple identifications #2175
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
Comments
What do you expect to see in the |
The menu should only offer the boards that are supported by Arduino Firmware Uploader:
Even when there are multiple board identifications for a port in general, it is likely that only one of those will ever be supported by the Firmware Updater. Even if at some point in the future there was a situation where the tool supported multiple boards that shared the same port identification properties, as long as the boards supported by tool continues to be curated by Arduino, there would never be a case where there was a problematic number of supported boards for a given port. In the demo I provided, there are two general identifications for the port (e.g., |
moved the board inference logic from UI to model Closes #2175 Signed-off-by: Akos Kitta <[email protected]>
moved the board inference logic from UI to model Closes #2175 Signed-off-by: Akos Kitta <[email protected]>
Describe the problem
Arduino boards platforms may associate a board definition with port identification properties. Arduino IDE identifies a port as being that board when the port has these properties.
The platform framework doesn't provide any mechanism for restricting the association of a given set of identification properties to a single board definition, so it is possible (and even inherent to some use cases) for a port to be identified with multiple board definitions.
🐛 If the port of the target board is identified with multiple board definitions, the Firmware Updater fails.
To reproduce
Equipment
One of the boards supported by the "WiFi101 / WiFiNINA Firmware Updater" feature:
Steps
hardware.zip
The folder structure should look like this:
ⓘ This and the three steps before are not required to reproduce the fault that is the primary subject of this report. They are included in order to demonstrate a related fault associated with the conditions of using "WiFi101 / WiFiNINA Firmware Updater" when there are multiple identifications of the target port.
The "WiFi101 / WiFiNINA Firmware Updater" dialog will open.
🐛 The menu doesn't open.
The "Select Other Board and Port" dialog will open.
🐛 The update process immediately fails:
Clean up
hardware/fwuploader-board-dummies
subfolder of your sketchbook folder.Expected behavior
It is possible to update firmware on target boards for which the port has multiple identifications.
Arduino IDE version
69ae38e
Operating system
Windows
Operating system version
11
Additional context
I bisected the regression to 69ae38e (neither of the faults occur when using the build from the previous commit 9a6a457 under the same conditions).
The minimal "dummy" boards platform used to produce the required conditions in the demo is not anything a real user would have installed, but the fault also occurs in the more common (but more work to reproduce) conditions of having an additional real boards platform installed that associates a board definition with the identification properties of the target board's port. A real world example of this would be having both a release version and a development version of a platform installed at the same time, as is common for platform developers and beta testers.
Issue checklist
The text was updated successfully, but these errors were encountered: