Future Technology Devices International Ltd.
Technical Note TN_101
Implementing Custom FTDI VID and PID Codes using Linux

Document Reference No: FT_000081
Version 1.0Issue Date: 2008-10-30

This FTDI technical note gives details on how to configure the FTDI Virtual COM port driver on Linux tohandle customized Vendor ID (VID) and Product ID (PID).

Future Technology Devices International Limited (FTDI)
373 Scotland Street, Glasgow G5 8QB 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 © 2008 Future Technology Devices International Limited

Document Reference No.: FT_000081

Implementing Custom FTDI VID and PID In Linux. Technical Note TN_101 Version 1.0
Clearance No.: FTDI# 64

Table of Contents

1Introduction............................................................................................ 2

2

Procedure............................................................................................... 32.2

3Acronyms and Abbreviations ............................................................................. 5Contact Information............................................................................... 6

Document Reference No.: FT_000081

Implementing Custom FTDI VID and PID In Linux. Technical Note TN_101 Version 1.0
Clearance No.: FTDI# 64

1Introduction

Many of FTDI’s Linux users have been searching for an easy way to modify the Linux FTDI Virtual COM port
driver (FTDI_SIO) to handle additional Vendor ID & Product ID codes (VID/PID). The default FTDI_SIO
driver supports the standard FTDI VID/PID plus a handful of other specialized VID/PID combinations.
The previous method used to modify VID/PID assignments in Linux was to edit kernel source files and to rebuild the kernel. This is very time consuming and error prone.
This applications note describes a quicker and more convenient way to add a unique VID/PID combination
for FTDI devices.

Document Reference No.: FT_000081

Implementing Custom FTDI VID and PID In Linux. Technical Note TN_101 Version 1.0
Clearance No.: FTDI# 64

2

Procedure

The following procedure should be followed to modify the VID and/or PID in Linux. The FTDI client device
should not be connected until indicated by the procedure.
1. Open a terminal window in Linux.
2. Go to the /etc/udev/rules.d directory.
The “sudo” command can be used here to create files.
3. Using the preferred Linux text editor, create a new file with the following name:99-usbftdi.rules
4. Enter the following Linux code, then save and close the file:# For FTDI FT232 & FT245 USB devices with Vendor ID = 0x0403, Product ID = 0xabc
SYSFS{idProduct}==”abcd”, SYSFS{idVendor}==”0403”, RUN+=”/sbin/modprobe –q ftdisio product=0xabcd vendor=0x0403”

Note that “0xabcd” is a dummy value for the PID; you will enter the PID assigned to you from FTDI.
For a VID assigned by the USB-IF, also modify the “idVendor” value above to match the assigned VID.

5. Save and close the rules file.
6. To instantiate, run the following command:sudo udevcontrol_reload rules <CR>

(It is only necessary to run this command once. The rule file will always be executed at system start up.)

7. Connect the FTDI device with the customized VID/PID and enter:dmesg | grep FTDI

<CR>This command will confirm a successful driver load. You should see the following:[15.768872] drivers/usb/serial/usb-serial.c: USB Serial support registeredfor FTDI USB Serial Device[15.768927] ftdi_sio 4-1:1.0: FTDI USB Serial Device converter detected[15.769177] usb 4-1: FTDI USB Serial Device converter now attached to ttyUSB0

The new VID/PIDs will stay resident on the Linux PC after shutdown and restart.

Communication with the FTDI device can be set up by using a simple Linux TTY terminal and pointing it to/dev/ttyUSB0.

8. To confirm the new VID/PID combination is present enter the following :Document Reference No.: FT_000081

Implementing Custom FTDI VID and PID In Linux. Technical Note TN_101 Version 1.0
Clearance No.: FTDI# 64lsusb<CR>

Bus 002 Device 001: ID 0000:0000
Bus 004 Device 004: ID 0403:abcd Future Technology Devices International, LtdBus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000(Note 1: lsusb does not confirm that driver is successfully loaded, only that hardware has been attached tothe computer.)(Note 2: At the time of writing this application note, the only method available to modify the hardware (onchip) PID/VID values is to use the Mprog3.0 application. This application only runs on Microsoft Windows)

If FTDI’s standard VID code is being used, then this MUST be used with a PID code allocated by FTDI. It isnot permissible to create user defined PID codes. In this case, please request a block of 8 unique PIDs fromFTDI (at no cost). All you need is a phone call or email to FTDI Support (refer to Contact Information
section). These allocated PIDs must be used with the standard FTDI VID of 0x0403.
If a custom VID is used (available to current members of the USB Implementers Forum USB-IF), then users
can choose any PID code. (This option has a cost associated with it).

Additional note for Ubuntu users:

It is not possible to access the Virtual COM port in Ubuntu until the “brltty” port is removed. This is done asfollows:

sudo apt-get remove brltty <CR>

Document Reference No.: FT_000081

Implementing Custom FTDI VID and PID In Linux. Technical Note TN_101 Version 1.0
Clearance No.: FTDI# 64

2.2

Acronyms and Abbreviations

Terms

Description

VID/PID

Vendor ID/Product ID

FTDI_SIO

FTDI Virtual Com Port driver for Linux Operating Systems

sudoLinux “Substitute User” command, gives administrator privileges

kernelCode that forms the heart of a Linux Operating System

Terminal Window

A Linux application similar to Windows’ “Command Prompt”

dmesg

Linux “Message of the day” – shows a log of events for the Linux PC.

Table 2.1 Acronyms and Abbreviations

Document Reference No.: FT_000081

Implementing Custom FTDI VID and PID In Linux. Technical Note TN_101 Version 1.0
Clearance No.: FTDI# 64

3Contact Information

Head Office – Glasgow, UK
Future Technology Devices International Limited
373 Scotland StreetGlasgow G5 8QB
United Kingdom
Tel: +44 (0) 141 429 2777
Fax: +44 (0) 141 429 2758
E-Mail (Sales): sales1@ftdichip.com
E-Mail (Support) : support1@ftdichip.com
E-Mail (General Enquiries): admin1@ftdichip.com
Web Site URL: http://www.ftdichip.com
Web Shop URL: http://apple.clickandbuild.com/cnb/shop/ftdichip

Branch Office – 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 97124-5803
USA
Tel: +1 (503) 547-0988
Fax: +1 (503) 547-0987
E-Mail (Sales): us.sales@ftdichip.com
E-Mail (Support) : us.support@ftdichip.com
E-Mail (General Enquiries): us.admin@ftdichip.com
Web Site URL: http://www.ftdichip.com

Distributors and Sales Representatives
Please visit the Sales Network page of the FTDI Web site for the contact details of our distributor(s) in your country.