# 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
…
- 269
- 270
- 271
- 272
- 273
…
- 311
- 312

glass in the upper right of the screen.
In Terminal, with the USB CDC ACM device NOT plugged in (yet), type:
ls /dev/tty.*
This will show all serial devices currently connected to the Mac. In the author’s case, the following list appears:
/dev/tty.Bluetooth-Modem
/dev/tty.Bluetooth-PDA-Sync
/dev/tty.Rob-1
Now, plug the USB CDC device into a USB port of the Mac. Hit the UP cursor, which will bring the search command back ( ls
/dev/tty.* ) and hit return. You should get the exact same list as before, but this time, with a new serial device. In the author’s
case, it was:
/dev/tty.usbmodem3d11
Once the complete name is know, the received serial port data can be displayed by typing:
screen /dev/tty.usbmodem3d11
(replace “3d11” in the above line with the value for your machine). If the microcontroller was programmed with the
“USB\Device - CDC - Basic Demo”, you can then press the user pushbutton, and the standard demo text should be printed
to the screen (ex: “BUTTON PRESSED ---”).
If the USB device is being operated as a USB to UART translator device (ex: using “USB\Device - CDC - Serial Emulator”
firmware, the baud rate can be set by using syntax like follows:
screen -U /dev/tty.usbmodem3d11 38400
Where “usbmodem3d11” should be replaced with the actual value of the device, and “38400” should be replaced with actual
desired baud rate (ex: 9600, 19200, 38400, 57600, 115200, etc.). More details and usage information for screen can be
found in the man page.
Note: Composite CDC + (any other interface) USB devices (such as the MCP2200, which is a composite CDC+HID device)
will only work on Mac OS X 10.7 (or later). Mac OS X 10.7 is the first OS X version that supports USB Interface Association
Descriptors (IADs), which are needed when implementing composite USB devices with multiple interfaces, with at least one
CDC-ACM function. Prior versions of Mac OS X did not support IADs, and therefore can only support non-composite, single
function CDC-ACM devices.
1.6.5 Device - HID - Custom Demo
Demo showing how to create a device that can transfer custom application data without the need of a driver installation
using the HID class.
Description
Supported Demo Boards
The matrix of which demos are supported on a specific board can be found in the Release Notes demo board support
section. Verify that the board you wish to use will work with this demo. This table also describes some of the limitations that
the board might have while running this demo.
Demo Board I/O Mapping
Each demo board has a different number of push buttons, LEDs, and other features with various different names for these
components. To determine which board features are used for which demo features, please refer to the io_mapping.h file in
the demo folder under the system_config folder. Each demo board will have a corresponding folder with an io_mapping.h file
in it. For example, for the PIC18F46J50 PIM this would be the following file:
<install_directory>/apps/usb/device/hid_custom/firmware/src/system_config/pic18f46j50_pim/io_mapping.h
1.6 Demos MLA - USB Library Help Device - HID - Custom Demo
271

- 1
- 2
…
- 269
- 270
- 271
- 272
- 273
…
- 311
- 312