Appears that with the coming of OS X 10.9 Mavericks, we are once again faced with various peripherals that cease to function correctly.

I often do work that requires a serial port.  I’ve carried a Keyspan USA-19HS with me in my briefcase for close to a decade (maybe more).  I’ve always been able to get it to work properly, but recently, with my upgrade to a 15″ MacBook Pro Retina Display and subsequent upgrade to OS X 10.9 Mavericks, my trusty little friend may have met his day.  Keyspan does not show a driver that supports OS X 10.9 and loading the 10.8 driver resulted in no change from not having the driver.

I borrowed an adapter from a friend of mine, the ATEN USB to PDA/Serial (DB9) Adapter w/ PC & Mac Drivers UC232A ($19.22), to see if it would work.

After 3+ hours of trying to get various drivers working, I was no closer to a working solution.

Fortunately, my same friend was able to find the two year-old blog post documenting a setup that worked under Mountain Lion.  So, I opted to try it out under Mavericks as well and…it works.  In order to bring light to this astonishingly good news, I’m re-blogging the instructions with appropriate credit.  The ATEN adapter is based on the PL2303 (H, HX, X chip version) USB-to-Serial Bridge Controller, so these instructions should work with a variety of adapters other than the ATEN (including the Tripp Lite USB to Serial DB9M Adapter (U209-000-R) ($8)).

The original WLANBook Blog Post is here:

The driver I used can be downloaded here:

The instructions to install the driver that I used are, from Terminal:

shell$ tar zxvf osx-pl2303.kext.tgz 
shell$ sudo mv osx-pl2303.kext /System/Library/Extensions/
shell$ cd /System/Library/Extensions/
shell$ sudo chmod -R 755 osx-pl2303.kext/
shell$ sudo chown -R root:wheel osx-pl2303.kext/ shell$ sudo kextload ./osx-pl2303.kext
shell$ sudo kextcache -system-cache

When you complete the mv command above, you’ll get a pop-up warning from OS X claiming that the driver was installed improperly (we fix that later in the instructions), just click OK and ignore it.

After you complete the above steps, inserting the adapter in a USB port should automatically create a device in /dev for the serial port.

shell$ ls /dev/cu* /dev/cu.Bluetooth-Incoming-Port /dev/cu.PL2303-00002014 /dev/cu.Bluetooth-Modem

Mine shows up as the /dev/cu.PL2303-00002014 and that then appears in my favorite terminal emulator, SecureCRT as a choice under Serial Ports.