Giter Club home page Giter Club logo

mac-osx-pl2303's Introduction

osx-pl2303 USB to Serial Driver Download release

PL2303 USB to Serial Driver for Mac OS X 10.9 Mavericks. It supports devices of ATEN, IOData, Elcom, Itegno, Ma620, Ratoc, Tripp, Radioshack, Dcu10, SiteCom, Alcatel, Samsung, Siemens, Syntech, Nokia, MS3303H

The maintenance of this open-source driver has been discontinued. You can obtain the official signed and maintained PL2303 en CH341 drivers at https://www.mac-usb-serial.com. The new drivers offer El Capitan support of your USB to Serial driver.

Purpose

This driver enables the functionality of Prolific PL2303 USB serial adapter in Mac OS X. This PL2303 chip is used in various devices like usb serial dongles and embedded USB bridges in cellphones, GPS receivers, etcetera.

Features

This driver implements the following features:

  • Unix file-descriptor access (/dev/cu.Repleo-PL2303-xxx, /dev/tty.Repleo-PL2303-xxx)
  • Baudrates 300, 600, 1200, 4800, 9600, 19200, 115200, 230400
  • Databytes 5, 6, 7, 8
  • Stopbits (1, 2)
  • Parity check (none, odd, even)
  • Manual handshake signal control (RTS, DTR, CTS, DSR, CD, RI)
  • Hardware handshake
  • Sending break signal (for Cisco routers)
  • Supports a large range of manufacturers like: ATEN, Prolific, IOData, Elcom, Itegno, Ma620, Ratoc, Tripp, Radioshack, Dcu10, SiteCom, Alcatel, Samsung, Siemens, Syntech, Speed Dragon Multimedia (MS3303H) and Nokia.

mac-osx-pl2303's People

Contributors

bjarnoldus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mac-osx-pl2303's Issues

macOS 11/12/13 and Apple Silicon

Is it possible to get the PL-2303 Driver to work on Apple Silicon Macs ?
Also to compile for macOS 11, 12 and 13 (Big Sur to Ventura)?
I have a Glucose Meter using PL-2303 I wish to get the data off via Python.

PARITY_PROCESSING introduces error

I have a question and was hoping you would be able to help me with this. I'm using the PL2303 driver on OS X 10.8 and I noticed that when I transmit a 0xFF byte it actually sends 2 0xFF bytes (I can see this on the TX pin using a CRO). I had a look at the source and noticed the code below, which I'm guessing is the cause.

if FIX_PARITY_PROCESSING

    if(*Buffer == 0xff)
        addBytetoQueue(Queue, 0xff);

endif

Is this correct behavior and if so is there a way around this? The device I'm talking to returns an error when I send a packet containing a FF byte.

Just FYI, I used the code below for testing below:

_fd = open([name UTF8String], O_RDWR | O_NOCTTY | O_NONBLOCK );

if (_fd != -1)
{
    struct termios newtio;

    bzero(&newtio, sizeof(newtio));
    cfmakeraw(&newtio);
    newtio.c_cflag = CS8 | CLOCAL | CREAD | PARENB;
    newtio.c_iflag = IGNPAR | IGNBRK;
    newtio.c_oflag = 0;
    newtio.c_lflag = 0;
    newtio.c_cc[VMIN]=0;
    newtio.c_cc[VTIME]=10;
    cfsetispeed (&newtio, B115200);
    cfsetospeed (&newtio, B115200);

    tcflush(_fd, TCIOFLUSH);
    tcsetattr(_fd,TCSANOW,&newtio);

    int flags = fcntl(_fd, F_GETFL);
    fcntl(_fd, F_SETFL, flags & ~O_NONBLOCK);
}


const uint8_t data[] = { 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 };
while (true)
{
    write (_fd, data, 1);
    usleep(100*1000);
}

Kind Regards,
Martin

Device name not null terminated

In Driver_PL2303.cpp Line 1119:

    unsigned char       rname[10];

The array is not guaranteed to be null, nor is bzero() called. If the createSuffix() call at line 1150 uses the entire length of the buffer for the device serial number value then the strncpy() will leave a not-null terminated buffer. Below that call the value is used by setProperty() at line 1152:

fNub->setProperty( kIOTTYSuffixKey, suffix ) 

The incorrectly terminated string will result in a malformed property string, potentially a security issue, kernel panic, and makes the driver fail to generate /dev/tty.xxx entries.

Proposed fix

Add the following at line 1151:

bzero(rname,10)

Compile for ElCapitain

Hi,

Just tried compiling using Xcode 7 Beta3 under ElCapitain and I get the following:

clang: error: no such file or directory: '/Users/courchea/Documents/mac-osx-pl2303/Driver PL2303/Driver PL2303-Prefix.pch'
clang: error: no input files

xcode project file malformed/checkin malformed

The checkin does not include a copy of the following files which are referenced in the xcode project, causing failure to compile without adding blank copies of these files:

  • InfoPlist.strings
  • Driver PL2303-Prefix.pch

Proposed fix:
Add these files to git checkin

Device name changes

the /dev/tty.NoZAP-PL2303-XXXXX device name changes when I dock and undock my computer. So, I can have a config file for Minicom configured properly with /dev/tty.NoZAP-PL2303-XXXXX, undock, redock, and the device name will change to /dev/tty.NoZAP-PL2303-XXYYYY.

Why does this happen? Is there a way to fix the device name?

Driver as distributed is not signed

For OS 10.9 "Mavericks" Apple has included support for signed KEXTs, non-signed KEXTs will generate a warning dialog to the user.

Signing keys cannot be included in the git repository, however a README note should be included, and the "official" installer should use a signed copy of the KEXT. For more information see the Apple WWDC presentation "What's New in KEXTs"

Strange device name, can't really connect

Hi @bjarnoldus

I've just installed the "OS X 10.10-I64 (Yosemite, signed)" and i wanted to test it with Sanwa multimeret USB cable (found reference here: http://sourceforge.net/p/osx-pl2303/discussion/530718/thread/06e14f29/#fdcf/7901) but it appears as "/dev/tty.NoZAP-PL2303-00001083???" so for example CoolTerm can't connect to it. screen /dev/tty.NoZAP-PL2303-00001083??? 115200 also doesn't return anything.

The device name doesn't seem correct. Can I fix it somehow?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.