In case you are having problems with MacOS Mojave and CH340 USB Drivers

When I upgraded to Mojave, allofasudden I could not see the serial port of my Nano ... it wasn't showing up in /dev at all. So I did the usual ... downloaded the latest CH340 drivers, then removed the .kext files from /Library etc. and re-installed the drivers and still it would not work.

This is what fixed it:

Open Terminal

type in:

sudo su <enter> (enter your password)
rm -rf /Library/Extensions/usbserial.kext

Then reboot

DO NOT INSTALL ANY DRIVERS .... it should work fine after the reboot.

Mike

Thanks for sharing your findings!

Does this mean that the official CH340 driver supplied by the manufacturer at:
http://www.wch.cn/download/CH341SER_MAC_ZIP.html
is not compatible with macOS Mojave but that macOS version comes with a functional CH340 driver pre-installed?

Are you sure -rf is needed? If a user issues rm -rf with the wrong directory, it might break the complete OS.

I'm not a Mac user and only have rusty knowledge of Linux.

pert:
Thanks for sharing your findings!

Does this mean that the official CH340 driver supplied by the manufacturer at:
http://www.wch.cn/download/CH341SER_MAC_ZIP.html
is not compatible with macOS Mojave but that macOS version comes with a functional CH340 driver pre-installed?

I cant attest to that ... and whats worse, is after a couple of hours, the device was no longer recognized and I was only to get it back after re-installing then re-deleting the driver ... until it got to a point where I cant get it back at all ... this is entirely frustrating to say the least.

I havent tried the driver directly from the manufacturer yet ... imma give it a go right now and report back.

pert:
Thanks for sharing your findings!

Does this mean that the official CH340 driver supplied by the manufacturer at:
http://www.wch.cn/download/CH341SER_MAC_ZIP.html
is not compatible with macOS Mojave but that macOS version comes with a functional CH340 driver pre-installed?

So I tried the driver from that link and it didn't work ... im less than impressed with this whole CH340 in MacOS fiasco ... imma keep digging and see what I can figure out.

sterretje:
Are you sure -rf is needed? If a user issues rm -rf with the wrong directory, it might break the complete OS.

I'm not a Mac user and only have rusty knowledge of Linux.

sterretje:
Are you sure -rf is needed? If a user issues rm -rf with the wrong directory, it might break the complete OS.

I'm not a Mac user and only have rusty knowledge of Linux.

kext files are packaged files just like an .app file is ... so the -rf flag would be necessary to traverse the sub folders within the file... and you are 100% correct, issuing this command against the wrong path could destroy your OS install so proceed with caution and triple check your path before hitting enter.

:wink:

Well, it appears that ultimately, I'm an idiot... I obviously failed to perform a thorough analysis of my situation because the moment I took my USB hub out of the equation, everything works properly ... and that is WITH the drivers installed ... so it looks like this post was pre-mature...

DOH!

Hello, I have had the same error explained in this thread. After upgrading Mac Os Sierra High to Mac Os Mujave, the communication between my computer and Arduino has stopped working.

Combining the information shown in this thread with some searches, I have found how to solve the problem:

1.- Obtain the file CH34x_Install_V1.4.pkg using the link: Download CH34x_Install_V1.4.pkg

2.- Remove the old driver by issuing one of the following commands (depending on your installation):

sudo rm -rf /System/Library/Extensions/usb.kext
sudo rm -rf /Library/Extensions/usbserial.kext

3.- Restart your Mac.

4.- Open the ZIP file and double click on the file CH34x_Install_V1.4.pkg.

5.- Restart your Mac. (Maybe you have to restart it more than once)

In my case, I use an Arduino Mega 2560, the new work port is: /dev/cu.usbmodem141101

PS: In this link you can find very useful information.

CH340G CH34G CH34X Mac OS X driver

I hope it helps if someone has the same problem when upgrading to Mac Os Mujave

Thanks JorgeSans!

I agree with EasyGoing1: removing the old drivers and not installing any drivers works for Mojave. Apparently Mojave comes with CH340 support built in. Like it should be :wink:

Neither is working for me. Not the given driver in Version 1.3 or 1.4 nor the default driver of Mojave. I also tried the new driver from mac-usb-serial.com. Also not working.

My workaround: i use an external programmer USBtinyISP. That works like a charm.

Thankyou this worked for me, only change - as of today the package is 1.5 and not 1.4

Hi,
I found your threat because I have the same problems. For me Jorge Sans' approach worked well!

Maybe there are different reasons for the described problems. I have a 2014-Macbook with always upgrading ...
Best wishes
Dieter

Newbie here...
I have an early 2016 macbook with 10.14.2 (mojave). Recently reloaded OpSys from scratch.

I am still unable to get Arduino UNO to recognize the appropriate serial port.
It does see:
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.BrucesiPhone-WirelessiAP
/dev/cu.SSDC

As you would expect, none of these allow the Examples->01.Basics->Blink to load.
Board Selection: "Arduino/Genuino Uno"

Here's the error:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

(does that 10 times)
Tried all port selections (just in case)... all fail with same messages

Help, please.
Bruce

Thanks JorgeSans. Your workaround suggestion works on MacOS Mojave.

In my current version 10.14.2, I don't need to remove old USB drivers.

I obtained your recommended package CH34x_Install_V1.4.pkg and installed it. Completing the install, all I did is a reboot. I verified with my 101 kit, it WORKS.

@bruceian

I FINALLY got this to work using

recommendations.... Thankyou Adrian Mihalko!!

including the last steps disabling SIP (and re-enabling after installation):
csrutil disable
reload drivers (I used brew method)
csrutil enable

Thank you for all your tips.
Good luck!
bruce

Hey guys... I do have fairly convincing proof that Mojave includes the working drivers for CH340 (and FTDI) as I just go a MBPro and did a clean install of the latest (OS X 10.14.2). I did not attempt to install any drivers and with a fresh install of the Arduino IDE, I was immediately able to program some Nano boards and use the Serial Monitor. Works great!

One hiccup was that my Nano boards must have the old bootloader on them but once I switched the processor type to "ATmega328P (Old Bootloader)" it worked like a champ!

So it is likely that if you've already installed the CH340 driver previously, then any problems are due to that.

Another sources of error

  • you are using an USB cable which has no data lanes, try one with data lanes
  • the device is connected to an USB 3.0 port, try an USB 2.0 port

Okay this is how to make the nano work with Mojave. I made it work and you can too.

  1. reinstall the new ch340 drivers.

2 verify the serial ports in the Arduino programing environment say /dev/cu.wchusbserial1410.

  1. Download Java for OS X 2017-001 Install the old java from this link.

..Once this is done. Delete version 1.8.8 and instal version 1.6.13 from the archive and you should be working again.

This will not work with the latest version 1.8.8 at least for me. I'm back up and programing devices using the ch340 again.

I was also having this problem, and was able to solve the issue by deleting both drivers and restarting my MacBook Air.