Serial Port Busy on Mac

A few weeks ago I started to use my wemos d1 mini and wemos d1 mini pros for the first time in a while.

I had since upgraded to the new version of MacOS and my d1 mini wouldn't show up anymore. I found help online that said to remove the kext drivers as MacOS now comes with them.

I did that and it worked.

This then meant that my d1 mini pro stopped working.
I re-downloaded the c210x drivers from silicon labs and then I got both working again.

So tonight I was messing around with my d1 mini with no issues at all.

I then tried to use my d1 mini pro and I keep getting an error when trying to upload code to it, it says the port is busy.
The port does show up in arduino and in the terminal as - /dev/tty.usbserial-017AC3B9
I tried doing lsof and it doesn't show up in the output.
I tried removing the drivers again, doesn't work.
I tried reinstalling the drivers again doesn't work.
I tried "screen /dev/tty.usbserial-017AC3B9 9600", it also says it is busy.
I am using the same cable that works with the d1 mini.
I have tried 2 d1 mini pros and both don't work.

I have been banging my head against the wall for hours and nothing is working, anyone any ideas?

My working d1 mini shows up as - /dev/tty.usbserial-1410 if that helps for any reason

Arduino error:

Executable segment sizes:
IROM   : 227372          - code in flash         (default or ICACHE_FLASH_ATTR) 
IRAM   : 26360   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...) 
DATA   : 1252  )         - initialized variables (global, static) in RAM/HEAP 
RODATA : 672   ) / 81920 - constants             (global, static) in RAM/HEAP 
BSS    : 24848 )         - zeroed variables      (global, static) in RAM/HEAP 
Sketch uses 255656 bytes (24%) of program storage space. Maximum is 1044464 bytes.
Global variables use 26772 bytes (32%) of dynamic memory, leaving 55148 bytes for local variables. Maximum is 81920 bytes.
An error occurred while uploading the sketch
Traceback (most recent call last):
esptool.py v2.8
Serial port /dev/cu.usbserial-017AC3B9
  File "/Users/avance/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/pyserial/serial/serialposix.py", line 265, in open
    self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
OSError: [Errno 16] Resource busy: '/dev/cu.usbserial-017AC3B9'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/avance/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/upload.py", line 65, in <module>
    esptool.main(cmdline)
  File "/Users/avance/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool/esptool.py", line 2889, in main
    esp = chip_class(each_port, initial_baud, args.trace)
  File "/Users/avance/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool/esptool.py", line 237, in __init__
    self._port = serial.serial_for_url(port)
  File "/Users/avance/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/pyserial/serial/__init__.py", line 88, in serial_for_url
    instance.open()
  File "/Users/avance/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/pyserial/serial/serialposix.py", line 268, in open
    raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 16] could not open port /dev/cu.usbserial-017AC3B9: [Errno 16] Resource busy: '/dev/cu.usbserial-017AC3B9'

So.... I finally fixed it.

Phewww!! Was driving me crazy.

I went to install the CP210x kernel extension again. It said there was already one there with the same version and it would remove it first then install the new one. I stopped the install wizard here.

It said the extension was in /Library/Extensions/SiLabSomething.kext (can't remember the exact name)

I was previously looking in /System/Library/Extensions/

I removed the extension, restarted my Mac and now it works again!

Maybe a recent MacOS update now includes these drivers as standard like it does for the Wemos D1 Mini (CH340, I think)