PL2303 Serial-USB on OSX Lion

Here’s a way to get you PL2303-based Serial-USB adapter working with OS X Lion (10.7). Based on the osx-pl2303 project on github, I’ve built a kernel extension that works with OS X Lion. You can grab the kext file here or from the link below.

Installing the kext file can be done in a few easy steps:

  • download and extract
  • cd /path/to/osx-pl2303.kext
  • cp -R osx-pl2303.kext /System/Library/Extensions/
  • next you need to fix permissions and execute bits:
    cd /System/Library/Extensions
    chmod -R 755 osx-pl2303.kext
    chown -R root:wheel osx-pl2303.kext
  • cd /System/Library/Extensions
  • kextload ./osx-pl2303.kext
  • kextcache -system-cache

Good luck!

http://xbsd.nl/~martijn/log/osx-pl2303.kext.tgz

About martijn

http://xbsd.nl/about/
This entry was posted in xbsd and tagged , . Bookmark the permalink.

123 Responses to PL2303 Serial-USB on OSX Lion

  1. Joakim says:

    Great work, would it be possible for you to send your changes as a pull request to the github project?

  2. Rich says:

    Thank you! Works for me on Lion. Been frustrated with this since the upgrade.

  3. Got the source from sourceforge, opened in xcode4, and it wouldn’t even build. Thanks for doing the work! Much appreciated.

  4. Mohd Faridz says:

    thanks a lot

    BTW, i think u hav misspelled the word in “kextload ./osx-pl2302.kext”. it is suppose to be 2303 right??

  5. Grate thanks for your grate work.

  6. Michael says:

    Thank you so much! That saved me a very ugly weekend of work…!

  7. Jim says:

    Well done. Very sad since the upgrade. You save my job ;-) Thank you so much.

  8. Rich says:

    thank you for this updated 64 bit driver…. i followed your directions and my Prolific PL2303 works just fine now in Lion (tested using SecureCRT for Mac and it sees the driver and can talk to it).

    Also for anyone who was using Z-Term for Mac this does not work in Lion (no PowerPC support). I had to switch to SecureCRT just for serial-based terminal connections.

    Rich

  9. dan says:

    I had this running until my OS X Lion upgrade. I could not get it working all day and found your post. Thanks! Took me all day to find you and glad I did. Fixed me in about 3 minutes!!! Great work!!!

  10. Mark Sousa says:

    You da man!… man!

  11. Fudge Factor says:

    Awesome, solved my problem. Spent hours trying to get the official prolific driver to work, but with no luck. Your solutions works like a charm!

  12. Brian LaVallee says:

    Thanks Martijn!

    Just what I needed to get my USB serial adapter working.

  13. David says:

    Wow — thanks, Martijn. Finally, got this working!

  14. Pingback: matze-man.de » PL2303 Serial-USB mit OS X Lion

  15. Wayneo says:

    Hi,
    I tried to remove this from my system with no luck. Here’s what I ran with the accompanying error. Can anyone help here, thanks.

    sudo kextunload /System/Library/Extensions/osx-pl2303.kext/
    Password:
    (kernel) Kext nl.bjaelectronics.driver.PL2303 not found for unload request.
    Failed to unload nl.bjaelectronics.driver.PL2303 – (libkern/kext) not found.

    • Martin says:

      You do not probably have osx-pl2303.kext load in your kernel.
      Try in Terminal

      kextstat

      Then find in a list nl.bjaelectronics.driver.PL2303. If it is not there
      you do not need unload this kext driver.

  16. Nice one! Just made my UPS work. Thank you….

  17. Erik Loeth says:

    Nice, works great.

    Saved the day

  18. Good job. I’ve lost 3 hrs yesterday fighting with original driver. This one installed in a matter of seconds. Another reason not to boot windows virtual machine :-)

  19. Greg says:

    Thank you VERY MUCH!…this saved the day.

  20. Tobias says:

    Super, this is great, thanks a lot.

    For those who were using ZTerm and found it not to work under Lion, I’ve switched to CoolTerm, which seems to work just fine, and with the 2303 too.

    Thanks again,
    Toby

  21. Reivyn Calix says:

    thanks a lot!!!

  22. DH says:

    Well done–worked perfectly for me. Was the last item on my Lion compatibility checklist. Thanks!

  23. Dave says:

    This is exactly what I was looking for.
    Things are working great, thanks for your help!

  24. brinda says:

    i am not able to work with COM PORT on my Lion os.
    when i execute above steps , “kextload ./osx-pl2303.kext ” is not working on my machine.
    please help me as soon as possible…..

  25. brinda says:

    i have one doubt if i use RS232 cable it works fine with mac os 10.6 but if i use it with 10.7 it does not work. so is there any cable issues with Mac os Lion? Lion required particular cable for com port ? is there any permission issues with Lion??

  26. yangfeng du says:

    so you did a great work

  27. shinta says:

    Thanks! I got it working because of your post.

  28. Rune Dyrhaug Stoknes says:

    This was a lifesaver, thank you!

    Struggled for hours trying to download from Prolific directly, but that didn’t work.

  29. Rod Lorimor says:

    Ditto on lifesaver!

    This post helped me find an adapter that worked and then get the driver installed without breaking my USB ports.

  30. David C says:

    Thank you, I was pulling my hair out trying to get MacDive working on Lion with a USB/Serial to download dives.
    One thing that did throw me was no mention of having to SUDO to copy, chmod and chown. Once I’d sussed that all went fine.

    I was begining to hate Apple and Lion, but things are slowly coming right again (thanks to you and others like you, rather than to Apple!).

  31. brinda says:

    i had a problem with cable.
    finally it works….!!! :)
    Thanks a lot..!! :)

  32. jesus says:

    Thank you very much

    Man you save my day..!!

  33. dCvR says:

    absolutely amazing, worked like a champ!!! a million thanks.

  34. Wally says:

    thank you. DB9 serial is still essential for my job.

  35. Ashley says:

    I have the very same problem and its very annoying. One slight issue is that I am not a terminal guru but I can get around and follow instructions :-)

    I have downloaded the file, but when I follow the copy command I get a load of permission denied messages in lots of directories. Any help would be greatly received – ideally via instruction format :-)

    Mac-Prompt$ ls
    osx-pl2303.kext osx-pl2303.kext.tgz
    Mac-Prompt$ cp -R osx-pl2303.kext /System/Library/Extensions/
    cp: /System/Library/Extensions/osx-pl2303.kext: Permission denied
    cp: osx-pl2303.kext: unable to copy extended attributes to /System/Library/Extensions/osx-pl2303.kext: Permission denied
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents: No such file or directory
    cp: osx-pl2303.kext/Contents: unable to copy extended attributes to /System/Library/Extensions/osx-pl2303.kext/Contents: No such file or directory
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents/Info.plist: No such file or directory
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents/MacOS: No such file or directory
    cp: osx-pl2303.kext/Contents/MacOS: unable to copy extended attributes to /System/Library/Extensions/osx-pl2303.kext/Contents/MacOS: No such file or directory
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents/MacOS/osx-pl2303: No such file or directory
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents/Resources: No such file or directory
    cp: osx-pl2303.kext/Contents/Resources: unable to copy extended attributes to /System/Library/Extensions/osx-pl2303.kext/Contents/Resources: No such file or directory
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents/Resources/COPYING: No such file or directory
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents/Resources/English.lproj: No such file or directory
    cp: osx-pl2303.kext/Contents/Resources/English.lproj: unable to copy extended attributes to /System/Library/Extensions/osx-pl2303.kext/Contents/Resources/English.lproj: No such file or directory
    cp: /System/Library/Extensions/osx-pl2303.kext/Contents/Resources/English.lproj/InfoPlist.strings: No such file or directory
    Mac-Prompt$

  36. Shawn says:

    Thanks so much, my serial adapter works perfectly now under Lion!

  37. changux says:

    Hi.
    Great work, thanks. I made a little installer for this module to have it done in one step without terminal commands. Check here:

    http://changux.co/osx-installer-to-pl2303-serial-usb-on-osx-lio

  38. Tomas says:

    Thank you!! worked like a charm!

  39. Mike says:

    Thanks dude, awesome work!!!

  40. Jim says:

    Thanks,

    Work for me consoling into Cisco devices using screen.

  41. Bryan says:

    I get the olowing error in ‘sudo dmesg’.

    AppleUSBCDC: start – initDevice failed

    • martijn says:

      You van use System Information (system profiler on OSX < 10.7) to check if the adapter is a pl2303 based adapter.
      Based on the error I guess that it isn’t.

      • Bryan says:

        It is, it worked fine in 10.5 with the drivers from the manufacture. This specific one happens to be the one from BestBuy.

      • Bryan says:

        USB-Serial Controller:

        Product ID: 0×2303
        Vendor ID: 0x067b (Prolific Technology, Inc.)
        Version: 3.00
        Speed: Up to 12 Mb/sec
        Manufacturer: Prolific Technology Inc.
        Location ID: 0×04100000 / 4
        Current Available (mA): 500
        Current Required (mA): 100

  42. pfanni says:

    Thanks so many times!

    Can’t believe that the current official kext, that “supports lion” does not work! Come on Prolific, release a working driver for your product!

    • pfanni says:

      and i get the same message in dmesg!
      0 0 AppleUSBCDC: start – initDevice failed

      on lion 10.7.2

      from system information:
      Produkt-ID: 0×2303
      Hersteller-ID: 0x067b (Prolific Technology, Inc.)

      the device is called /dev/tty.PL2303-000013FA btw..

  43. Bas says:

    Hi Martijn,

    Thank you _very_ much for this Kernel Extension. I was just getting ready setting up my Cisco voice lab when I realized I upgrade to Lion last week…

    You saved the day, thanks. :)

    Regards,

    Bas

  44. Jon Robinson says:

    Rich Love at MacWise pointed me your way and it worked great. Thank you.

  45. Boris says:

    This driver seems to overrun the output buffer. When data is written faster than the serial port can output it, data loss or corruption happens when some buffer fills up. If the buffer isn’t allowed to fill up, everything works perfectly. The write calls in C never fail, and they always return as if they wrote the requested number of bytes. I’m using a Dynex DX-UBDB9 adapter with 10.7.2 and communicating at 9600 baud without any flow control.

    The 1.4.0 driver from Prolific doesn’t have this problem. It did cause hangs which made the process using it unkillable and prevented the driver from being unloaded. However, after making some changes to termios flags I’m not getting that problem anymore.

  46. Andy Patel says:

    Thanks!, I’m transitioning from PC to an MBP and this was the deal breaker.

  47. Marco says:

    Thank you very much! I was trying around for days with the PL2303 driver and had no luck, this one worked on the first try!

  48. Pingback: Running PureData patches on a Beagle Board. | El Software Ha Muerto

  49. James says:

    Thank you, thank you, thank you, thank you!

    I finally got comms going over a prolific based RS485 interface. (the driver from prolific.com.tw got me nowhere.)

    Mixed blessing though. After just a few transactions, my Lion machine kernel panicked with USB IO kit driver in the backtrace.

    If it is of help, I can send you the dump.

  50. Tore Kvalheim says:

    Got a new iMac a couple of months ago, and have been using Lightroom mostly. Recently, I had to use Photoshop to do some extracting of backgrounds around people and hair in particular. A bit cumbersome with just the mouse.

    Remembered that I got a Wacom Digitizer II. Got a Sandberg serial to USB adaptor today, and started to get a little bit frustrated when I found Tablet Magic and the device could not be found.

    Luckily I did some more searching and came by your tip. Too good to be true, I thought.

    BUT, it worked!!!!!!!! Extraction will now be a whole lot easier!!!!

    Thanks a million.

    One happy Norwegian :-)

  51. Gabe says:

    Thanks very much! I’ll echo some of the others that I needed to sudo some of the commands. Also, if you don’t wanna download a real terminal emulator, `screen` will talk to a tty quite happily.

    e.g. ` screen /dev/tty.PL2303-00002006 19200 ` works on my machine. The digits after PL2303 will probably vary for you, and the 19200 is the baud rate — some devices only like to go to 9600 baud.

  52. Pingback: Dialoguer avec une interface série @ [admin@blog] #

  53. Rojpiti says:

    Thank a lot !

  54. Alex Wong says:

    I have tried the method mentioned…I am currently able to see the device in /dev/tty.usbserial …But when I tried to open the zTerm and config with 9600,8bit,null,1 with no flow control…I can only see a underline and there is nothing inside the window…even I tape in anything it doesn’t show in the xterm windows..
    I am very confusing about this..I just wanna to use MAC to configure my routers..
    Btw I am using the new MACBK Pro.I am not sure if that causes the problem.

  55. Jon says:

    I experienced a problem when I ungraded to OS X 10.7 that didn’t allow my Bushnell Neo golf GPS to connect to my computer. This website has allowed me to reconnect. Thanks very much.

  56. avi says:

    a Long time i’ve been searching for a solution that work… and this one is the one that did the trick!

    10x a lot

  57. Rusty Clarkson says:

    After restarting this worked perfectly. Thank you.

    Mac OS X Version 10.7.2

  58. Pingback: Terminale seriale su OSX Apple

  59. Anon says:

    Many thanks!!

  60. Pingback: Installing USB to Serial adapter | zentralmaschine

  61. Chris Thompson says:

    You rock! Worked perfectly!

  62. B says:

    freaking awesome! this even let my cheap little radio shack usb-to-serial adapter work under OSX! Thanks!

  63. ATEN says:

    Here is the Official Driver for the UC-232A latest version as of today..
    Tested and works fine under 10.7.2 lion

    http://www.fileserve.com/file/CFptqB9/UC-232AC_1.4.0.zip
    http://www.megaupload.com/?d=IVDIPRO2

  64. Joe says:

    I love you Tobias!
    After 2 days of wasted install/unistall of any kind of 2303 drivers I’ve solved with CoolTerm. A lot of problems with ZTerm and MacWise.

    Thanks, thanks, thanks and thanks again!

  65. David says:

    I have used this on OSX Lion 10.7.2 (11C74) on a macbook pro 15″ 2.66 GHz i7 pre-thunderbolt.
    But on Mac OS X Lion 10.7.2 (11C2002) on a macbook pro 15″ 2.5 GHz i7 thunderbolt model, this driver will cause the Mac to hang at bootime.
    A verbose boot reveals little, as do the logs.
    I’ve tried the download from Prolific which claims to work for Lion (this failed to work on the older mac, as well) and the download from “ATEN” on this page.
    I can recover by restoring /System and /Library.
    Can you share your build info, so I can have a crack at rolling my own?

  66. Worked like a charm, thank you!

  67. Scott says:

    Thank you, thank you, thank you!
    I thought my Lion upgrade had made me a very unhappy person.
    The company supplied 1.4 (that masquerade as 1.3) drivers failed repeatedly.
    Yours work like a charm.
    Virtual high-five – and there’s a beer in Toronto with your name on it if you ever are on this side of the “pond”.
    73 de VA3NMI

  68. Rich R says:

    Wow…I connected up my ETX yesterday for the first time with Lion and I have spent all of today trying to get it working! I was getting nowhere until I found your page here and now my scope is connected and working fine on my MBA.

    Thanks a million times over….or maybe I should say, Thanks*10^6 ;)

    Rich

  69. Jos says:

    Hey collega!

    Vette shit man, het werkt!

    Groeten, josa

  70. Pingback: CP-US-03 Serial Adapter on OSX - Tech Tips Blog

  71. Roger says:

    David,

    Have you had any luck on a thunderbolt i7 macbook pro running 10.7.2? I can’t seem to get anything at all to work. Thanks.

  72. Troy says:

    I followed the directions step by step, it works like a champ. Cheers!

  73. Chentou says:

    Thanks, great work!!
    I tried a lot of driver and have asked the Apple Support. Finally, you have the solution for me.

  74. Juan says:

    Thanks bud!!! :)

  75. Tri says:

    Nice work man. :)

  76. Johnny says:

    Very nice to have my adapter working again so quickly since upgrading my work laptop to Lion. Thanks much!

  77. Erik says:

    Martijn – thanks so much for doing this work. It really helped me out with my adapter and Lion.

    E

  78. Gonçalo Pires says:

    Brilliant! Saved my day!

  79. Jelle says:

    Hi,

    I’ve followed your steps, and now i am able to select the cable in applications such as ZTerm and CoolTerm. But when i connect to the cisco router, i don’t see anything popping up. I’m using the correct configuration (9600, 8 data bits, no parity and stop bits 1).

    Do you have an idea of what the problem might be?
    Thank you.

    Jelle

  80. Jake van Schaik says:

    Great stuff, Thanks Martijn!

    Worth remembering to do

    before doing this. Worked first time for me.

  81. Markus says:

    Tried to follow your instructions. Installation worked, when I load the driver it also seems to work:

    desmond:Extensions root# kextstat | grep 2303
    >> 135 0 0xffffff7f80f5f000 0xb000 0xb000 nl.bjaelectronics.driver.PL2303 (1.0.0d1)

    When I’m looking for a new tty device, after I’ve plugged in the USB2SER cable, I do not see anything new, most of the times:

    mb@desmond ~ [0] [94] $ ll /dev/tty.*
    > crw-rw-rw- 1 root wheel 18, 2 27 Feb 19:55 /dev/tty.Bluetooth-Modem
    > crw-rw-rw- 1 root wheel 18, 0 27 Feb 20:02 /dev/tty.Bluetooth-PDA-Sync

    Sometimes there are new devices:
    > me@myhost ~ [0] [95] $ ll /dev/ttys00*
    > crw–w—- 1 me tty 16, 0 27 Feb 20:32 /dev/ttys000
    > crw–w—- 1 me tty 16, 1 27 Feb 20:33 /dev/ttys001

    After I try to connect to such a device, I’m not able to connect a second time. Instead I get:

    > me@myhost ~ [0] [96] $ screen /dev/ttys001
    >Cannot open your terminal ‘/dev/ttys001′ – please check.

    When I try to do a “# kextstat | grep 2303″ again, there is no kex anymore.

    OSX 10.7.3

    I’m pretty sure that my Cable uses the 2303 chip. At least the name on the cable says HL-340.

    Any Ideas?

    • Monty says:

      Hey Markus

      I am having the same issue. Did you ever get this sorted?

      I seem to get this in my system information:
      USB2.0-Ser!:
      Product ID: 0×7523
      Vendor ID: 0x1a86
      Version: 2.54
      Speed: Up to 12 Mb/sec
      Location ID: 0xfd130000 / 5
      Current Available (mA): 500
      Current Required (mA): Unknown (Device has not been configured)

  82. me says:

    GREAT, THANKS!!!

  83. ScaredyCat says:

    Excellent, works with this http://linitx.com/product/11627 on my 2011 MBP – thank you for sorting this out! Driver on prolific site didn’t work at all, this one works with no issues.

  84. Maine says:

    Worked like a charm. No issue. Quick and easy. Thanks.

  85. Pingback: 10.7 USB to Serial Fix | MTIN xISP topics

  86. Dana says:

    You da man! Nice work.

  87. Johan says:

    Geweldig! Na eerst de orginele 1.40 driver geïnstalleerd te hebben (en weer met veel moeite, inclusief een reboot, gedeinstalleerd te hebben) doet jouw driver het op OSX Lion het gewoon in 1 keer! Super :-)

  88. Hello! I need some help regarding pl2303. I really don’t have any idea of what the pl2303 is, but often when I update software, it appears a window that says something like this: Systemtillegg kext.pl2303 cannot be used because it is installed incorrectly.

    It’s been like this since I installed Parallels desktop & windows 7 couple of yrs back. Maybe I then tried to install this pl2303. Can’t remember.
    What does it mean;how does it affect my computer, and how do I fix this..??!?!! Please help.

    NMK

  89. RC says:

    Awesome…thank you. I use this to control a telescope from my laptop. Works perfect. Passing your site on to others. Thanks again!

  90. JPH Chabassier says:

    Help.
    I don’t understand any of the operations needed….
    Could someone guide me ?
    Thx.

  91. Daniel Wilk says:

    Thank you so much! great work!

  92. Alex says:

    This works fine with one USB/serial device connected. But… it doesn’t work fine when I have two different serial devices connected.

    When I run my application using only one device, it runs fine for weeks on end. But when two (dissimilar) devices are connected, the system soon goes totally CPU-bound (“red” system cpu, in Activity Monitor), and the system hangs.

    My question: Is the 1.4.0 Prolific driver multithreaded? It acts like it is not…

  93. Josh says:

    Life-saver…

    Thanks!

  94. satyreDennuis says:

    Merci!!!!!!!

  95. Prashant says:

    Thanks a bunch for compiling this my friend :) Now I can run around the racks with my macbook air and connect to consoles.

    God Bless ya all

  96. Pingback: MacOSX Lion & the breakage of Snow Leopard - Technical Insanity of JFINLEY

  97. Paul.Foster says:

    Thanks for the instructions for RS232

    PL2303 Serial-USB on OSX Lion

    I have the next file and moved it to /System/Library/Extensions

    chmod -R 755 osx-pl2303.kext seemed to work, but next command failed

    I verified permissions are read and write

    Can you advise ??

    paul-fosters-MacBook-Pro:Extensions Paul$ chown -R root:wheel osx-pl2303.kext
    chown: osx-pl2303.kext/Contents/Info.plist: Operation not permitted
    chown: osx-pl2303.kext/Contents/MacOS/osx-pl2303: Operation not permitted
    chown: osx-pl2303.kext/Contents/MacOS: Operation not permitted
    chown: osx-pl2303.kext/Contents/Resources/COPYING: Operation not permitted
    chown: osx-pl2303.kext/Contents/Resources/English.lproj/InfoPlist.strings: Operation not permitted
    chown: osx-pl2303.kext/Contents/Resources/English.lproj: Operation not permitted
    chown: osx-pl2303.kext/Contents/Resources: Operation not permitted
    chown: osx-pl2303.kext/Contents: Operation not permitted
    chown: osx-pl2303.kext: Operation not permitted
    paul-fosters-MacBook-Pro:Extensions Paul$

  98. paul says:

    Scratch my previous quert re permissions. I re-read comments and found the SUDO advice. That worked.

    Thank you for this technical info —-

    Paul

  99. Melvin says:

    Sry mate, the comment was too long, just wonder was there any fully compile driver in github ready, as per my reading it still no recommendation.

    Please help here.

  100. Harperville says:

    Driver on prolific site didn’t work at all, this one works with no issues. Thanks for getting me going!

  101. Hozer says:

    One more thank you! We use these adapters at work all the time and I’m pointing people at these instructions frequently. Thanks.

  102. Tor says:

    Hi, man…
    just wanted to leave you a note saying how happy I am that I found this page :-)

    Thank you! You’re the hero of the internets :-)

  103. DanVP says:

    I want to thank you for this driver. As a note to others installing on a clean system (not upgraded from SL), OSX lion and using ZOC 6.35. For me this driver did not work initially. I had to first install the Prolific driver, which can be found at:

    http://www.prolific.com.tw/support/files//IO%20Cable/PL-2303/Drivers%20-%20Generic/MacOS/MacOS%2010.x/md_PL2303_MacOSX10.6_dmg_v1.4.0.zip

    Reboot, after this the kernel registered the device as tty.usbserial. Then installing this driver the other device ‘cu.PL2303-00002006 ‘ (the #s after – is the device ID) appeared.

    Good luck.

  104. Ralf says:

    Thanks a lot… I save so much time, cause if your small advice :-)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>