I’m curious about what I just did. Please let me know if this makes any sense.
I’ve had an ESP-PROG board for a while, but I’ve merely used it as a USB-to-serial adapter. I never installed any drivers; the default Apple drivers have been fine. My Mac is running OSX 11.2.3 (Big Sur). Plugging in the ESP-Prog causes four new entries to appear in my dev directory:
/dev/cu.usbserial-14300 /dev/cu.usbserial-14301 /dev/tty.usbserial-14300 /dev/tty.usbserial-14301
The second one down has always worked fine with the six-pin “program” header on ESP-Prog board, for both program upload and serial monitor.
Today I decided to try out the JTAG interface.
So, I dutifully read the PlatformIO page:
ESP-Prog — PlatformIO latest documentation
Which directs me here here for driver information:
Which discusses installation of new VCP drivers, and a D2xx driver. It says the D2xx driver can’t do its thing if the VCP drivers assert the hardware first (also mentioned on the PlatformIO page), so there are a few options for disabling the VCP drivers. I opted to install their ‘D2xxHelper.kext’ utility, which simply blocks them. I did not install their new VCP drivers, since the ones I have seem to be working fine, and I assumed I’d be blocking them anyway.
After installation, sure enough the /dev/ ports stopped showing up but the “System report” still showed new USB FTDI hardware when the ESP-Prog was plugged in. Good so far.
Then I installed the D2xx driver.
I configured platformio.ini and tried ‘run/Start debugging.’ It worked great the first try.
But, my serial monitor was no more, and a bit of snooping on this forum & elsewhere suggested that folks were configuring the serial monitor like I had it originally: using the second port provisioned by the VCP drivers. Hmm?
So… I wondered if I really did need that ‘helper’ thing, and removed it.
My /dev/ ports showed up again, debugging still works, and now I have my serial monitor back.
So… now I wondered if I’d really needed that D2xx driver. Uninstalled; rebooted…
And everything still works.
So I should’ve just tried it first without reading the instructions. What a waste of time :-).
I’m guessing that the current PlatformIO code doesn’t use the D2xx driver (probably has the code static linked); and perhaps they’ve overcome this issue with the VCP drivers asserting the hardware first.
So it works. I’m happy.
But does it make sense? Am I missing something? Have other folks with OSX 11 had the same experience? Could it be I have a driver installed somewhere that I don’t know about? How could I tell?
Or, maybe the PlatformIO page ought to have a line that says “just try it first, before you go installing all this crap.”