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-to-
UART 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.
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.
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.
Note:
Any changes to the Windows installation .inf files will
require new Windows Hardware Quality Labs (WHQL)
tests.
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.
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
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.
4.2. Operating System Selection
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
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.
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.
4.4.2. Device List
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.
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.
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.
is being customized, two interface names will appear.
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
The next step in the customization utility (shown in
Figure 9) is to configure the serial enumeration and
selective suspend options.
4.6.1. Serial Enumeration Support
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.
4.6.2. Selective Suspend Support
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.
4.7. Installation Options
Specific options for the GUI should now be specified.
4.7.1. Display GUI Window during Install
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.7.2. Copy Files to Target Directory during Install:
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.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
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.
Figure 9. Device Options
5
Rev. 0.6