-
-
Notifications
You must be signed in to change notification settings - Fork 6
OTA network ports show in all 1.8.X versions but not in any 2.X versions of IDE #25
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
I'm experiencing the same issue. Arduino 1.8.x works like a charm and lists my NodeMCU ESP boards for OTA update right after the start, but 2.0.0-rc6 doesn't show any board at all. Running the Arduino 2.0.0-rc6 IDE on an Intel Mac. |
I think the best way to proceed with the investigation is to eliminate any unnecessary factors from the equation. So I'm going to ask you to to an experiment and report your results. The network port discovery is done using a tool named mdns-discovery. If the problem still occurs when you use that tool directly, then we can eliminate the Arduino IDE and Arduino CLI from consideration as being related to the problem. ❗ NOTE: The following instructions will not solve the problem. They are only intended to gather additional information. I'll provide the instructions here: During all this, keep an eye out for anything that doesn't match the expected behavior as described at each step.
You should continue to see the same results if you repeat steps (10) and (11). Once you are done with your experiments with the "mdns-discovery" tool, follow these instructions to exit:
|
Hey @per1234, thanks for your support. I tried this but failed at 10. with this after the "START SYNC":
This loops all over again. Any suggestions? Shall I continue? Kind Regards PS: It's v1.05 for the discovery tool |
Thanks @datort! That is very useful. I can see that you are experiencing the issue tracked here: #24 #24 is almost entirely lacking in any useful detail, but I can see from a reference to it in another issue that it does indeed produce errors that follow the same format: arduino/arduino-cli#1543 (comment) So we know that this is the result of a deficiency in the mdns-discovery tool for you, and not anything specific to the Arduino IDE 2.x code base. I'll wait for the output from @HomeSpan to see whether their port discovery failure is also caused by the same. Sadly, I am not aware of any workaround for the issue other than using Arduino IDE 1.x until there is a real fix. |
I just tried and have exactly the same issue - the v1.0.5 version loops with the same error message when I issue START_SYNC. However, I also have v0.9.2 on my system and when I ran that version it did not loop in step 10 - it simply responded with start_sync being OK (in JSON format). To try this version with the Arduino IDE I deleted the 1.0.5 directory, thinking that the IDE would automatically use version 0.9.2, but it appears that the Arduino 2.0 IDE automatically installs version 1.0.5 during startup if that version is not found. To get around this, I renamed the file mdns-discovery in the 1.0.5 folder to something else, and I copied the mdns-discovery executable file from the 0.9.2 folder into the 1.0.5 folder. I then restarted the Arduino 2.0 IDE and...it worked! All my devices that broadcast OTA now correctly show up in the Arduino 2.0 IDE as network ports. As noted in some other threads, the only info provided is the IP address of each board, not the hostname (which is provided in Arduino 1.8.19). I suppose this is the issue that was fixed in v1.0.5, but something else must have broke that now causes it to completely fail, whereas v0.9.2 still works (though with the limitations of only showing the IP address). Can a bug-report be created for v1.0.5? |
Thanks for the information and for sharing the workaround @HomeSpan! Since we have determined that it is not directly caused by Arduino IDE 2.x, I have transferred the issue to the mdns-discovery repository's issue tracker. |
@per1234 Let me know if you need me to test something. |
Is there anything more I could provide to help get this sorted? |
Thanks all. I am mostly in the triage role here and don't know much about the subject. It will likely be very helpful for the developers to have the assistance of those who are able to reproduce the issue once the time comes for a more in depth investigation and fix. If you are interested in going further with this, you can try to bisect the problem. @HomeSpan found that the problem occurs with the 1.0.5 release, but not with the 0.9.2 release. That is useful, but it still leaves a large range of changes that might have introduced the problem: The low hanging fruit would be to download the binaries for each of the releases from that range and bisect to the release. You would simply repeat the procedure I described in my previous reply, except using the The binaries are available for download from the "Assets" section of each of the release pages: https://github.com/arduino/mdns-discovery/releases After that, if you want to get a bit more fancy by bisecting to the specific commit. That will require checking the repository out to each commit in the range between the last "good" release and the first "bad" release, then building the project from the source code using Go. The bisection might also be helpful for those who want to use the workaround described by @HomeSpan because you could use the most recent available "good" version as the replacement for the "bad" 1.0.5. |
The issue begins with release 1.0.0, which seems to be a complete refactoring of 0.9.2. I noticed in the source code the v1.0.0 tries to consume an IP6 address. My boards are no broadcasting an IP6 address (only IP4), and the error message @datort noted above is related to IP6. Perhaps that is the source of the problem? |
per1234 - What do you mean by "plug/unplug" Arduino board? My boards are just network devices, visible as network ports in Arduino IDE 1.x but not in most recent Arduino IDE 2 (i cannot physically plug them into main computer ;)) |
Hi @Maarkk I apologize for the confusion. The instructions were based on the ones I previously wrote for serial discovery troubleshooting. In this case, instead of:
I should have written this:
Instead of:
I should have written:
Instead of:
I should have written:
|
Thanks - that clears the thing :) |
I have the same problem on my Windows machine. It works perfectly on my Linux machine though. |
A few things i've learned the other day concerning the initial issue I'd like to share: For me it turns out, that it's really just IPV6 related. The issue is the same on my Mac and Windows machine with mdns-discovery v1.0.5. After an update, my router supports (favors?) IPV6 addresses even in my local network. While Macs/PCs and the ESP board have their IPV4 addresses, Mac/PC also get's an IPV6. If I switch off the IPV6 support in my router and let the Mac/PC update their DHCP-given addresses, Arduino IDE 2.x is able to find the boards. If have some more issues with Arudino IDE after that, but's probably another issue or some research on my side. |
Any updates? I have also noticed a weird issue running on Windows; mDNS packets only go to localhost interface, and nothing goes to the actual real network when running Maybe OT: looking at internals of arduino-cli and mdns-discovery... hashicorp/mdns example from README does work when I write a little program and select some specific interface via |
IDE version 1 always sees ESP-LINK boards, IDE version 2 can SOMETIMES see them. But not for long... If I change mdns-discovery.exe on version 0.9.2, the detection is always successful. |
Closing as solved with the release 0.9.2 that has been published weeks ago now. |
This seems to still be a problem. On Debian 12.9, 0.9.2 works perfectly, but neither 1.0.9 nor 1.0.10 work (with any usable reliability). I've tested with the CLI steps above and I get no (or only sporadic/unreliable) discovery output from 10.0.9/10 after the START_SYNC. Not sure where the change occured after 0.9.2, but it is not working in 1.0.9/10. ============ I worked around this by creating a dir Please reopen. |
Describe the problem
I am using the ArduinoOTA library that is included with Arduino-ESP32 (version 2.0.2) and under Arduino 1.8.19 every works fine. I can see all of my ESP2 devices under the Port menu in 1.8.19. I can also see the MDNS broadcasts are working. However, none of the devices show up under Arduino IDE 2.0.0 RC 6 (or any previous versions). Based on other posted issues it appears that there was some problem with showing device names, but nothing about the lack of any devices showing up at all. Are there other MDNS items that must be broadcast that are required by 2.0.0 that were not required by 1.8.19? Or perhaps a preference setting in IDE 2.0.0 that enables network ports to be shows?
To reproduce
Compile and load ArduinoOTA->BasicOTA Example from Arduino-ESP32. After running, board shows up as network port under IDE 1.8.19, but does show up an network port under 2.0.0 RC6.
Expected behavior
Expected board to show up under network port within 2.0.0 RC 6.
Arduino IDE version
2/0/0
Operating system
macOS
Operating system version
12.3.1
Additional context
No response
Issue checklist
The text was updated successfully, but these errors were encountered: