SILABS CP2101

AN220
USB D RIVER C USTOMIZATION
Relevant Devices
This application note applies to the following devices:
CP2101/2/3/4/5, C8051F320/1/6/7, C8051F340/1/2/3/4/5/6/7/8/9/A/B/C/D, C8051F380/1/2/3/4/5/6/7,
C8051T320/1/2/3/6/7, C8051T620/1/2/3
1. Introduction
The information in this document and the associated
software download is intended for use by developers
creating USB products based on the CP210x USB-toUART Bridge Controller device family or the
C8051F32x, C8051F34x, C8051F38x, C8051T32x, and
C8051T62x USB MCU device families A Virtual COM
Port Driver is available for the CP210x family and is
included with the purchase of a CP210x Evaluation Kit.
Additionally, drivers can be created using the
USBXpress™ development kit for the CP210x,
C8051F32x, C8051F34x, C8051F38x, C8051T32x, and
C8051T62x device families. This document describes
the steps necessary to customize the Windows® device
driver installation using the Custom USB Driver
Installation Wizard.
2. Customizing Driver Installations
The driver installation is customizable by modifying
certain sections of the hardware installation files (.inf).
The strings contained in the .inf files affect what is
displayed in the “Found New Hardware Wizard” dialogs,
Device Manager, and the Registry. The changes to the
VID and PID in the driver installation should match the
VID and PID contained in the EPROM/FLASH of your
product. See “AN144: CP21xx Device Customization
Guide” for more information on changing the VID and
PID for your product.
When the device is connected to the PC for the first
time, the drivers will be installed with little interaction
from the user.
Note: A customized installation does not contain certified
drivers for Windows XP/2003/Vista/7. Certification
must be performed by Microsoft for the new driver
installation. An uncertified installation will not cause
any other problems other than the warning message
displayed by Windows XP/2003/Vista when installing
uncertified drivers. Uncertified drivers cannot be
installed in Windows 7 unless they are installed with a
testing certificate or the Ignore Serial Signing option is
enabled by pressing F8 on startup and selecting the
corresponding option.
To run the Custom USB Driver Installation Wizard, open
CustomUSBDriverWizard.exe, which is included in the
AN220SW.zip download. Figure 1 shows the first
screen of the Custom USB Driver Installation Wizard.
Choose the type of driver installation desired. For
detailed instructions on creating a custom driver
installation, see “4. Creating a Custom Driver”. This
description goes through the process of customizing a
CP210x driver. The process for creating a
USBXpress™ driver is the same as this description,
only select “USBXpress Driver” on the starting screen of
the wizard.
Note: Any changes to the Windows installation .inf files will
require new Windows Hardware Quality Labs (WHQL)
tests.
3. Using the Custom USB Driver
Installation Wizard
The Custom USB Driver Installation Wizard generates a
custom driver installation for distribution to end-users.
This customized installation consists of modified .inf
files, optional installation support files, and driver files
for Windows 2000/XP/Server 2003/Vista/Windows 7.
The optional installation executable provided can be
used to copy driver files and register a device on a PC
before or after the device has been connected. It will
also add an entry in the add/remove programs listing.
Rev. 0.6 3/11
Figure 1. Driver Installation Selection
Copyright © 2011 by Silicon Laboratories
AN220
AN220
4. Creating a Custom Driver
4.2. Operating System Selection
This section describes how to create a custom driver. To
begin, choose the type of installation to customize:
“Virtual COM Port Driver Installation” or “USBXpress
Installation”. Differences between the two installations
are noted, but a sample CP210x customization is
shown in the figures. Next, determine if an installation
executable should be generated (see “4.5. Installation
String Options” and “4.8. Generation Directory” for more
information on the generated installer), and click Next.
The first step in the customization utility (shown in
Figure 3) is to specify the operating system for which
the custom driver is being generated.
4.1. Driver Certification Warning
The first screen is the warning explaining that the
generated driver installation will not be certified. (See
Figure 2.) Click Next to begin customizing your driver
installation.
Figure 3. Operating System Selection
Figure 2. Driver Certification Warning
2
Rev. 0.6
AN220
4.3. String and File Name Customization
4.4.2. Device List
The next step in the customization utility (shown in
Figure 4) is to specify your preferred strings and
filenames. Each field is described in further detail below.
The Device List allows multiple VID and PID
combinations to be added to one driver. Current devices
can be edited by double-clicking an entry.
4.3.1. Company Name (Long Name for .inf File
Entries)
The company name appears in the .inf file entries and
has a maximum length of 255 characters.
4.3.2. Company Abbreviation (Short Name for .inf
File Entries)
The abbreviation appears in the .inf file entries and has
a maximum length of 31 characters.
4.3.3. File Name for .inf
This field allows for specification of a unique name for
the .inf file. The maximum length of this string is eight
characters. The generated file will be named
xxxxxxxx.inf.
Figure 5. VID and PID Customization
To add a new entry, click the Add button. A new dialog
box (shown in Figure 6) will appear with the following
options.
4.4.3. Device Type
This specifies which device is being customized. If the
VCP driver for the CP2105 is being customized, two
interface names will appear. Otherwise, only one
interface name will appear.
4.4.4. VID
Allows specification of a new vendor ID (VID).
4.4.5. PID
Allows specification of a new product ID (PID).
Figure 4. string and File Customization
4.4.6. Device Name
4.4. VID, PID, and Device Name Customiza- This string will be displayed in Device Manager under
the Ports or USB tab. If the VCP driver for the CP2105
tion
The next step in the customization utility (shown in
Figure 5) allows multiple VID/PID combinations in one
driver. This entry is also where the Device Name, which
appears in Windows Device Manager, is specified. An
example for Windows 7 is shown in Figure 7.
is being customized, two interface names will appear.
4.4.1. General Device Installation Name
This field is the general description of device
installation. This will not appear in Device Manager, but
will show up during installation if the user is prompted
for a disk.
3
Rev. 0.6
AN220
4.5. Installation String Options
The next step in the customization process is to specify
options for the driver installer. The driver installer will
allow for a device to be installed before or after a device
has been connected to the PC. If this is run before a
device is plugged in, drivers will already be registered
for devices that belong to that installation. If a device is
already plugged in, the installer will rescan the bus for
any devices for that installation. This section covers
adding the installer's strings and is shown in Figure 8.
The driver installer and its corresponding setup.ini file
are explained in further detail in “AN335: USB Driver
Installation Utility”.
4.5.1. Product Name
This is the string that identifies the product installation in
the Add/Remove Programs listing. The string shows up
as “<Product Name String> (Driver Removal)” for easy
identification.
Figure 6. Add VID/PID/Device Name to Installation
4.5.2. Name for Installation File
This is will be the name of the installation executable
and shows up as “<InstallName>.exe”.
Figure 8. Installation Strings
Figure 7. Windows 7 Device Manager Example
If an installer is not being generated, then skip to “4.9.
Option Verification”.
4
Rev. 0.6
AN220
4.6. Device Options
4.7. Installation Options
The next step in the customization utility (shown in
Figure 9) is to configure the serial enumeration and
selective suspend options.
Specific options for the GUI should now be specified.
4.7.1. Display GUI Window during Install
This allows Windows to “enumerate” a device(s), such
as serial mice or an external modem, connected to the
CP210x . If your device always presents data to the PC
(such as a GPS device), then disable this to prevent
false serial enumerations.
Check this option when using the generated Installer as
a stand-alone application. The Installer will display
several GUI windows during the installation process.
Uncheck this option to run the Installer in Quiet Mode.
When running in Quiet Mode, no GUI will be displayed.
This is useful when using another application to launch
this Installer.
4.6.2. Selective Suspend Support
4.7.2. Copy Files to Target Directory during Install:
Enabling this feature will put the device to sleep if it has
not been opened for a time longer than the specified
Timeout Value. This is used to save power on the PC
and is recommended unless your CP210x needs to be
powered if a handle to the device is not opened.
Check this option if a copy of the drivers will be needed
on the hard drive. This is useful when installing the
drivers from a CD. Uncheck this option if copies of the
driver files are not needed on the hard drive.
4.6.1. Serial Enumeration Support
4.7.3. Target Directory
Selects the hard drive location that will contain a copy of
the driver files. The default location is C:\Program
Files\Silabs\MCU\CP210x for the VCP Driver and
C:\ProgramFiles\Silabs\MCU\USBXpress
for
the
USBXpress driver. If the “Display GUI window during
Installation” option is selected, this path can be changed
during installation by clicking the Browse button.
However, if the “Display GUI window during Installation”
option is not selected, then the default directory is
always used unless a directory is specified through the
command line. This option is ignored if the “Copy Files
to Directory during Setup” option is not selected.
Note: The Target Directory must be different for each
product released.
4.7.4. Display GUI Window during Uninstall
Figure 9. Device Options
Check this option when using the generated Uninstaller
as a stand-alone application. The Uninstaller will display
several GUI windows during the uninstall process.
Uncheck this option if the Uninstaller will be launched by
another application. The Uninstaller then runs in Quiet
Mode. When running in Quiet Mode, no GUI will be
displayed.
4.7.5. Remove Files from Target Directory during
Uninstall
Check this option if the files copied to the Target
directory should be removed upon uninstallation. This
option is ignored if the “Copy Files to Directory during
Setup” option is not selected.
5
Rev. 0.6
AN220
4.9. Option Verification
The final step in the customization utility is to review all
of the selected options. If anything needs to be
changed, the Back button can be used to go back to
previous pages to change items. Once all options have
been verified, press Finish to create the customized
driver files. This step is shown in Figure 12.
Figure 10. Installation Options
4.8. Generation Directory
The next step in the customization utility is to specify
where this custom driver’s installation files will be
generated. The default directory for a VCP driver is
C:\Silabs\MCU\CustomCP210xDriverInstall, and the
default
for
a
USBXpress
Driver
is
C:\Silabs\MCU\CustomUSBXpressDriverInstall.
However, a different directory can be selected or
created. This step is shown in Figure 11.
Note: This is not an actual installation of the drivers.
This is simply a directory to output all installation
files needed for the installation. These files can
be added to a CD or OEM installation for distribution to the end-user.
Figure 12. Option Verification
5. Customizing Driver Installations,
Macintosh OS9 and OSX
If the VID or PID is changed from the default factory
settings, contact Silicon Laboratories to obtain drivers
that incorporate the new values. Macintosh requires that
the drivers be compiled with the values that will be used
by the production CP210x device.
Figure 11. Generation Directory
6
Rev. 0.6
AN220
DOCUMENT CHANGE LIST
Revision 0.1 to Revision 0.2

Added CP2103 to Relevant Devices on page 1.
Revision 0.2 to Revision 0.3

Updated figures and customization description to
reflect version 3.4 and later of the Custom Driver
Wizard.
 Removed USBXpress specific customization
description. Version 3.4 and later contains the same
process for customizing both VCP and USBXpress
driver installations.
 Removed preinstaller explanations and added
descriptions on how the new Driver Installer is used.
Revision 0.3 to Revision 0.4

Updated diagrams and wording to reflect 4.1 and
later versions of the Custom Driver Wizard.
 Updated to include documented support of
C8051F34x devices.
 Updated to reflect Vista support.
Revision 0.4 to Revision 0.5

Added support for CP2104 and CP2105.
Added support for Windows 7.
 Updated all screen shots of the AN220 software.
 Updated explanations of AN220 software.

Revision 0.5 to 0.6

Added support for C8051F38x, C8051T32x, and
C8051T62x devices.
 Updated Figures 1 through 12.
Rev. 0.6
7
AN220
CONTACT INFORMATION
Silicon Laboratories Inc.
400 West Cesar Chavez
Austin, TX 78701
Tel: 1+(512) 416-8500
Fax: 1+(512) 416-9669
Toll Free: 1+(877) 444-3032
Please visit the Silicon Labs Technical Support web page:
https://www.silabs.com/support/pages/contacttechnicalsupport.aspx
and register to submit a technical support request.
The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice.
Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from
the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features
or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability
arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to
support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages.
Silicon Laboratories and Silicon Labs are trademarks of Silicon Laboratories Inc.
Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders.
8
Rev. 0.6