Revised 18 May 2016
Sep 18, 2015 Connecting an FTDI based device to OS X can be a little tricky as both FTDI and Apple offer drivers. OS X version is also a factor, as are the USB devices vendor and product identifiers (VID/PID). The following device drivers are available: Apple Serial Driver; FTDI Serial Driver (aka VCP Driver) FTDI D2XX Driver. Jan 13, 2016 Hey Stephen, Sorry for not getting back sooner but thank you for the info on the driver install! Found out about a week later, that wasn't the issue at all, I just needed to make sure the R.I.C.E cable was connected before connecting to my Ascend saber, then the configuator would read the USB. Ftdi drivers free download - Drivers For Free, FTDI FT8U2XX Device, My Drivers, and many more programs.
This is a reposting of an earlier article under an open source project of mine. I’ve added it here as it is applicable to a more general audience than the yad2xx user.
It documents configuration issues between OS X (Yosemite) and a range of USB integration chips from FTDI. I’ve revised this article for El Capitan here.
There is a history between FTDI and Apple regarding device drivers for the OS X platform. Aspiring hackers be warned, it can be a bit of a minefield. This article is aimed at users of OS X Mavericks or later. Presently, I am using Yosemite, 10.10.5. You will find other material on the ‘net. At some point in time it will have been correct…
Connecting an FTDI based device to OS X can be a little tricky as both FTDI and Apple offer drivers. OS X version is also a factor, as are the USB devices vendor and product identifiers (VID/PID). The following device drivers are available:
- Apple Serial Driver
- FTDI Serial Driver (aka VCP Driver)
- FTDI D2XX Driver
The first is available by default on Mavericks or later. The other two must be installed by the user and may cause conflicts.
USB VID/PID
Every USB device is allocated a unique vendor id/product id combo. When a device is attached OS X uses the VID/PID to determine which device driver to use. USB device vendors such as FTDI pay a licence fee and are allocated a unique number. For FTDI this unique vendor id (VID) is 0x0403. All devices manufactured by FTDI will come with this value set.
Product identifiers (PIDs), are allocated by the individual manufacturer. Because the PID is an unsigned 16-bit number there are a possible 65536 values available. FTDI sell multiple kinds of USB devices, the assigned PID varies according to the device. Common values are [1]:
Device | Default VID/PID |
---|---|
FT232BM/L/Q, FT245BM/L/Q | 0x0403, 0x6001 |
FT232RL/Q, FT245RL/Q | 0x0403, 0x6001 |
FT2232C/D/L | 0x0403, 0x6010 |
FT2232HL/Q | 0x0403, 0x6010 |
FT4232HL/Q | 0x0403, 0x6011 |
FT232HL/Q | 0x0403, 0x6014 |
On OS X you can view the VID/PID settings for every attached USB device in the System Report (Apple Menu -> About This Mac).
When a new USB device is attached OS X interrogates the device, a process known as USB device enumeration [2]. The information obtained is used to locate the correct device driver for the device.
Apple Serial Driver
For OS X releases 10.9+ (Mavericks and above), Apple provide their own device driver. It is configured to match against all default FTDI VID/PID combinations (see table above). Devices matched by this driver operate as serial ports and are located in the filesystem under /dev/cu.usbserial-xxxxx. Devices configured this way can be operated using the POSIX communications API [3].
Devices using the Apple driver cannot be operated using the D2XX driver. If you try to connect to one of these devices via D2XX it will report already being open. You can disable the Apple Driver using the following command:
sudo kextunload –b com.apple.driver.AppleUSBFTDI
sudo kextunload –b com.apple.driver.AppleUSBFTDI
Be warned, this disables the Apple driver for all FTDI devices using default VID/PID.
For reference, the Apple driver is located in:
/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBFTDI.kext
/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBFTDI.kext
FTDI Serial Driver (VCP Driver)
FTDI supply their own serial driver for OS X. Its use is optional and you must manually install it. It installs into (v2.3+):
/Library/Extensions/FTDIUSBSerialDriver.kext
/Library/Extensions/FTDIUSBSerialDriver.kext
Like the Apple driver, its matches all default FTDI VID/PID devices. It also is configured to match many 3rd party devices based on an FTDI chip. The list of supported devices is too long to list here, see:
/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
The FTDI serial driver will not cause conflicts with the Apple driver. In all instances where the device could match either driver the FTDI serial driver is used.
Because the FTDI serial driver is signed it cannot be modified. Editing the driver files, for example Info.plist, will prevent OS X from loading the driver (editing changes the package signature). This means that the FTDI serial driver can only be used with devices known to FTDI. It cannot be used with custom VID/PID devices.
Like the Apple driver, devices should be programmed using the POSIX communications API. You can disable the FTDI Serial driver using:
sudo kextunload –b com.FTDI.driver.FTDIUSBSerialDriver
sudo kextunload –b com.FTDI.driver.FTDIUSBSerialDriver
FTDI D2XX Driver
Ftdi Drivers Windows 10
The FTDI D2XX Driver is an optional installation. It allows the device to be used as a serial port. It also allows access to more advanced device modes such as bit bang, JTAG, I2C, SPI etc.
Devices may experience driver clashes. This is based on the device VID/PID combo and the installed drivers. The default FTDI VID/PID settings will match the Apple driver (always) and the FTDI Serial driver (if installed). Unlike the VCP driver, the Apple driver will win all clashes and the D2XX driver will fail (device open). If you want to use the D2XX driver for an FTDI device using the default VID/PID you must unload the Apple driver before the D2XX driver will work.
Custom VID/PID
It is possible to reprogram an FTDI devices VID/PID [1]. Changing to a VID/PID combo outside those configured for the Apple driver means the Apple driver will not match.
Changing to a value outside those configured for the FTDI Serial driver means that driver will not match. Devices that fail to match the Apple and FTDI Serial driver can only use the D2XX driver.
References
- FTDI – Technical Note TN100 – USB Vendor ID / Product ID Guidelines
- FTDI – Technical Note TN113 – Simplified Description of USB Device Enumeration
- Apple Developer Notes – Working With a Serial Device
This software is provided by Future Technology Devices International Limited ``as is' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall future technology devices international limited be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
FTDI drivers may be used only in conjunction with products based on FTDI parts.
FTDI drivers may be distributed in any form as long as license information is not modified.
If a custom vendor ID and/or product ID or description string are used, it is the responsibility of the product manufacturer to maintain any changes and subsequent WHCK re-certification as a result of making these changes.
For more detail on FTDI Chip Driver licence terms, please click here.
FTDI drivers may be used only in conjunction with products based on FTDI parts.
FTDI drivers may be distributed in any form as long as license information is not modified.
If a custom vendor ID and/or product ID or description string are used, it is the responsibility of the product manufacturer to maintain any changes and subsequent WHCK re-certification as a result of making these changes.
For more detail on FTDI Chip Driver licence terms, please click here.
Currently Supported VCP Drivers:
Processor Architecture | |||||||||
Operating System | Release Date | x86 (32-bit) | x64 (64-bit) | PPC | ARM | MIPSII | MIPSIV | SH4 | Comments |
Windows* | 2017-08-30 | - | - | - | - | - | WHQL Certified. Includes VCP and D2XX. Available as a setup executable Please read the Release Notes and Installation Guides. | ||
Linux | - | - | - | - | - | - | - | - | All FTDI devices now supported in Ubuntu 11.10, kernel 3.0.0-19 Refer to TN-101 if you need a custom VCP VID/PID in Linux VCP drivers are integrated into the kernel. |
Mac OS X 10.3 to 10.8 | 2012-08-10 | 2.2.18 | 2.2.18 | 2.2.18 | - | - | - | - | Refer to TN-105 if you need a custom VCP VID/PID in MAC OS |
Mac OS X 10.9 and above | 2019-12-24 | - | 2.4.2 | - | - | - | - | - | This driver is signed by Apple |
Windows CE 4.2-5.2** | 2012-01-06 | 1.1.0.20 | - | - | 1.1.0.20 | 1.1.0.10 | 1.1.0.10 | 1.1.0.10 | |
Windows CE 6.0/7.0 | 2016-11-03 | 1.1.0.22 CE 6.0 CAT CE 7.0 CAT | - | - | 1.1.0.22 CE 6.0 CAT CE 7.0 CAT | 1.1.0.10 | 1.1.0.10 | 1.1.0.10 | For use of the CAT files supplied for ARM and x86 builds refer to AN_319 |
Windows CE 2013 | 2015-03-06 | 1.0.0 | 1.0.0 | VCP Driver Support for WinCE2013 |
*Includes the following version of of the Windows operating system: Windows 7, Windows Server 2008 R2 and Windows 8, 8.1, Windows server 2012 R2, Windows Server 2016 and Windows 10. Also, as Windows 8 RT is a closed system not allowing for 3rd party driver installation our Windows 8 driver will not support this variant of the OS. You must use the Windows RT build for this platform.
**includes the following versions of Windows CE 4.2-5.2 based operating systems: Windows Mobile 2003, Windows Mobile 2003 SE, Windows Mobile 5, Windows Mobile 6, Windows Mobile 6.1 ,Windows Mobile 6.5
No Longer Supported:
Processor Architecture | |||||||||
Operating System | Release Date | x86 (32-bit) | x64 (64-bit) | PPC | ARM | MIPSII | MIPSIV | SH4 | Comments |
Previous Windows Release | 2017-03-10 | 2.12.26 | 2.12.26 | WHQL Certified. Includes VCP and D2XX. Available as a setup executable Please read the Release Notes and Installation Guides. | |||||
Windows XP, Vista, Server 2003, Server 2008 | 2012-04-13 | 2.08.24 | 2.08.24 | - | - | - | - | - | WHQL Certified Also available as a setup executable Release notes This is FTDI's final release before Microsoft stopped certifying drivers for these versions of Windows. |
Windows 2000 | 2009-10-22 | 2.06.00 | - | - | - | - | - | - | WHQL Certified Available as setup executable Release notes |
Windows 98/ME | 2004-11-25 | 1.09.06 | - | - | - | - | - | - | Does not support FT2232 or FT4232 devices |
Windows 98/ME | 2004-03-12 | 1.0.3 | - | - | - | - | - | - | Only supports FT2232D devices |
Mac OS 9 Mac OS 8 | 2004-05-18 | - | - | 1.0f4 | - | - | - | - | |
Mac OS X 10.9 and above | 2015-04-15 | - | 2.3 | - | - | - | - | - | This driver is signed by Apple |
Linux | 2009-05-14 | 1.5.0 | 1.5.0 |