# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MLA -- USB Library

20 December, 2013

- 1
- 2
…
- 291
- 292
- 293
- 294
- 295
…
- 311
- 312

1.7.2 Notes on .inf Files
Describes important information about .inf file usage and behavior.
Description
Upon initially plugging in a USB device, in some cases Windows will prompt the user for a driver. Rather than having users
manually copy .sys files (driver binary files) into important system directories (such as within the “\Windows\system32\”
directory structure) and manually add registry entries, Windows automates the driver installation process through the use of
.INF files. INF files are plain text (can be edited with notepad) installation instruction script files.
Some types of USB devices will not require .INF files or user provided drivers (for example, a HID class mouse). For these
types of devices, the operating system makes use of drivers already built into/distributed with the operating system, so no
user provided driver or .INF file is necessary.
For other types of devices, Windows will prompt the user for a driver. In these cases, point Windows to the .INF file relevant
for the USB device. All of the example projects included in the MCHPFSUSB framework which need an INF file are provided
with an example INF file. The INF file will need slight modification (most importantly to change the VID and PID) before
commercial distribution.
The INF file for the custom demo can be found in <Install Directory>\USB Tools\MCHPUSB Custom Driver\MCHPUSB
Driver\Release.
The INF file for the CDC demos can be found in <Install Directory>\USB Tools\USB CDC Serial Demo\inf\win2k_winxp.
1.7.3 Vendor IDs (VID) and Product IDs (PID)
Describes important information about Vendor IDs (VID) and Product IDs (PID).
Description
Every USB product line must have a unique combination of VID and PID. All firmware examples use Microchip's VID
(0x04d8) and a unique PID. Prior to manufacturing and marketing a new USB product, the VID and PID need to be changed.
New VID and PID numbers can be obtained by purchasing a VID from the USB Implementers Forum:
http://www.usb.org/developers/vendor
Alternatively, Microchip has a free VID sublicensing program. An application form for obtaining a PID (for use with
Microchip’s VID: 0x04d8) from Microchip can be obtained through the following link:
http://www.microchip.com/usblicensing/Default.aspx
Once a new VID/PID combination is obtained, both the firmware and the .INF file (when applicable) will need to be updated.
To modify the VID/PID in one of the example USB firmware projects, open the usb_descriptors.c file (found in each of the
demo folders). They should appear in the table used for the USB Device Descriptor. Change both values as needed.
To modify the VID/PID in the .INF file, open the relevant INF file and search for the “[DeviceList]” sections. There are two
sections, one for 32-bit and one for 64-bit, both sections should be identical. In these sections, some text will appear with the
form “USB\VID_xxxx&PID_yyyy”. Update the “xxxx” and “yyyy” sections with the new hexadecimal format VID/PID values.
1.7.4 Using a Diff Tool
Refer to the Section "Using a Diff Tool" in help_mla_getting_started file for more details.
1.7 Appendix (FAQs, Important MLA - USB Library Help Driver Signing and Windows 8
293

- 1
- 2
…
- 291
- 292
- 293
- 294
- 295
…
- 311
- 312