-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
MacOS Big Sur dlsym(RTLD_DEFAULT, kIOMasterPortDefault): symbol not found (ESPTOOL-82) #540
Comments
Same issue here! |
Hi @jeksys @SwiftySquirrel , Thanks for letting us know about this. esptool relies on pyserial for serial port functionality, and this is where the exception is coming from. Ultimately whatever fix is required for MacOS Big Sur support will need to be applied there and then esptool will hopefully start working again. Until then, the best we can do in esptool is apply a workaround so it's still possible to use esptool with a specific port specified on the command line, in the case that importing this utility function fails. |
@projectgus I reported the issue to pyserial |
same issue here. forgive me if I'm being thick, but just putting --port /dev/tty.usbserial-xxxxxxxx flash-id for example gives the same error. did I misunderstand the suggestion of forcing the port parameter? Thanks so much, I should know better than to upgrade my primary machine! |
Yes, sorry I didn't explain clearly. The workaround is a potential one, it still involves a code change in esptool. As a very quick hack you can try commenting this line in esptool.py:
... and then always use the ... I'm trying to get my hands on a Big Sur Preview install to do some more debugging. |
@projectgus I can confirm that if you comment out the try: import block per your suggestion above it does work on Big Sur. |
@xrolfex It doesn't for me... |
Hi, sorry for the delay, can confirm: OS11 Beta (20A4299v) commenting out lines 56-61 of esptool.py and using the explicit --port works. Thank you! |
Hi, I have the same issue on my mac with BigSur. I'm using Arduino IDE and when I try to verify my code, it shows the same message. I am totally new in this world and don't know how to configure the port from the Arduino IDE so I can not verify and load my code into my ESP8266. If somebody has any idea about how to do it, I would appreciate it. |
The suggested fix worked for me.
|
A have a question which is linked to that I have python 3.7.7 installed and that is my current python but esptools via Arduino keep on trying to get to 2.7 |
NB, in case anyone is interested, this works for the v3.0-dev version of esptool.py in case you are using that with your s2 modules... |
I guess we just have to find v3.0-dev version of esptool.py... Could you provide a link to this version, please? |
@projectgus Thanks, it works for me on BS 11.0 Beta (20A5354i)! By the way, a big thanks for your teamwork on this tool! |
…view References: #540 pyserial/pyserial#509 The fix will probably come in a Python update before the Big Sur final release, there is a bundle of PRs including an apparent fix for the underlying issue here: https://bugs.python.org/issue41100
Commit cb2060c is a workaround for this issue, so that esptool.py can run (without being able to detect the port). If you pull the latest master branch version of esptool.py (or follow the instructions in the README to install in "Development Mode" via GitHub) then no more modifications of the code should be required It looks like the actual fix will come in a Python update once this issue is resolved: https://bugs.python.org/issue41100 Will keep this issue open, at least until the upstream issue is resolved. |
@projectgus Thankyou for the workaround. I can confirm I've been trying to implement this to use arduino-cli or Arduinos own IDE with no luck. Inspecting the JSON board definition files i found arduino tries to compile the code not with python+esptool.py but with a binary stored in $arduino_packages/esp32/esptool_py/2.6.1/esptool which I guess its a compilation out of esptool.py. I have never used esptool standalone and I don't know where to go next. Of course, I know I could wait for the actual python fix and keep using my raspberry pi for now. But I would love to learn a little more in the area. What would you recommend? |
@R0dri I'm not actually familiar with arduino-esp32 enough to give you an exact answer. However if you can get esptool.py master to run locally (by following the steps in the README for a development install) then you can probably update the Arduino platform.txt file here to specify a new path and command to run: |
Hey. I tried to apply a workaround and I got an error. What advice can you give? 😭
|
This message is unrelated to the fix provided by Expressif. This error indicates that you need to update to the latest Xcode developer tools build. |
|
@exrector I am running the same configuration as described in your comment. Funny enough, I was experiencing error when attempting to commit to an unrelated repo. To resolve the issue, you should download the Apple Command Line Tools via the Developer Downloads portal, or via the direct link to the latest Xcode 12 tools here. |
I changed line 6 and 7 in platform.txt from tools.esptool_py.path={runtime.platform.path}/tools/esptool to tools.esptool_py.path={runtime.platform.path}/tools that did the trick for me, the arduino IDE is now using esptool.py instead of the compiled binary in the subfolder. |
@evoegelin All of your issues are Arduino related, right? You don't experience these with ESP-IDF directly? The Big Sur workaround is available in the esptool's |
Yes this all is only Arduino IDE related on a Mac after update to Big Sur. |
In this case I recommend to raise an issue there (if there isn't one already) and request to update to newer esptool.
Unfortunately, we need to wait with this for a solution in Big Sur. |
I released 1.0.5-rc4 today that includes a rebuilt esptool for Mac. Make sure you uninstall the core first (esptool version is the same so it needs to first wipe all) |
Great! Thank you @me-no-dev. |
I have a Heltec ESP32 dev board and it has a CP2102 UART which works fine with Big Sur. Installing the Silicon Labs drier may well break loading of the Apple SILabs driver as it did with a FTDI FT2232 I was using. So probably best to uninstall all traces of the SILabs kexts (could be in /Library/StagedExtensions or /Library/Extensions) and only use the Apple driver. |
Thank you @me-no-dev. I erased Arduino from my Mac and installed it new from the scratch. It's working properly. Thank you. Thank you all. |
This solved it for me on MacOs Big Sur with VSCode and Platform.io. No need to edit any line of python code anymore. |
Thank you all for the responses. I'm closing this now because I consider it solved as I described before. Feel free to ping me if you disagree. |
Thanks @me-no-dev, the 1.0.5-rc4 update got this working for my mac running big sur 🙇🏽 Something worth mentioning for other people that run into this issue is that to get this update (as of the typing of this comment) you need to use the Development Release json file instead of the Stable Release json. You can find details in the install readme.
I was super confused at firwst b/c I only saw 1.0.4. A bit of searching/reading set me straight :) |
Thank you Christopher Schmitz! First time in weeks now, that I can once
again connect with my ESP32 and Mac, using Big Sur! I had tried a number of
code workaround solutions, and nothing was working, until you put out the
Board Manager Solution:
Thanks so much, it's great to get reconnected again!
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
…On Wed, Dec 16, 2020 at 9:44 PM Christopher Schmitz < ***@***.***> wrote:
Thanks @me-no-dev <https://github.com/me-no-dev>, the 1.0.5-rc4 update
got this working for my mac running big sur 🙇🏽
Something worth mentioning for other people that run into this issue is
that to get this update (as of the typing of this comment) you need to use
the *Development Release* json file instead of the Stable Release json.
You can find details in the install readme
<https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md>
.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
I was super confused at firwst b/c I only saw 1.0.4. A bit of
searching/reading set me straight :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#540 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJO4L5KPUVANJDNOK2J7U7DSVF5BZANCNFSM4OH3QGIA>
.
|
Thank you @chris-schmitz. Dev channel board worked. still having the 1.0.5-rc4 as the latest. |
No prob :) I didn't put out the release, just linked to it after I found it. |
For everyone still reading this issue, this worked for me
|
Hi
any idea what could be causing this? |
WEMos and M5 is working but for DOIT and a lot of other boards bring folloing Massage: esptool.py v2.9-dev A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header does anybody can tell me what is going wrong? |
@electronic-cosmos it looks like a physical connection error. Check that everything is properly connected |
This is happening for me as well, I haven't solved it yet Thanks |
Try this. You can probably just follow the replace esptool part. |
Thanks @Elijahg . It worked! |
https://docs.python-guide.org/starting/install3/osx/ |
Full esptool.py command line as run:
esptool.py chip_id
Full output from esptool.py
What is the expected behaviour?
Connected device info
Do you have any other information from investigating this?
I worked before the MacOS upgrade
Is there any other information you can think of which will help us reproduce this problem?
The text was updated successfully, but these errors were encountered: