Technical Note TN_105



Similar documents
Application Note. AN_136_Hi-Speed Mini Module EEPROM Disaster Recovery

Application Note AN_149. Upgrading a passive DB9 RS232 Interface to an active USB Interface using an FTDI DB9-USB-RS232 Module

Future Technology Devices International Ltd. FTDI Drivers Installation guide for. Windows VISTA

Simplified Description of USB Device Enumeration

Technical Note. TN_134 FTDI Android D2XX Driver

Future Technology Devices International Ltd. FTDI Drivers Installation guide for Windows XP

Determining USB Peripheral Device Class

Application Note AN_385. FTDI D3XX Driver Installation Guide

Future Technology Devices International Ltd. FTDI Drivers Installation guide for. Windows 7

Technical Note TN_152. USB 3.0 Compatibility Issues Explained

White Paper WP_001. Connecting Peripherals to an Android Platform

Future Technology Devices International Ltd. USB-Key. Datasheet

Future Technology Devices International Ltd. Application Note AN_234. FTDI Drivers Installation guide for. Windows 8

Future Technology Devices International Ltd. USB NMC-2.5m. USB to USB Null Modem Cable. Datasheet

Application Note AN_101. Submitting Modified FTDI Drivers for Windows Hardware Certification

Future Technology Devices International Ltd. AN232R-02 FTDIChip-ID for the FT232R and FT245R

Future Technology Devices International Ltd. FTDI Drivers Installation guide for Windows XP

Application Note AN_243. FT312D USB Host to UART Cable Application

Application Note AN_242

Technical Note. TN_132 Adding FTDI Devices VCP Driver Support to Android

Application Note AN_241. FTDI_AOA_HyperTerm_User_Manual

Future Technology Devices International Ltd. Technical Note TN_101

Command Processor for MPSSE and MCU Host Bus Emulation Modes

Future Technology Devices International Ltd. Windows XP Installation Guide

Technical Note TN_146. Creating Android Images for Application Development

TTL-232R-PCB. TTL to USB Serial Converter PCB. Datasheet

FT2232H Mini Module. USB Hi-Speed FT2232H Evaluation Module. Datasheet

FT4232H Mini Module. USB Hi-Speed FT4232H Evaluation Module. Datasheet

Future Technology Devices International Ltd. Windows 2000 Installation Guide

Future Technology Devices International Ltd USB TO RS422 UART SERIAL CONVERTER PCB. Datasheet. Document Reference No.: FT_000119

Future Technology Devices International Ltd

Future Technology Devices International Ltd

Future Technology Devices International Ltd. USB to RS232 UART Serial Converter PCB. Datasheet

Application Note AN_276. FT800 Audio File Conversion

Technical Note. TN_147 Java D2xx for Android

Technical Note TN_158. What is the Camera Parallel Interface?

Application Note AN_185. Vinculum-II UART to USB HID Class Host Bridge

Application Note AN_209. AN_209 PDIUSBD12 to FT120 Migration Guide

UMFT4222PROG FT4222 Programmer Module

VDIP1. Vinculum VNC1L Module. Datasheet

USB-COM422-PLUS1. Datasheet

VF2F. USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit. Future Technology Devices International Ltd. Preliminary - Subject to Change

Application Note AN_299. FT800_FT801_Internal_Clock _Trimming

DB9-USB-RS232 Module. Male & Female. Datasheet

USB-COM422-PLUS2. Datasheet

USB-COM232-PLUS4. Datasheet

USB Hi-Speed Serial/Hub Module. Datasheet

Future Technology Devices International Ltd. VF2F2. USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit.

Future Technology Devices International Ltd. Mac OS-X Installation Guide

Application Note AN_250. Configuring FT313H Driver for Embedded Linux

FTDI Chip. VM800P Datasheet Embedded Video Engine Plus Module. VM800P Embedded Video Engine Plus Module Datasheet Version 1.0

The DB9-USB Family of. UART Converter Modules. Datasheet

TTL-232R. TTL to USB Serial Converter Range of Cables. Datasheet

TTL-232R-3V3 USB to TTL Serial Converter Cable

FTDI Ltd DS_US232R-10(R-100/500) USB to RS232 Adapter cable. Data Sheet

Future Technology Devices International Ltd. USB to RS232 Serial Converter Range of Cables. Datasheet

1. How to install CDM driver on PC for Lambda devices

Future Technology Devices International Ltd

White Paper WP_003. Android Peripheral Options

C232HD. USB 2.0 Hi-Speed to UART Cable. Datasheet

Application Note AN_208. FT311D and FT312D Demo_APK_User_GuideFT311D and FT312D Demo_APK_User_Guide

Future Technology Devices International Ltd. Mac OS X Installation Guide

NOW LEAD-FREE! VCCIO VCCIO RXLED TXLED DTR# 10K FTDI FT232R

AN220 USB DRIVER CUSTOMIZATION

Application Note AN_146. USB Hardware Design Guidelines for FTDI ICs

Application Note AN_254. FT800 Designs With Visual TFT

C232HM. USB 2.0 Hi-Speed to MPSSE Cable. Datasheet

Fetch TV My Media Hub Quick Start Guide for Windows or Mac. Sharing your media content with the set top box from a Windows PC or Mac

D i g i g r a m. sound card range. Professional stereo and multichannel sound cards. Installation and set-up

TTL-232R. TTL to USB Serial Converter Range of Cables. Datasheet

USB Stick Driver Installation Instructions

Jabra Suite for Mac - Mass Deployment guide Revision 1 /

Using a login script for deployment of Kaspersky Network Agent to Mac OS X clients

Using a Laptop Computer with a USB or Serial Port Adapter to Communicate With the Eagle System

Symantec Enterprise Vault

AN220 USB DRIVER CUSTOMIZATION

OMEGA STUDIO SOFTWARE INSTALLATION GUIDE

Application Note AN_100. Using the FT232R/FT245R with an External Crystal or Oscillator

Installing ABACUS ELECTRICS USB Optical Probes under Windows 7

Prolific USB to SATA Bridge Controller Backup Software User s Manual

Operating Instructions. Pioneer USB Audio Device Driver

Centurion C4 Transfer Guide using C4 File Transfer Utility

SatTerm-G SOFTWARE MANUAL FOR A3LA-IG

Jabra Suite for Mac - Mass Deployment guide Revision 5/

Vinco Development Module. Datasheet

Application Note AN_252. FT800 Audio Primer

1. How to install CDM driver on PC for Manipulator

ScanWin Installation and Windows 7-64 bit operating system

Version 2.0. Installation Guide

AN335 USB DRIVER INSTALLATION METHODS. 1. Introduction. 2. Relevant Documentation. 3. DPInst Installation and Customization

Java and Chrome Technical Bulletin

Waspmote IDE. User Guide

Ethernet Interface Manual Thermal / Label Printer. Rev Metapace T-1. Metapace T-2 Metapace L-1 Metapace L-2

Moxa Device Manager 2.0 User s Guide


Using Internet or Windows Explorer to Upload Your Site

Installing Java (Windows) and Writing your First Program

Copyright. Disclaimer. Introduction 1. System Requirements Installing the software 4

Centurion PLUS CPC4 Download Guide

SAPIP GUI INSTALLATION. Table of Contents

Transcription:

Future Technology Devices International Ltd. Technical Note TN_105 Adding Support for New FTDI Devices to MAC Serial Driver Maintenance and configuration of the FTDI MAC VCP Driver Issue Date: 2009-09-23 This FTDI technical note details how to add support for new FTDI devices to MAC FTDI Virtual COM port (VCP) driver. It also describes how to modify configurable parameters in the driver. Future Technology Devices International Limited (FTDI) Unit1, 2 Seaward Place, Centurion Business Park,, Glasgow G41 1HH United Kingdom Tel.: +44 (0) 141 429 2777 Fax: + 44 (0) 141 429 2758 E-Mail (Support): support1@ftdichip.com Web: http://www.ftdichip.com Copyright 2009 Future Technology Devices International Limited

Table of Contents 1 Introduction... 2 2 Procedure for Adding Support for New FTDI Devices to Mac Driver. 3 3 Driver configuration (optional)... 4 3.1 Configuring PID and VID... 4 3.2 Aliasing Baud Rates... 5 3.3 MIDI Devices... 6 3.4 Latency Timer... 6 3.5 Read Buffer Size... 6 3.6 Port Name... 7 4 Acronyms and Abbreviations... 8 5 Contact Information... 9 Appendix A Format of Info.plist... 11 Appendix B - Creating Packages... 18 Appendix C - Revision History... 21 Revision Record Sheet... 22 Copyright 2009 Future Technology Devices International Limited 1

1 Introduction This technical note shows MAC users an easy way to add support for new FTDI devices to MAC FTDI Virtual COM port driver. The driver has several parameters, which are configurable, such as baud rate, latency timer, read buffer size, port name and MIDI support. These parameters are setup in the ConfigData dictionary, an optional field in a device entry. For an example, see the device entry for FT2XXB in the listing of Info.plist in the appendix A. Copyright 2009 Future Technology Devices International Limited 2

2 Procedure for Adding Support for New FTDI Devices to Mac Driver 1. Download the Mac VCP driver disk image (dmg) for your appropriate processor from the FTDI website: http://www.ftdichip.com/drivers/vcp.htm 2. Install the OEM version of the serial driver. For instructions how to do it, please download Mac OS X Installation Guide from link below. http://www.ftdichip.com/documents/installguides/mac_os_x_installation_guide.pdf Follow the instructions in the guide. 3. After rebooting your computer, make sure that driver has been installed successfully. Information from Mac_OS_X Installation Guide will explain you how to do it. 4. Having confirmed that driver has installed successfully copy /System/Library/Extensions/FTDIUSBSerialDriver.kext to a temporary location. For example the tmp folder in your Users folder can be used. Open Terminal Window by clicking the Go menu at the top of your screen and choose Utilities. In pop up select Terminal and type in the commands: Mkdir /Users/<your login name>/tmp/ftdiusbserialdriver.kext cp R /System/Library/Extensions/FTDIUSBSerialDriver.kext /Users/<your login name>/tmp/ftdiusbserialdriver.kext 5. Now having copied the folder you should delete the /System/Library/Extensions/FTDIUSBSerialDriver.kext folder. rm d -r /System/Library/Extensions/FTDIUSBSerialDriver.kext 6. In your temporary location (in our example /Users/<your login name>/tmp ), edit the property list file FTDIUSBSerialDriver.kext/Contents/Info.plist The property list file, the info.plist file, can be edited with the Apple developer tool, Property List Editor. For example, TextEdit. The Info.plist file contains entries for various FTDI devices in the IOKitPersonalities dictionary. A new entry for an OEM device can be created by copying the personality of the equivalent FTDI device. In the simplest case, only the new device's name and idproduct key have to be provided. FTDI recommends that new OEM device personalities are added to the plist file, and existing FTDI personalities are retained 7. When the info.plist file editing has been completed and saved, copy the FTDIUSBSerialDriver.kext from temporary location back to /System/Library/Extensions. In our example it would be the following command: cp R /Users/<your login name>/tmp /System/Library/Extensions 8. Reboot the computer. Copyright 2009 Future Technology Devices International Limited 3

3 Driver configuration (optional) Some MAC VCP driver parameters are configurable, namely the baud rate, latency timer, read buffer size, port name and MIDI support. These parameters are setup in the ConfigData dictionary, an optional field in a device entry. 3.1 Configuring PID and VID To change idproduct (PID) it is necessary to alter value under key idproduct for your type of the device. The value is stored in DECIMAL. In order to get hexadecimal value of 0x6001, the idproduct key has to have the decimal value of 24577. The same applies to the VID. To change VID it is necessary to modify idvendor key as a DECIMAL value. To enter hexadecimal equivalent of 0x403, it is required to use decimal 1027. This is illustrated below, which shows an extract from the info.plist file for the FT2XXB devices. <key>ft2xxb</key> <key>configdata</key> <key>latencytimer</key> <integer>16</integer> <key>midi</key> <false/> <integer>0</integer> <key>bcddevice</key> <integer>1024</integer> <integer>24577</integer> Copyright 2009 Future Technology Devices International Limited 4

3.2 Aliasing Baud Rates Aliased baud rates are supported through the BaudRates dictionary under ConfigData, an optional field in a device entry. Aliasing a baud rate allows a user to achieve non-standard baud rate values. For example, aliasing 300Baud with 250kBaud means that the device will operate at 250kBaud whenever 300Baud is selected. This is illustrated below, which shows an extract from the info.plist file. <key>configdata</key> <key>baudrates</key> <key>b300</key> <integer>250000</integer> The identifiers for standard baud rates are as follows: B300, B600, B1200, B2400, B4800, B9600, B19200, B38400, B57600, B115200 and B230400. The aliased value is a decimal integer. More than one baud rate can be aliased. In the example below, which is an extract from the info.plist file, the device operates at 250kBaud when 300Baud is selected and 625kBaud when 600Baud is selected. All other standard baud rates are unaffected. <key>configdata</key> <key>baudrates</key> <key>b300</key> <integer>250000</integer> <key>b600</key> <integer>625000</integer> The identifier BAUDALL can be used to set a device to operate at a single baud rate. In the following example, the device will only operate at 115200Baud. <key>configdata</key> <key>baudrates</key> <key>baudall</key> <integer>115200</integer> Copyright 2009 Future Technology Devices International Limited 5

3.3 MIDI Devices MIDI is Musical Instrument Digital Interface which is used for interconnecting devices such as synthesizers, controllers and sequencers. MIDI devices can be supported by setting the MIDI key under ConfigData to true. Here is sample extract from the info.plist file how to do it. <key>configdata</key> <key>midi</key> <true/> This has the effect of aliasing B300 to 31250baud. MIDI is a boolean value, and its default value is false. 3.4 Latency Timer Latency Timer helps to speed up the transfer of short packets. Changing the device's latency timer is supported through the LatencyTimer key under ConfigData, an optional field in a device entry. For example, the following entry from the info.plist file would allow the device to operate with a latency timer of 8ms. <key>configdata</key> <key>latencytimer</key> <integer>8</integer> The latency timer value is a decimal integer in the range 1-255. Its default value is 16ms. 3.5 Read Buffer Size Read Buffer Size can increase or decrease the speed of the transfer of packets, depending on type of the data you are transferring. Changing the device's read buffer size is supported through the InBufferSize key under ConfigData, an optional field in a device entry. In the following example from the info.plist file, the read buffer size is set to 256 bytes. <key>configdata</key> <key>inbuffersize</key> <integer>256</integer> The read buffer size is a decimal integer. Its default value is 4096 bytes. Copyright 2009 Future Technology Devices International Limited 6

3.6 Port Name The Port name is a description string assigned to your device. This name will be used as a label for your device in the system. The port name of a device can be changed through the PortName key under ConfigData, an optional field in a device entry. In the following example from the info.plist file, the port name is set to MyGreatDevice. <key>configdata</key> <key>portname</key> <string>mygreatdevice</string> The port name is a string (of up to 63 characters). Its default value is usbserial. Copyright 2009 Future Technology Devices International Limited 7

4 Acronyms and Abbreviations Terms Description VCP cp rm Terminal Window Virtual Com Port Mac OS and Unix command for copy. R parameter tells to include subfolders. For full description please use manual: cp man Mac OS and Unix command for remove/delete. d parameter tells to remove directories. For full description please use manual: rm man A Unix and Mac OS application similar to Windows Command Prompt TextEdit Table 4.1 Acronyms and Abbreviations One of the text editors included in Mac OS Copyright 2009 Future Technology Devices International Limited 8

5 Contact Information Head Office Glasgow, UK Future Technology Devices International Limited Unit 1, 2 Seaward Place, Glasgow G41 1HH United Kingdom Tel: +44 (0) 141 429 2777 Fax: +44 (0) 141 429 2758 E-mail (Sales) vinculum.sales@ftdichip.com E-mail (Support) vinculum.support@ftdichip.com E-mail (General Enquiries) admin1@ftdichip.com Web Site URL http://www.ftdichip.com Web Shop URL http://www.ftdichip.com Branch Office Taipei, Taiwan Future Technology Devices International Limited (Taiwan) 2F, No. 516, Sec. 1, NeiHu Road Taipei 114 Taiwan, R.O.C. Tel: +886 (0) 2 8797 1330 Fax: +886 (0) 2 8751 9737 E-mail (Sales) tw.sales1@ftdichip.com E-mail (Support) tw.support1@ftdichip.com E-mail (General Enquiries)tw.admin1@ftdichip.com Web Site URL http://www.ftdichip.com Branch Office Hillsboro, Oregon, USA Future Technology Devices International Limited (USA) 7235 NW Evergreen Parkway, Suite 600 Hillsboro, OR 97123-5803 USA Tel: +1 (503) 547 0988 Fax: +1 (503) 547 0987 E-Mail (Sales) us.sales@ftdichip.com E-Mail (Support) us.admin@ftdichip.com Web Site URL http://www.ftdichip.com Branch Office Shanghai, China Future Technology Devices International Limited (China) Room 408, 317 Xianxia Road, ChangNing District, ShangHai, China Tel: +86 (21) 62351596 Fax: +86(21) 62351595 E-Mail (Sales): cn.sales@ftdichip.com E-Mail (Support): cn.support@ftdichip.com E-Mail (General Enquiries): cn.admin1@ftdichip.com Web Site URL: http://www.ftdichip.com Copyright 2009 Future Technology Devices International Limited 9

Distributor and Sales Representatives Please visit the Sales Network page of the FTDI Web site for the contact details of our distributor(s) and sales representative(s) in your country. Neither the whole nor any part of the information contained in, or the product described in this manual, may be adapted or reproduced in any material or electronic form without the prior written consent of the copyright holder. This product and its documentation are supplied on an as-is basis and no warranty as to their suitability for any particular purpose is either made or implied. Future Technology Devices International Ltd will not accept any claim for damages howsoever arising as a result of use or failure of this product. Your statutory rights are not affected. This product or any variant of it is not intended for use in any medical appliance, device or system in which the failure of the product might reasonably be expected to result in personal injury. This document provides preliminary information that may be subject to change without notice. No freedom to use patents or other intellectual property rights is implied by the publication of this document. Future Technology Devices International Ltd, Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow G41 1HH United Kingdom. Scotland Registered Number: SC136640 Copyright 2009 Future Technology Devices International Limited 10

Appendix A Format of Info.plist <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/dtds/propertylist-1.0.dtd"> <plist version="1.0"> <key>cfbundledevelopmentregion</key> <string>english</string> <key>cfbundleexecutable</key> <key>cfbundleinfodictionaryversion</key> <string>6.0</string> <key>cfbundlename</key> <string>i/o Kit Driver for FTDI USB Devices</string> <key>cfbundlepackagetype</key> <string>kext</string> <key>cfbundleshortversionstring</key> <string>2.2.10</string> <key>cfbundlesignature</key> <string>????</string> <key>cfbundleversion</key> <string>2.2.10</string> <key>iokitpersonalities</key> <key>ft2232h_a</key> <integer>0</integer> <key>bcddevice</key> <integer>1792</integer> <integer>24592</integer> Copyright 2009 Future Technology Devices International Limited 11

<key>ft2232h_b</key> <key>bcddevice</key> <integer>1792</integer> <integer>24592</integer> <key>ft2232_a</key> <integer>0</integer> <integer>24592</integer> <key>ft2232_b</key> Copyright 2009 Future Technology Devices International Limited 12

<integer>24592</integer> <key>ft2xxb</key> <key>configdata</key> <key>latencytimer</key> <integer>16</integer> <key>midi</key> <false/> <integer>0</integer> <key>bcddevice</key> <integer>1024</integer> <integer>24577</integer> <key>ft2xxr</key> Copyright 2009 Future Technology Devices International Limited 13

<integer>0</integer> <key>bcddevice</key> <integer>1536</integer> <integer>24577</integer> <key>ft4232h_a</key> <integer>0</integer> <key>bcddevice</key> <integer>2048</integer> <integer>24593</integer> <key>ft4232h_b</key> Copyright 2009 Future Technology Devices International Limited 14

<key>bcddevice</key> <integer>2048</integer> <integer>24593</integer> <key>ft4232h_c</key> <integer>2</integer> <key>bcddevice</key> <integer>2048</integer> <integer>24593</integer> <key>ft4232h_d</key> <integer>3</integer> <key>bcddevice</key> <integer>2048</integer> <integer>24593</integer> Copyright 2009 Future Technology Devices International Limited 15

<key>ft8u2xxam</key> <integer>0</integer> <key>bcddevice</key> <integer>512</integer> <integer>24577</integer> <key>ftdi Recovery PID</key> <integer>0</integer> <integer>24582</integer> <key>osbundlelibraries</key> <key>com.apple.iokit.ioserialfamily</key> <string>1.0.4</string> <key>com.apple.iokit.iousbfamily</key> <string>1.8</string> Copyright 2009 Future Technology Devices International Limited 16

</plist> Copyright 2009 Future Technology Devices International Limited 17

Appendix B - Creating Packages For distribution purposes a customer may chose to create a package for the driver. The simplest mechanism for creating a package is to use the free PackageMaker tool provided by Apple. The PackageMaker tool is located in /Developer/Applications folder. This assumes that the user has downloaded and installed the developer tools. This appendix will show how to create a simple package. For more detailed instructions on PackageMaker usage please visit the Apple website. Step1: Create a directory structure such as: Dummy_root -System -Library -Extensions -FTDIUSBSerialDriver.kext -Content In this last folder (Content) copy all your edited files e.g. Info.plist, MacOS and Resources from your /tmp/ftdiusbserialdriver.kext/content folder. Step 2: Open PackageMaker. The new project screen (shown below) will appear. Select Single Package Project to bring up the next screen. Copyright 2009 Future Technology Devices International Limited 18

Select the contents tab and add the users root directory /Users/myaccount/Dummy_root. (Note: myaccount is my account). Other settings may be left as default. Select the File Permissions tab and setup as shown. Apply any changes required to your files and select OK. Copyright 2009 Future Technology Devices International Limited 19

The user has the option to now update the package version information, but fundamentally the package is ready to build. From the toolbar at the top of the screen select Project -> Build. From the next screen select the directory you want to save the package to and the filename you want to use. Then select SAVE. The package is now built. Copyright 2009 Future Technology Devices International Limited 20

Appendix C - Revision History Revision History Draft Initial Draft November, 2008 Rev 1.0 Initial Release 27 th January, 2009 Rev 1.1 Added Appendix B for creating a package 23 rd Sept 2009 Copyright 2009 Future Technology Devices International Limited 21