Clear Hat Consulting, Inc.

Size: px
Start display at page:

Download "Clear Hat Consulting, Inc."

Transcription

1 Clear Hat Consulting, Inc. Assessment of Software & Hardware Approaches to Building a USB Fuzzer 1. Background The USB protocol defines communication between a host controller and a USB device. The USB host acts in the role of bus master and must initiate all data transfers with devices. The USB devices act in the role of slaves on the bus and are required to respond to requests from the USB host. Requests sent to the device by the host fall into one of three categories: Standard Requests Class Specific Requests Vendor Specific Requests Some examples of Standard Requests include: Get Status Clear Feature Set Feature Set Address Get Descriptor Get Configuration Get Interface Set Interface In response to a request from the host controller, a device stores the requested data in a USB Descriptors. There are several types of descriptors, but the primary ones are Device, Configuration, Interface, and String descriptors. The type of descriptor returned differs depending on the request. When a new USB device is plugged into the system, the host will make a sequence of requests designed to discover information about the device. It uses this information to determine what driver needs to be loaded. The typical sequence of events and requests that occur when a new device is plugged in are summarized as follows: 1. The hub detects the device based on the voltages on the D+ and D- lines on its ports. 2. The hub reports the new device to the host. In response, the host sends the hub a Get Port Status request. 3. The hub detects if the device is low or full speed. 4. The host sends the hub a Set Port Feature request that asks the hub to reset the port.

2 2 5. The host learns if a full speed device supports high speed. 6. The host verifies that the device has exited the reset state by sending a Get Port Status request. 7. The host sends a Get Descriptor request to learn the maximum packet size 8. The host assigns a unique address to the device by sending a Get Address request. 9. The host sends a Get Descriptor request to the new address to read the device descriptor. The descriptor contains the maximum packet size, the number of configurations that the device supports, and other information about the device. Based upon the information in the device descriptor, the host requests the configuration descriptor specified in the device descriptor. Finally it requests the interface descriptors. 10. Based upon all of the descriptor information, the host assigns a device driver to the device and loads it. 11. The device driver selects a configuration based on the descriptor information by sending a Set Configuration request. The device is now in the configured state and is ready for use. 2. Windows USB Architecture

3 3 Windows implements the USB specification in a layered driver architecture. The mini port drivers usbuhci.sys and usbehci.sys are located at the bottom of the stack. From diassembling them in IDA pro, they appear to implement the port based requests like Get Port Status and Set Port Feature. Therefore, these drivers would probably implement the first six events that occur during the initialization of a new device. The usbd.sys driver sits above the port drivers. It is the Windows USB bus driver. From disassembling usbd.sys in IDA Pro, most of its functions appear to be related to getting and parsing configuration descriptors. Therefore, it appears that usbd.sys would handle events 7-9 in the above list. The Windows hub driver usbhub.sys sits above usbd.sys and the port drivers. It seems to handle the interpretation of the descriptor information and determination of which class driver should be loaded. Finally, the USB class drivers are at the top of the Windows USB driver stack. The class driver is based on the type of device. Class drivers may be either system or vendor supplied. Windows supplies several class drivers including: 1. Bthusb.sys (bluetooth class) 2. Usbccid.sys (smart card interface devices) 3. Hidusb.sys (human interface device class) 4. Usbstor.sys (mass storage class) 5. Usbprint.sys (printing class) 6. WpdUsb.sys (scanning / imaging) 7. WpdUsb.sys (media transfer class) 8. Usbaudio.sys (usb audio class) 9. Usbser.sys (usb modem class) 10. Usbvideo.sys (video class) There are a few software tools that allow us to view USB traffic. One of these is the Snoopy Pro tool. Figure 1 shows Snoopy s view of the device requests that occur when a USB mass storage driver is plugged in. The first request is a Get Descriptor request to get the device descriptor (bdescriptortype = 1). This corresponds to step 9 in the previous list of initialization steps. The request for the device descriptor is followed by requests for the configuration descriptor. The reason we don t see the first 8 initialization steps becomes clear if we use the Windows DDK Device Tree tool to view the driver stack after installing Snoopy. The Snoopy driver usbsnoop.sys has 6 filter devices associated with it. These filters attach to the Windows drivers usbhub.sys, hidusb.sys, usbstor.sys, usbscan.sys, and usbprint.sys. Because usbhub.sys is the lowest level driver that Snoopy attaches too, we don t see the port requests that were made by the lower level port drivers in the Windows device stack (usbuhci.sys, usbehci.sys, ect). The first 8 initialization steps must have been handled by these lower level drivers.

4 4 Figure 1: Snoopy output after plugging in a USB flash drive. 3. USB Fuzzer Design Goals The goal of fuzzing the Windows USB interface is to efficiently exercise the code paths in the Windows port, hub, and class drivers to identify bugs related to assumptions about how devices implement / obey the protocol specification. Therefore, a good starting point for a fuzzer might be to focus on the requests that involve the transmission of device data to the host. As mentioned previously, device data returned in descriptors. Furthermore, there are several different types of descriptors and the exact type of

5 5 descriptor used is dependent on the specific host request. Ideally, a USB fuzzer should have the following qualities: It should be able to send malformed descriptor data in response to different requests from the host. The Black Hat USB vulnerability presented by Darrin Baral and David Dewey was an example of a vulnerability during device initialization involving a malformed device string descriptor. It should be able to emulate different USB devices by returning descriptor data that is capable of impersonating different device classes. By impersonating different types of devices, we may be able to exercise code paths in some of the Windows upper level class drivers. The hope is that some of these drivers have not been as well debugged as some of the core drivers. Based upon our research, we feel that it might be possible to take several different approaches to developing a USB fuzzer. Each of these approaches has a different cost profile that is associated with different strengths and weaknesses. In the following section we analyze three possible approaches to the problem. 4 Software Based Fuzzers It may be possible to implement a Software based fuzzer using a low level USB filter driver similar to Snoopy. Using a filter, we should be able to intercept and modify USB related request data as it is passed up the USB device stack. The placement of the filter in the device stack would determine the type of USB requests we would be able to control and the driver code paths that we would be able to influence. For example, the Snoopy driver attaches to usbhub.sys so it is unable to influence any requests that are handled by the lower level port drivers. A software based fuzzer solution does not have any associated hardware cost, but it may have a high cost of development due to the complexity of the Windows USB stack. It may, however, be possible to reduce the development cost and complexity somewhat by modifying an open source USB sniffer like Snoopy. One issue that we foresee with a filter driver based solution concerns traffic generation. For a fuzzer to be efficient and achieve maximum code coverage it needs to have a constant stream of traffic into the various host drivers. While filter drivers may be used to modify existing USB traffic, it may be more difficult to use them to generate new traffic. Furthermore, many of the bugs may exist in the initialization sequence for a device. Initialization occurs in response to voltage changes associated with plugging a device into a hardware USB port. Manually plugging and unplugging a USB device from a physical port is clearly not an efficient way to fuzz those paths. Therefore, we need a means of causing software based attach and detach events. Although these may be a solvable problems, our experience with the USB protocol is limited and the Windows USB driver stack is complex. The solution to these issues is not immediately clear. The final drawback to a software based solution is that it is Operating System dependent and cannot be used to fuzz USB drivers on other systems like Linux or Mac.

6 6 5. Hardware Fuzzers (Programmable USB Development Board) We could implement a USB fuzzer using a programmable USB device. There are a variety of USB development boards on the market and they are relatively in-expensive. Ideally, we need a development board with flashable firmware and good software support. Software support is essential because we will need to implement the handling for most of the host s device requests. Development cost could be high if we have to implement all of a USB device s firmware functionality from scratch. If the device already has firmware, source availability, good documentation, and is flashable, development should be easier because we will be able to modify the existing firmware. In some aspects, modifying device firmware may be easier than modifying a Windows USB filter driver. That is because we only need to understand the USB specification rather than needing to understand both the USB specs and the Windows USB driver stack. Generating traffic should also be easier with a hardware device because the signals that control device attachment should be able to be manipulated by the device firmware. Finally, a hardware approach is Operating System independent and could be eventually be used to fuzz other platforms. We have surveyed some of the USB development boards that are available. Some of following boards look like they could suit our needs. 5.1 DevaSys USB Development Device. WEBSITE: PROS: The firmware is flashable and example firmware is provided. The device is also very reasonably priced at $79.00 CONS: The example firmware was written on Borland Turbo C and would require porting to another Development environment. The website also claims that the device is temporarily out of stock. Not clear if there is a firmware backup. 5.2 Acquire Devices

7 7 The Pike USB 2.0 EZ-USB FX2 Based Prototyping Board is ideal for rapid prototyping, evaluation, small-scale production, and educational use for developing USB applications. The Pike USB 2.0 EZ-USB FX2 Based Prototyping Board functions as a USB High Speed device with supported transfer rates up to 480Mbit/s, and the EZ-USB FX2 chip is fully backward compatible as a USB Full Speed device with data rates up to 12Mbit/s. The Pike Board uses the 56-Pin Cypress CY68013A EZ-USB FX2 High Speed transceiver, and supports any existing EZ-USB FX2 firmware and host software. WEBSITE: PROS: The firmware is flashable and it supports any existing EZ-USB FX2 firmware. Firmware examples and software documentation are readily available. There is also a Windows development kit available from Cypress. The hardware and development kit are both able to be ordered online. CONS: The website claims the development kit is out of stock. 6. Hardware Fuzzer (Traffic Generator / Scriptable Device Emulator) During our research, we looked at USB traffic generators. A USB traffic generator is a hardware component that is often used for testing USB devices. It is usually capable of generating abnormal traffic (i.e. traffic that does not follow the USB specifications) for testing purposes. Because the goal of a fuzzer is to generate abnormal traffic, a traffic generator seemed like it might be an ideal solution. Unfortunately, most available traffic generators only generate host side traffic to exercise the device logic. We actually need to generate device side traffic to exercise the host logic. We did, however, find a few companies with devices of interest. 6.1 NitAI Consulting Services NitAI Consulting Services is one of the few companies that claims to offer a USB device emulator for host / hub testing. It is implemented as an add in PC PCI card and the

8 8 feature list claims that the descriptor contents for host requests are scriptable which might make development easier than having to implement / modify the firmware. The company website lists the following features for their USB device emulator. WEBSITE: PROS: Fuzzing might be able to be performed using a script which could make development easier. CONS: Scriptable interface could limit flexibility if it is not designed to be vey configurable. Details of pricing and the scripting functionality were not readily available on the company website and contacting the company has been difficult. We attempted to contact the company by phone to get some more information about the scriptability support and pricing, but we were unable to reach a company representative. We also sent an to the company but we have not yet received a reply. 6.2 Centrillium IT Consulting Centrillium advertises a USB emulator that that claims to turn a PC into a USB device. Their USB Device Emulator claims to have a USB loop back device capable of performing verification of the Host controller and driver stack. WEBSITE: PROS: You could use a second PC as a fuzzer for the host controller drivers on another PC without needing a separate USB development board. Claims to have an API and class library.

9 9 CONS: Website does not provide any pricing information or any documentation of API interface. 4. Recommendations Based on our research, we feel that a hardware solution for fuzzing USB may offer the best cost vs. benefit in terms of development time, complexity, and flexibility. USB development boards are relatively in-expensive. Furthermore, fuzzer development on a standalone device firmware may be easier than trying to intercept and modify device data in within the Windows USB software framework. This is because we only need to understand the USB specification rather than the USB Specification and the highly complex Windows USB Stack. Therefore, we anticipate that development costs may be a little bit less for a hardware based fuzzer. Finally, a hardware approach is Operating System independent and could be eventually be used to fuzz other platforms. There are at least 2 options for a hardware based solution. These include using a standalone programmable USB development board or using a device emulator that allows a PC to function as a USB device. Some of the USB device emulators have support for developing test traffic using scripts. This could simplify the fuzzing process, but it also may limit flexibility depending on how configurable the script interface is. We are leaning toward a standalone USB development board because we want maximum configurability. Of the development boards we looked at, we favor the USB 2.0 EZ-USB FX2. We like this board because it is flashable, it has an available development kit, and firmware examples are readily available. The company website currently lists the development kit as out of stock, but we intend to call their sales department about availability.

AN4869 Application note

AN4869 Application note Application note BlueNRG-1, BlueNRG-2 BLE OTA (over-the-air) firmware upgrade Introduction This application note describes the BlueNRG-1 over-the-air (OTA) firmware upgrade procedures running on top of

More information

Emulating USB Device Firmware Update

Emulating USB Device Firmware Update Introduction Emulating USB Device Firmware Update for Quickly Reversing and Exploiting Embedded Systems Travis Goodspeed Breakpoint 2012, Melbourne, Australia Travis Goodspeed () Emulating DFU Breakpoint

More information

The BlueNRG-1, BlueNRG-2 BLE OTA (over-the-air) firmware upgrade

The BlueNRG-1, BlueNRG-2 BLE OTA (over-the-air) firmware upgrade Application note The BlueNRG-1, BlueNRG-2 BLE OTA (over-the-air) firmware upgrade Introduction This application note describes the BlueNRG-1, BlueNRG-2 over-the-air (OTA) firmware upgrade procedures running

More information

An Introduction to Universal Serial Bus

An Introduction to Universal Serial Bus An Introduction to Universal Serial Bus Neil Scott June 27, 2008 NEIL SCOTT JUNE 27, 2008 1 Overview Introduction History Hierarchy Enumeration Demonstration Circuit Conclusions Questions NEIL SCOTT JUNE

More information

Software Vulnerability

Software Vulnerability Software Vulnerability Refers to a weakness in a system allowing an attacker to violate the integrity, confidentiality, access control, availability, consistency or audit mechanism of the system or the

More information

Introducing Class-Level Decoding Video See a video demonstration of the new real-time class-level decoding feature of the Data Center Software.

Introducing Class-Level Decoding Video See a video demonstration of the new real-time class-level decoding feature of the Data Center Software. Debug USB Faster with USB Class-Level Decoding Introducing Class-Level Decoding Video See a video demonstration of the new real-time class-level decoding feature of the Data Center Software. What are USB

More information

Design Of Linux USB Device Driver For LPC2148 Based Data Acquisition System Including GSM.

Design Of Linux USB Device Driver For LPC2148 Based Data Acquisition System Including GSM. Design Of Linux USB Device Driver For LPC2148 Based Data Acquisition System Including GSM. Snehal A. More, Tejashree R. Padwale, Anuja B. Sapkal, Prof. Pradeep R. Taware Abstract- Among several other advantages

More information

S2C K7 Prodigy Logic Module Series

S2C K7 Prodigy Logic Module Series S2C K7 Prodigy Logic Module Series Low-Cost Fifth Generation Rapid FPGA-based Prototyping Hardware The S2C K7 Prodigy Logic Module is equipped with one Xilinx Kintex-7 XC7K410T or XC7K325T FPGA device

More information

USB Complete. The Developer's Guide Fifth Edition. Jan Axelson. Lakeview Research LLC Madison, WI 53704

USB Complete. The Developer's Guide Fifth Edition. Jan Axelson. Lakeview Research LLC Madison, WI 53704 USB Complete The Developer's Guide Fifth Edition Jan Axelson Lakeview Research LLC Madison, WI 53704 Contents Introduction 1 USB Basics 1 Uses and limits 1 Benefits for users 2 Benefits for developers

More information

Beagle USB 5000 SuperSpeed Protocol Analyzer

Beagle USB 5000 SuperSpeed Protocol Analyzer Beagle USB 5000 SuperSpeed Protocol Analyzer The Value Leader in USB 3.0 Analysis Industry-leading embedded systems tools TM Beagle USB 5000 SuperSpeed Protocol Analyzer The Beagle TM USB 5000 SuperSpeed

More information

Unencrypted Mouse Packet

Unencrypted Mouse Packet MouseJack Injecting Keystrokes into Wireless Mice Marc Newlin Bastille Threat Research Team February 12, 2016 Abstract MouseJack is a collection of security vulnerabilities affecting non-bluetooth wireless

More information

Ellisys USB 2.0 Protocol Analyzer

Ellisys USB 2.0 Protocol Analyzer Ellisys USB 2.0 Protocol Analyzer Ellisys USB Explorer 260 Analyzer - Features chart Ellisys USB Explorer 260 Analyzer Features Availability Release date Nov. 2007 Availability From stock Specification

More information

MASSIVE SCALE USB DEVICE DRIVER FUZZ WITHOUT DEVICE. HC Tencent s XuanwuLab

MASSIVE SCALE USB DEVICE DRIVER FUZZ WITHOUT DEVICE. HC Tencent s XuanwuLab MASSIVE SCALE USB DEVICE DRIVER FUZZ WITHOUT DEVICE HC Ma @ Tencent s XuanwuLab whoami Security Researcher@ Used to doing Chemistry; Interested in: Console Hacking; Embedded Device Security; Firmware Reverse

More information

AwiaTech WirelessHART TM Rapid Development Kit Manual

AwiaTech WirelessHART TM Rapid Development Kit Manual AwiaTech HART TM Rapid Development Kit Manual AwiaTech Corporation 2011-2013. All rights reserved FCC STATEMENT 1. This device complies with Part 15 of the FCC Rules. Operation is subject to the following

More information

ORION USB3 Evaluation Kit

ORION USB3 Evaluation Kit ORION USB3 Evaluation Kit Table of Contents 1 General Description...4 2 System Overview...5 3 Operating Instructions...7 3.1 Recommended Equipment...7 3.2 Resolution / Fame rate and ADC gain settings...7

More information

David Harrison, Design Engineer for Model Sounds Inc.

David Harrison, Design Engineer for Model Sounds Inc. David Harrison, Design Engineer for Model Sounds Inc. 1 History -1 In 1994 an alliance of four industry partners (Compaq, Intel, Microsoft and NEC) started to specify the Universal Serial Bus (USB). The

More information

NanEye GS USB3 Evaluation Kit

NanEye GS USB3 Evaluation Kit Revision History: Version Date 1.0.0 20/03/15 Document creation Fátima Gouveia 1.0.1 Updated Document Fátima Gouveia Modifications Author 2/16 Table of Contents 1 Overview...5 2 USB3 Evaluation Board...6

More information

USB Interrupt Transfer Example PSoC 3 / PSoC 5

USB Interrupt Transfer Example PSoC 3 / PSoC 5 USB Interrupt Transfer Example PSoC 3 / PSoC 5 Project Objective This code example demonstrates how to perform USB Interrupt Transfer from a PC using the USB HID driver and PSoC 3 device. Overview USB

More information

Lab 1. OMAP5912 Starter Kit (OSK5912)

Lab 1. OMAP5912 Starter Kit (OSK5912) Lab 1. OMAP5912 Starter Kit (OSK5912) Developing DSP Applications 1. Overview In addition to having an ARM926EJ-S core, the OMAP5912 processor has a C55x DSP core. The DSP core can be used by the ARM to

More information

Formal Technology in the Post Silicon lab

Formal Technology in the Post Silicon lab Formal Technology in the Post Silicon lab Real-Life Application Examples Haifa Verification Conference Jamil R. Mazzawi Lawrence Loh Jasper Design Automation Focus of This Presentation Finding bugs in

More information

UWBTRACER /TRAINER. Protocol Verification for Certified Wireless USB (WUSB) and WiMedia Ultra Wideband Applications

UWBTRACER /TRAINER. Protocol Verification for Certified Wireless USB (WUSB) and WiMedia Ultra Wideband Applications UWBTRACER /TRAINER Protocol Verification for Certified Wireless USB (WUSB) and WiMedia Ultra Wideband Applications LeCroy s UWBTracer/Trainer system is the industry s most advanced verification tool for

More information

NanoUSB3 Evaluation Kit for NanEye GS

NanoUSB3 Evaluation Kit for NanEye GS NanoUSB3 Evaluation Kit for NanEye GS Table of Contents 1 Overview...3 2 USB3 Evaluation Board...4 3 Operating Instructions...6 3.1 Recommended Equipment...6 3.2 Basic operational instructions...6 3.3

More information

FPGA Augmented ASICs: The Time Has Come

FPGA Augmented ASICs: The Time Has Come FPGA Augmented ASICs: The Time Has Come David Riddoch Steve Pope Copyright 2012 Solarflare Communications, Inc. All Rights Reserved. Hardware acceleration is Niche (With the obvious exception of graphics

More information

PLX USB Development Kit

PLX USB Development Kit 870 Maude Avenue Sunnyvale, California 94085 Tel (408) 774-9060 Fax (408) 774-2169 E-mail: www.plxtech.com/contacts Internet: www.plxtech.com/netchip PLX USB Development Kit PLX Technology s USB development

More information

STSW-BNRGUI. BlueNRG GUI SW package. Data brief. Features. Description

STSW-BNRGUI. BlueNRG GUI SW package. Data brief. Features. Description Data brief BlueNRG GUI SW package Features Product status link STSW-BNRGUI Graphical user interface (GUI) PC application GUI tools: Load history Save history (csv file) Save history as text (txt file)

More information

Verify that Wi-Fi option is turned on. Swipe down from the top of the screen once by using two fingers, or twice using one finger. Tap > Wi-Fi.

Verify that Wi-Fi option is turned on. Swipe down from the top of the screen once by using two fingers, or twice using one finger. Tap > Wi-Fi. Troubleshooting I can't find an email using the BlackBerry Device Search app The BlackBerry Device Search app only searches email that is in the BlackBerry Hub. To learn how to add email accounts to the

More information

P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA

P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA TEL: (617) 353-9206 FAX: (617) 353-9205 http://www.pemicro.com USB-ML-MON08 Rev D Technical Summary Document # PE3357, Version 1.01

More information

BT LE RN4020 USB Dongle Datasheet

BT LE RN4020 USB Dongle Datasheet BT LE RN4020 USB Dongle Datasheet Introduction BT LE RN4020 Dongle is a USB Stick type device build around Microchip s RN4020 module which provides a fully command based interface to manage the module.

More information

Black Hat Europe 2012 March 14 th 2012

Black Hat Europe 2012 March 14 th 2012 Black Hat Europe 2012 March 14 th 2012 Andy Davis Research Director Telephone: +44 (0) 208 401 0070 e-mail: andy.davis@ngssecure.com NCC Group Plc, Manchester Technology Centre, Oxford Road, Manchester

More information

ECE 471 Embedded Systems Lecture 30

ECE 471 Embedded Systems Lecture 30 ECE 471 Embedded Systems Lecture 30 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 3 December 2018 HW#11 was posted Announcements Feel free to return borrowed hardware. 1 Ethernet

More information

Fuzzing the USB in your devices

Fuzzing the USB in your devices Fuzzing the USB in your devices or How to root your USB-stick Olle Segerdahl olle@nxs.se whoami Technical IT-sec background Currently in Information Assurance When you're sure it does what it's specified

More information

USB2 Debug Device A Functional Device Specification

USB2 Debug Device A Functional Device Specification USB2 Debug Device A Functional Device Specification Date: March 25, 2003 Revision: 0.9 The information is this document is under review and is subject to change. USB2 Revision 0.9 3/25/2003 Scope of this

More information

USB for Embedded Devices. Mohit Maheshwari Prashant Garg

USB for Embedded Devices. Mohit Maheshwari Prashant Garg USB for Embedded Devices Mohit Maheshwari 200601008 Prashant Garg 200601144 USB : An Introduction The Universal Serial Bus (USB) is a specification developed by Compaq, Intel, Microsoft and NEC, joined

More information

Data Sheet. Packet-Master USB12 Bus Analyser

Data Sheet. Packet-Master USB12 Bus Analyser Packet-Master USB12 Bus Analyser The Packet-Master USB12 is a Hardware USB Bus Analyser, intended for development of Low and Full Speed USB devices and hubs etc. It comes complete with our Windows application

More information

Skywire Software Developer s Guide

Skywire Software Developer s Guide Skywire Software Developer s Guide NimbeLink Corp Updated: August 2018 PN 1001750 rev 1 NimbeLink Corp. 2018. All rights reserved. 1 Table of Contents Table of Contents 2 Introduction 4 Scope 4 Getting

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

NanoUSB3 Evaluation Kit for NanEye XS

NanoUSB3 Evaluation Kit for NanEye XS NanoUSB3 Evaluation Kit for NanEye XS Revision History: Version Date Modifications Author 1.0.0 22/05/17 Document Creation Luciano Calaça 1.0.1 21/06/17 Updated Debug Section 5.4 Luciano Calaça Page: 2/15

More information

Figure 26 CC Debugger Interface

Figure 26 CC Debugger Interface Figure 26 CC Debugger Interface Once the CC Debugger is set up with the status indicator LED showing green, you are ready to either read or write a hex file from the board, or to start debugging a project

More information

Working with Quad and Other SPI Protocols Testing and Debugging (Quad-) SPI-based ASIC, FPGA, SoC and Embedded Systems

Working with Quad and Other SPI Protocols Testing and Debugging (Quad-) SPI-based ASIC, FPGA, SoC and Embedded Systems Working with Quad and Other SPI Protocols Testing and Debugging (Quad-) SPI-based ASIC, FPGA, SoC and Embedded Systems By Alan Lowne, CEO, SaeligCo., Inc. and Frédéric Leens, sales and marketing manager,

More information

EZ-USB SX2 Development Kit Manual Getting Started. Rev 2.0

EZ-USB SX2 Development Kit Manual Getting Started. Rev 2.0 EZ-USB SX2 Development Kit Manual Getting Started Rev 2.0 Cypress Semiconductor Personal Communication Division 3901 North First Street San Jose, CA 95134 (408) 943-2600 www.cypress.com Cypress Disclaimer

More information

1.1 For Fun and Profit. 1.2 Common Techniques. My Preferred Techniques

1.1 For Fun and Profit. 1.2 Common Techniques. My Preferred Techniques 1 Bug Hunting Bug hunting is the process of finding bugs in software or hardware. In this book, however, the term bug hunting will be used specifically to describe the process of finding security-critical

More information

2. LAN Topologies Gilbert Ndjatou Page 1

2. LAN Topologies Gilbert Ndjatou Page 1 2. LAN Topologies Two basic categories of network topologies exist, physical topologies and logical topologies. The physical topology of a network is the cabling layout used to link devices. This refers

More information

L13. Communicating wireless by XBee modules

L13. Communicating wireless by XBee modules L13. Communicating wireless by XBee modules 1. Introduction XBee and XBee-PRO ZB embedded RF modules provide cost-effective wireless connectivity to devices in ZigBee mesh networks. With the PRO Feature

More information

PGT302 Embedded Software Technology. PGT302 Embedded Software Technology

PGT302 Embedded Software Technology. PGT302 Embedded Software Technology PGT302 Embedded Software Technology 1 PART 1 Introduction to the Embedded World 2 Objectives for Part 1 Need to DESCRIBE and DISCUSS the following topics: Embedded systems Embedded software Embedded hardware

More information

FabulaTech Products Advanced Communications Solutions

FabulaTech Products Advanced Communications Solutions FabulaTech Products Advanced Communications Solutions USB for Remote Desktop Sound for Remote Desktop Webcam for Remote Desktop Printer for Remote Desktop Scanner for Remote Desktop Biometrics for Remote

More information

Testing and Debugging

Testing and Debugging Testing and Debugging 17 Testing and Debugging Tools In addition to the chip-specific development boards and debugging software described in Chapter 6, a variety of other hardware and software tools can

More information

C06 Firmware for 5x00 Series USB and Video Extenders

C06 Firmware for 5x00 Series USB and Video Extenders Release Notes for 5x00 Series USB and Video Extenders Document #: 90-01176 Firmware Release Date: January 2014 Version: A01 Contents 1. FIRMWARE RELEASE NOTES... 1 1.1 INCLUDED FEATURES AND FIXES... 1

More information

WRE6606. User s Guide. Quick Start Guide. Dual-Band Wireless AC1300 Access Point. Default Login Details. Version 1.00 (ABDU.0) Edition 1, 10/2016

WRE6606. User s Guide. Quick Start Guide. Dual-Band Wireless AC1300 Access Point. Default Login Details. Version 1.00 (ABDU.0) Edition 1, 10/2016 WRE6606 Dual-Band Wireless AC1300 Access Point Version 1.00 (ABDU.0) Edition 1, 10/2016 Quick Start Guide User s Guide Default Login Details Web Address http://zyxelsetup http://dhcp-assigned IP www.zyxel.comhttp://192.168.1.2

More information

Linux in the connected car platform

Linux in the connected car platform Linux in the connected car platform Background Long time desktop Linux user Designed several capes for the BeagleBone Black Currently an Embedded engineer for Dialexa What is a connected car anyway? A

More information

Getting Started with SKPIC32

Getting Started with SKPIC32 Getting Started with SKPIC32 Content: 1.Introduction 2.The Board 3.Software 4.Hands On 4.1.Loading program with bootloader 4.2.Loading program without bootloader 1. Introduction 32-bit PIC MCU have more

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

CSE 565 Computer Security Fall 2018

CSE 565 Computer Security Fall 2018 CSE 565 Computer Security Fall 2018 Lecture 16: Building Secure Software Department of Computer Science and Engineering University at Buffalo 1 Review A large number of software vulnerabilities various

More information

UNIVERSAL SERIAL BUS PROTOCOL SOLUTIONS FOR TESTING AND VERIFICATION

UNIVERSAL SERIAL BUS PROTOCOL SOLUTIONS FOR TESTING AND VERIFICATION UNIVERSAL SERIAL BUS PROTOCOL SOLUTIONS FOR TESTING AND VERIFICATION USBTracer/Trainer TM System USBMobileTM HS Analyzer USB AdvisorTM Analyzer USB ChiefTM Analyzer LeCroy, a worldwide leader in serial

More information

Designing a Low-Cost USB Interface for an Uninterruptable Power Supply with the Cypress Semiconductor CY7C63001 USB Controller

Designing a Low-Cost USB Interface for an Uninterruptable Power Supply with the Cypress Semiconductor CY7C63001 USB Controller fax id: 3456 Designing a Low-Cost USB Interface for an Uninterruptable Power Supply with the Cypress Semiconductor C7C63001 USB Controller Introduction The Universal Serial Bus (USB) is an industrial standard

More information

Developer & maintainer of BtleJuice. Having fun with Nordic's nrf51822

Developer & maintainer of BtleJuice. Having fun with Nordic's nrf51822 YOU'D BETTER SECURE YOUR BLE DEVICES OR WE'LL KICK YOUR BUTTS! @virtualabs DEF CON 26, Aug. 12th 2018 WHO AM I? Head of R&D @ Econocom Digital Security Studying Bluetooth Low Energy for 3 years Developer

More information

Bluetooth Core Specification v5.1

Bluetooth Core Specification v5.1 Bluetooth Core Specification v5.1 Feature Overview Bluetooth Core Specification v5.1 contains a series of updates to the Bluetooth core specification. This document summarizes and explains each change.

More information

This process is a fundamental step for every USB device, fore without it, the device would never be able to be used by the OS.

This process is a fundamental step for every USB device, fore without it, the device would never be able to be used by the OS. What is USB Enumeration? Enumeration is the process by which a USB device is attached to a system and is assigned a specific numerical address that will be used to access that particular device. It is

More information

Documentation For Melexis USB LIN master used in demo setups and development kits

Documentation For Melexis USB LIN master used in demo setups and development kits Melexis USB LIN Master revision Fast Loader Melexis USB LIN master Documentation For Melexis USB LIN master used in demo setups and development kits Page 1 of 13 Table of Contents 1. General description...

More information

Platform-based Design

Platform-based Design Platform-based Design The New System Design Paradigm IEEE1394 Software Content CPU Core DSP Core Glue Logic Memory Hardware BlueTooth I/O Block-Based Design Memory Orthogonalization of concerns: the separation

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

EPIC board ensures reliability in the toughest environment

EPIC board ensures reliability in the toughest environment EPIC board ensures reliability in the toughest environment The XE 800 SBC is a high performance single board computer (SBC) with a rich family of essential I/O functions. It integrates video, serial ports,

More information

OWASP RFP CRITERIA v 1.1

OWASP RFP CRITERIA v 1.1 OWASP RFP CRITERIA v 1.1 Project Sponsored by : ProactiveRisk. Table of Contents. 1. Introduction.3 2. Recommended Information the Client should provide to Service Providers/Vendors.4 2.1 Lines of Code..4

More information

CIS 700/002 : Special Topics : OWASP ZED (ZAP)

CIS 700/002 : Special Topics : OWASP ZED (ZAP) CIS 700/002 : Special Topics : OWASP ZED (ZAP) Hitali Sheth CIS 700/002: Security of EMBS/CPS/IoT Department of Computer and Information Science School of Engineering and Applied Science University of

More information

GFI product comparison: GFI LanGuard 12 vs Microsoft Windows Intune (February 2015 Release)

GFI product comparison: GFI LanGuard 12 vs Microsoft Windows Intune (February 2015 Release) GFI product comparison: GFI LanGuard 12 vs Microsoft Windows Intune (February 2015 Release) General features Scheduled scans Agent-less Agent-based Integration with Active Directory Asset tracking Installs

More information

Quick Installation Guide Wireless Printer Adapter

Quick Installation Guide Wireless Printer Adapter Quick Installation Guide Wireless Printer Adapter Model: WP-SA INTRODUCTION Thank you for purchasing AmbiCom s Wireless Printer Adapter. AmbiCom s Wireless Printer Adapter offers the ideal solution for

More information

C.L.A.I.M Computerized Luggage and Information Messenger

C.L.A.I.M Computerized Luggage and Information Messenger C.L.A.I.M Computerized Luggage and Information Messenger (Group 10) Ernest Jackman - Electrical Engineer Adrian McGrath - Computer Engineer Tomasz Pytel - Computer Engineer Intro -Problem: Baggage Claim

More information

Full Linux on FPGA. Sven Gregori

Full Linux on FPGA. Sven Gregori Full Linux on FPGA Sven Gregori Enclustra GmbH FPGA Design Center Founded in 2004 7 engineers Located in the Technopark of Zurich FPGA-Vendor independent Covering all topics

More information

KW41Z IEEE and BLE Coexistence Performance

KW41Z IEEE and BLE Coexistence Performance NXP Semiconductors Document Number: AN12231 Application Note Rev. 0, 08/2018 KW41Z IEEE 802.15.4 and BLE Coexistence Performance MWS module 1. About this manual This document aims to evaluate the performance

More information

2-Port Dual Monitor DVI KVM Switch, TAA, GSA with Audio and USB 2.0 Hub, Cables included

2-Port Dual Monitor DVI KVM Switch, TAA, GSA with Audio and USB 2.0 Hub, Cables included 2-Port Dual Monitor DVI KVM Switch, TAA, GSA with Audio and USB 2.0 Hub, Cables included MODEL NUMBER: B004-2DUA2-K Description Tripp Lite's B004-2DUA2-K 2-Port Dual Monitor DVI KVM Switch, TAA, GSA allows

More information

TABLE OF CONTENTS Chapter 1 Introduction... 3 Chapter 2 Installation... 7 Chapter 3 Operation... 15

TABLE OF CONTENTS Chapter 1 Introduction... 3 Chapter 2 Installation... 7 Chapter 3 Operation... 15 TABLE OF CONTENTS Chapter 1 Introduction... 3 1.1 Features... 3 1.2 Package Contents... 4 1.3 Technical Specifications... 5 Chapter 2 Installation... 7 2.1 System Requirements... 7 2.2 Cable Diagrams...

More information

Member of the ams Group

Member of the ams Group CMOSIS / AWAIBA is now Member of the ams Group The technical content of this CMOSIS / AWAIBA document is still valid. Contact information: Headquarters: ams AG Tobelbader Strasse 30 8141 Premstaetten,

More information

USB evaluation kits and reference tools

USB evaluation kits and reference tools evaluation kits and reference tools NXP product summary Page UTMI+ Low Pin Interface (ULPI) transceivers.................................... ISP10 ULPI transceiver for systems with dual-role (host/peripheral)

More information

USB 3.0 A Cost Effective High Bandwidth Solution for FPGA Host Interface Introduction

USB 3.0 A Cost Effective High Bandwidth Solution for FPGA Host Interface Introduction USB 3.0 A Cost Effective High Bandwidth Solution for FPGA Host Interface Introduction The USB 3.0 has revolutionized the world of desktops and mobile devices by bringing much higher bandwidth and better

More information

User Manual. BroadR-Reach (100Base-T1) Standard Ethernet BR_SPY_mini. Version 0.6 May Technica Engineering GmbH Leopoldstr.

User Manual. BroadR-Reach (100Base-T1) Standard Ethernet BR_SPY_mini. Version 0.6 May Technica Engineering GmbH Leopoldstr. BroadR-Reach (100Base-T1) Standard Ethernet BR_SPY_mini User Manual Version 0.6 May 2017 Technica Engineering GmbH Leopoldstr. 236 80807 München Email: info@technica-engineering.de Web: www.technica-engineering.de

More information

QuadraMAX USB Type-C and PD Tests

QuadraMAX USB Type-C and PD Tests 2/13/2019 QuadraMAX USB Type-C and PD Tests Testing Manual Introduction The USB-IF Compliance Program uses the QuadraMAX hardware unit for USB Type-C and PD Source Power Tests (Source Tests), USB Type-C

More information

H0420 Programmable MP3 Audio Player for Exhibitions and Kiosk Applications. Firmware Update: Version 1.2 Build 3508

H0420 Programmable MP3 Audio Player for Exhibitions and Kiosk Applications. Firmware Update: Version 1.2 Build 3508 H0420 Programmable MP3 Audio Player for Exhibitions and Kiosk Applications Firmware Update: Version 1.2 Build 3508 For upgrading to the new firmware, please see page 4 for the procedure. This document

More information

ice65 mobilefpga Configuration & Programming Overview 05/12/2010

ice65 mobilefpga Configuration & Programming Overview 05/12/2010 ice65 mobilefpga Configuration & Programming Overview 05/12/2010 Configuration vs. Programming CONFIGURATION ice65 is a standard SRAM FPGA (reconfigurable) During power up, a configuration image is loaded

More information

Guide to Wireless Communications, 3 rd Edition. Objectives

Guide to Wireless Communications, 3 rd Edition. Objectives Guide to Wireless Communications, 3 rd Edition Chapter 5 Wireless Personal Area Networks Objectives Describe a wireless personal area network (WPAN) List the different WPAN standards and their applications

More information

EZ-USB AT2LP USB 2.0 to ATA/ATAPI Bridge

EZ-USB AT2LP USB 2.0 to ATA/ATAPI Bridge EZ-USB ATLP USB.0 to ATA/ATAPI Bridge 1.0 Features (CY7C68300B/CY7C68301B and ) Fixed-function mass storage device requires no firmware code Two power modes: Self-powered and USB bus-powered to enable

More information

INT G bit TCP Offload Engine SOC

INT G bit TCP Offload Engine SOC INT 10011 10 G bit TCP Offload Engine SOC Product brief, features and benefits summary: Highly customizable hardware IP block. Easily portable to ASIC flow, Xilinx/Altera FPGAs or Structured ASIC flow.

More information

Pro s and con s Why pins # s, passwords, smart cards and tokens fail

Pro s and con s Why pins # s, passwords, smart cards and tokens fail Current Authentication Methods Pro s and con s Why pins # s, passwords, smart cards and tokens fail IDENTIFYING CREDENTIALS In The Physical World Verified by Physical Inspection of the Credential by an

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

User Manual. 1000Base-T1 Standard Ethernet 1000Base- T1_SPY_mini. Version 0.3 October 2017

User Manual. 1000Base-T1 Standard Ethernet 1000Base- T1_SPY_mini. Version 0.3 October 2017 1000Base-T1 Standard Ethernet 1000Base- T1_SPY_mini User Manual Version 0.3 October 2017 Technica Engineering GmbH Email: info@technica-engineering.de Leopoldstr. 236 80807 München Web: www.technica-engineering.de

More information

Fuzzing the easy way, using Zulu

Fuzzing the easy way, using Zulu An NCC Group Publication Fuzzing the easy way, using Zulu Prepared by: Andy Davis Research Director andy.davis at nccgroup dot com Contents 1 Introduction... 3 2 Tutorial One: Zulu basics... 4 3 Tutorial

More information

Rapid Development Platform for C-Programmable DSP using MATLAB and Simulink

Rapid Development Platform for C-Programmable DSP using MATLAB and Simulink Rapid Development Platform for C-Programmable DSP using MATLAB and Simulink Texas Instruments India, Audio and Imaging Group Supriyo Palit Doug Roberson Mukund Navada Diljith Thodi 1 Outline Problem Statement

More information

CAS IKS Gateway (Modbus RTU/TCP and HTML) Manual

CAS IKS Gateway (Modbus RTU/TCP and HTML) Manual CAS-2700-42 IKS to Modbus RTU Gateway CAS 2700-42 IKS Gateway (Modbus RTU/TCP and HTML) Manual CAS 2700-42 IKS Gateway Manual Page 1 of 34 BLANK PAGE CAS 2700-42 IKS Gateway Manual Page 2 of 34 Contents

More information

WIRELESS USB EXPLORER 300

WIRELESS USB EXPLORER 300 WIRELESS USB EXPLORER 300 UWB Protocol Analyzer for Certified Wireless USB Protocol Analysis and Verification for Certified Wireless USB and WiMedia Ultrawideband Systems Powerful Protocol Analyzer Speeds

More information

ASUS AIMESH SETUP GUIDE

ASUS AIMESH SETUP GUIDE ASUS AIMESH SETUP GUIDE Step 1 Preparation Before you start to setup ASUS AiMesh, you have to prepare: Two (2) ASUS routers (models supporting AiMesh https://www.asus.com/aimesh/). Assign one router as

More information

Growing Together Globally Serial Communication Design In Embedded System

Growing Together Globally Serial Communication Design In Embedded System Growing Together Globally Serial Communication Design In Embedded System Contents Serial communication introduction......... 01 The advantages of serial design......... 02 RS232 interface......... 04 RS422

More information

Wireless Networking. Chapter The McGraw-Hill Companies, Inc. All rights reserved

Wireless Networking. Chapter The McGraw-Hill Companies, Inc. All rights reserved Wireless Networking Chapter 23 Overview In this chapter, you will learn how to Discuss wireless networking components Analyze and explain wireless networking standards Install and configure wireless networks

More information

USB 3.0 Software Architecture and Implementation Issues. Terry Moore, CEO MCCI Corporation

USB 3.0 Software Architecture and Implementation Issues. Terry Moore, CEO MCCI Corporation USB 3.0 Software Architecture and Implementation Issues Terry Moore, CEO MCCI Corporation 2009-08-03 Agenda Introducing MCCI USB 3.0 from a Software Perspective USB 3.0 Software Challenges New Device Classes

More information

BackBeat PRO 2. BackBeat PRO 2 Special Edition. User Guide

BackBeat PRO 2. BackBeat PRO 2 Special Edition. User Guide BackBeat PRO 2 BackBeat PRO 2 Special Edition User Guide Contents Overview 3 Volume 3 Play/pause music 3 Track selection 3 Open Listening 3 Active Noise Canceling 3 Charge 3 Mute/unmute 4 Answer a call

More information

PIC-P28-USB development board Users Manual

PIC-P28-USB development board Users Manual PIC-P28-USB development board Users Manual Rev.A, June 2007 Copyright(c) 2007, OLIMEX Ltd, All rights reserved INTRODUCTION: PIC-P28-USB board was designed in mind to create board which to allow easy interface

More information

Celeron EPIC Computer with GUI and Dual Ethernet SBC4685

Celeron EPIC Computer with GUI and Dual Ethernet SBC4685 Celeron EPIC Computer with GUI and Dual SBC4685 Features Ready to run Celeron/Pentium III computer Color flat-panel support Four serial ports CAN Bus interface PC/104 & PC/104-Plus expansion The SBC4685

More information

Multi-protocol controller for Industry 4.0

Multi-protocol controller for Industry 4.0 Multi-protocol controller for Industry 4.0 Andreas Schwope, Renesas Electronics Europe With the R-IN Engine architecture described in this article, a device can process both network communications and

More information

4 / 8 / 16 PORT PS2 KVM SWITCH USER S MANUAL

4 / 8 / 16 PORT PS2 KVM SWITCH USER S MANUAL STACKABLE 4 / 8 / 16 PORT PS2 KVM SWITCH USER S MANUAL PC / Mac / Sun Multi Platform Rev 1.1 TABLE OF CONTENTS INTRODUCTION...1 FEATURES....1 PACKAGE CONTENTS..... 2 TECHNICAL SPECIFICATIONS...3 SYSTEM

More information

Getting to know your Cronus device

Getting to know your Cronus device Getting to know your Cronus device 1. INPUT (USB Receptacle Type A) Connector for wired game controllers or wireless receivers. 2. OUTPUT (USB Plug Type A) To connect the Cronus device on game consoles

More information

A Design for Comprehensive Kernel Instrumentation

A Design for Comprehensive Kernel Instrumentation Design for Comprehensive Kernel Instrumentation Peter Feiner ngela Demke Brown shvin Goel peter@cs.toronto.edu demke@cs.toronto.edu ashvin@eecg.toronto.edu University of Toronto 011 / 16 Motivation Transparent

More information

nblue TM BR-MUSB-LE4.0-S2A (CC2540)

nblue TM BR-MUSB-LE4.0-S2A (CC2540) Page 1 of 5 Copyright 2002-2014 BlueRadios, Inc. Bluetooth 4.0 Low Energy Single Mode Class 1 SoC USB Serial Dongle nblue TM BR-MUSB-LE4.0-S2A (CC2540) AT HOME. AT WORK. ON THE ROAD. USING BLUETOOTH LOW

More information