MacOS Big Sur & RS-232 Serial Communications

How can I use RS-232 communication with MacOS Big Sur?

MacOS Big Sur & RS-232 Serial Communications

Status: Updated May 2021 - Big Sur 11.2.3 - Tested with ATEN (Prolific PL2303) and FTDI RS232R USB Dongles

Apple loves breaking old technologies...

The latest "thing" to break with MacOS are some USB to RS-232 Serial Communications dongle drivers.

So for those of you who still have the need for RS-232 Communications and use Apple Macintosh computers here is the Big Sur low down.

RS-232 via USB Dongles

USB 1.0 was introduced in 1995 and is now in its forth generation with USB4, which means USB is now over 25 years old. Nowaday's pretty much every desktop, notebook and server computer have USB ports and RS-232 ports are only on either specialist or older devices.

To allow newer USB equiped computers to talk to RS-232 based devices you need a USB to RS-232 dongle. These are sold under various brands but most are based on either:

  • Prolific PL2303 Chips - used by ATEN USB/RS-232 dongle
  • FTDI Chips - "Future Technology Devices International" based dongles use community developed drivers

The USB dongle requires a device driver, which with MacOS Big Sur need to be "notorised" (signed) to work.

MacOS Big Sur has FTDI based devices supported by in-built Apple device driver. Currently there is no Big Sur device driver available for the Prolific based USB Dongles.

NOTE #1 - As per feedback (below) from "Brandon Applegate" and  "David Rankin" below I retested my Prolific PL2303 with Big Sur 11.2.3 and am happy to report that the Prolific PL2303 Dongle now works again. It reports as: "/dev/tty.usbserial-1430" on my Intel MacBook Pro.

To see what type of Dongle you have look at the "About This Mac" report under USB:

About This Mac - System Information Report (FTDI Dongle)

If you have a FTDI device then you should be able to find the RS-232 devices by opening the Terminal and doing: "ls /dev/ttdy.usb*"

On my Mac the device is: "/dev/tty.usbserial-A50285BI"

About This Mac - Systems Information Report (ATEN/Prolific Dongle)

In MacOS Catalina and earlier the Prolific based devices where available as: "/dev/tty.UC-232AC".

Retesting with Big Sur 11.2.3 the Prolific Dongle reports as: "/dev/tty.usbserial-1430"

Using FTDI Dongle

If you have a FTDI based USB dongle then you can start a serial communications session using the in-built "screen" application via a Terminal window: "screen <DEV> <SPEED>".

As a example, for serial communications session at 38400 Baud (on my machines, Terminal window): "screen /dev/tty.usbserial-A50285BI 38400".

NOTE: The exact device name may vary from one machine to another.

Using Prolific Dongle

NOTE #2: Retesting with Big Sur 11.2.3 the Prolific Dongle now works with built in Apple USB driver. So if using Prolific Dongle just make sure you have updated to lastest MacOS version.

Otherwise the below will apply...

If you have a Prolific Dongle then you have a number of options:

  1. Get a FTDI Dongle or
  2. Get a serial communications program that directly supports the Prolific Dongle. One such program is: "Serial 2" by Decisive Tactics. There might be others, but I have tested Serial 2 with an ATEN Prolific based dongle and found it to work
  3. Wait for a device driver to be available ... but now wait is over

NOTE #3: As per NOTE #1, the Prolific Dongle now works via the Apple provided driver, so there is no need to install any new Prolific drivers. My testing was with Intel MacBook Pro and Big Sur 11.2.3 and David Rankin reports that is also works with MacBook Pro M1. So good news for all.

Which option you choose is likely based on how comfortable you are with the MacOS Terminal and screen programs. When using the "screen" application remember that the keystrokes "Ctl-a Ctl-\" should get you to the quit prompt and "Ctl-a ?" for help.

Plugs and Cables - I have dongle but no communications

Having got a dongle then you need to ensure you have the right physical plug and the right cabling.

Most USB/RS-232 dongles have male DB-9 (or officially DE9) connector, as does most computer equipment. In the language of RS-232 a computer or end device (Cisco Router for instance) behave as "Data Terminal Equipment" or DTE. As RS-232 come from history of remote communications, the DTE device is expected to connect to a "Data Communications Equipment" (DCE) device (a modem).

The standard cabling for RS-232 is therefore expecting DTE to connect to DCE, which uses specific wiring for the data and control signalling. In most cases where you are using you Macintosh you will have a DTE to DTE connection (ie Mac to Router or Mac to other Computer). So in this case you need what is called a "NULL Modem Cable". This is a cable which has been wired to accommodate that there is no modem (or DCE device) in the connection chain.

A typical situation is that you will need to DB-9 (DE9) Female to DB-9 (DE9) Female NULL Modem cable to allow serial communications to work correctly.

Another possible situation with much older equipment is that rather then having DB-9 plugs your devices have the original and much larger DB-25 plugs. Old modems (a DCE device) typically had DB-25 Female connectors, so no need for NULL modem, but you will need a DB-9 to DB-25 plug adaptor.

So in addition to NULL modem cable your RS-232 toolkit might need physical plug adaptors as well.

Other possibilities include:

  • RJ11 - (Registered Jack) which are used on Cisco Routers. The router is typically provided with RJ11 to DB-9 Female cable for connecting to DTE device (ie computer). I have also seen these on Juniper routers, Areca & Promise disk arrays, as with Cisco these are all provided with their own cable, typically wired for connection to DTE
  • Mini DIN-9 - used on old Macintosh Computers and "Apple compatible" modems. The computers are wired as DTE and modems as DCE.

So get your cable and plug ready and when all else fails read the manual and get a break out box and volt meter.

MacOS Big Sur - Terminal Window with Screen running (FTDI Dongle)

Welcome to RS-232. Don't forget that a UART is a "Universal Asynchronous Receiver-Transmitter", this is essential serial comms knowledge ;-) .

References & Links:

Decisive Tatics - have "Serial 2" application that works by interfacing directly with USB devices rather than via "/dev/tty" driver

RS-232 - Standard serial communications protocol

USB - Universal Serial Bus, the new standard serial communications method, which is more akin to an old Apple LocalTalk (RS-422) based communications method than RS-232

Prolific Technologies - a chip maker who's chip are in many existing USB/RS-232 dongles

FTDI - Future Technology Devices International a dongle maker who's device is directly supported by Apple in Big Sur

Introduction to Ardino Serial Communications - the source of the image and some useful information on Ardino Serial Communicaitons

Screen - GNU Screen is the terminal emulator that is built into MacOS

NULL Modem Cable - is simply a cable which is wired to directly connect DTE to DTE. The favourite RS-232 trouble shooting question, "do you have a valid NULL modem cable... ?".  The answer is ... "I am not sure...". Most NULL modem cables sold on ebay seem to be ok, but you can be unlucky. If in doubt check wiring with a volt meter or break out box.

RJ11 et al - RJ == Registered Jack used for more ways to expose serial communications ports with smaller form factor plugs that original DB-25

DB-25 et al - plugs plugs and more plugs

Mini DIN-9 - Apple always choices what looks nice ;-) and there are variations on wiring for these depending on if it is serial, printer or other cable type

UART - more gratuitous Wikipedia links, how did we survive before Wikipedia. Please do donote to the Wikimedia Foundation