(12) United States Patent (10) Patent No.: US 8,850,082 B2 Malamant Et Al

Total Page:16

File Type:pdf, Size:1020Kb

(12) United States Patent (10) Patent No.: US 8,850,082 B2 Malamant Et Al USOO8850O82B2 (12) United States Patent (10) Patent No.: US 8,850,082 B2 Malamant et al. (45) Date of Patent: Sep. 30, 2014 (54) VIRTUAL USB COMPOUND DEVICE 7,577,776 B2 8/2009 Hsueh ENUMERATION 2007/0088967 A1* 4/2007 Fu et al........................ T13,340 2009, 0217304 A1 8, 2009 Shih et al. (75) Inventors: Igor Malamant, San Diego, CA (US); 2010, 0138564 A1 6, 2010 Lee et al. Thomas E. Virgil, San Diego, CA (US) FOREIGN PATENT DOCUMENTS (73) Assignee: QUALCOMM Incorporated, San JP 2002185548 A 6, 2002 Diego, CA (US) JP 2008146419 A 6, 2008 JP 2010 140269. A 6, 2010 (*) Notice: Subject to any disclaimer, the term of this WO 2009 125586 A1 10, 2009 patent is extended or adjusted under 35 OTHER PUBLICATIONS U.S.C. 154(b) by 355 days. DON: “Universal Serial Bus system architecture”, 2001, pp. 80-83, (21) Appl. No.: 13/214,305 Adison Wesley, XP002662720, ISBN: 0201309750. International Search Report and Written Opinion—PCT/US2011/ (22) Filed: Aug. 22, 2011 049750 ISA/EPO Nov. 15, 2011. (65) Prior Publication Data * cited by examiner US 2012/0054378A1 Mar. 1, 2012 Primary Examiner — Zachary K Huson Related U.S. Application Data (74) Attorney, Agent, or Firm — Nicholas J. Pauley; Peter (60) Provisional application No. 61/378,159, filed on Aug. Michael Kamarchik; Joseph Agusta 30, 2010. (57) ABSTRACT (51) Int. Cl. A system for implementing a virtual Universal Serial Bus G06F 3/00 (2006.01) (USB) compound device with a simulated hub enables a G06F5/00 (2006.01) single physical USB device, such as a USB peripheral device, G6F 3/42 (2006.01) to expose multiple stand-alone functions on the USB bus. (52) U.S. Cl. Logical functions on the single physical USB device can be CPC .................................. G06F 13/4295 (2013.01) added and removed dynamically without re-enumerating the USPC .................................. 710/19, 710/10; 710/41 entire device and without affecting the state of other func (58) Field of Classification Search tions. Logical functions can also be independently imple None mented on any of a number of processors in a system that has See application file for complete search history. access to the USB hardware. Each processor can enumerate as one or more USB devices via the virtual hub. Initialization (56) References Cited of logical functions can be performed via the virtual USB hub to maintain a charging current level from a USB host in a U.S. PATENT DOCUMENTS device having a discharged battery. 6,862,643 B2 3, 2005 Wu et al. 6,976,105 B1 12/2005 Wright 23 Claims, 6 Drawing Sheets -602 NMERA's AS WITHE LOW CURRENT 2. REQUEST HIGH CURRENT FR THE SEN iS USC&NA. 88: ARGE BA RY iSigE JRRENEER TEJSS 2. Six SAS CANET3 JS3 CS ER&ESEC N SEFENCNA WIAEwBA JB U.S. Patent Sep. 30, 2014 Sheet 1 of 6 US 8,850,082 B2 -{{}} U.S. Patent Sep. 30, 2014 Sheet 2 of 6 US 8,850,082 B2 ${}? U.S. Patent Sep. 30, 2014 Sheet 3 of 6 US 8,850,082 B2 F.G. 3 U.S. Patent Sep. 30, 2014 Sheet 4 of 6 US 8,850,082 B2 (S) A. U.S. Patent Sep. 30, 2014 Sheet 5 of 6 US 8,850,082 B2 52 initialize JSE (toiler Aliocate hub endpoint resources in USB citrier USS Disconnect Connect and enlinerate using HUB descriptors Corrected State NEification firr; Electricai Eyests Port-directed Status Port-directed request from coininzini JSB controit; (ii (in Physical ISB the host for the hist virtual port events port connect (Get PortStatus {Set Fort Feature, (coinect/discopieci. disco flect, CitearPortfeature Fenote wakeup suspend/resultae) Respond with virtual port Request JSB Serai Status Request JSB SaS contries it Change contrailer to (connected eluiate otification to entiaie discontected corresponding JSE (St Over CGFTesponding Suspended actici (i. the interrupt acticis of ai etc.) virtual port endpoint virtual ports 5 Sz. F.G. 5 U.S. Patent Sep. 30, 2014 Sheet 6 of 6 US 8,850,082 B2 ENMERAE AS WRA USB 3. WTH LCW CRRENT REQUEST HGH CJRRENT FOR THE SEC{N} USB FUNCONALTY (CHARGE BAERY USNG E - G CJRRENT LEVE FROM HE USS HOST SEN PORT STAJS CHANGE USB H{OS ENUMERAE SECON } USB FUNCTONALTY WA E WRA - B F.G. 6 US 8,850,082 B2 1. 2 VIRTUAL USB COMPOUND DEVICE and reconnection of all logical interfaces, which can tear ENUMERATION down active application sessions in an unexpected manner. Opening and closing USB circuitry to allow re-enumera CROSS REFERENCE TO RELATED tion of USB functionality may also be problematic, for APPLICATION example, in the process of charging a dead battery of a USB peripheral device. According to the USB specification, a USB The present application claims the benefit of U.S. Provi peripheral device may draw up to 100 mA from a USB host sional Patent Application No. 61/378,159 to MALAMANTet before the USB peripheral device enumerates and may al. filed Aug. 30, 2010. request up to 500 mA from the USB host after the USB 10 peripheral device enumerates. However, a USB peripheral device may have to draw more than 100 mA to load its FIELD operating system. To recover from a discharged battery, a USB device may enumerate to a USB host early in a boot Aspects of the present disclosure relate generally to Uni loading process. The initial enumeration may occur before versal Serial Bus (USB) devices and more particularly to 15 loading the USB peripheral operating system and may use enumeration of a virtual USB device. only up to 100 mA of current. To further conserve power during a boot process with a BACKGROUND discharged battery, a USB peripheral device may initially enumerate as a simpler USB peripheral device, such as a USB Universal Serial Bus (USB) hosts such as USB host per human interface device (HID) Class device, for example. Sonal computers (PC hosts) are designed to enable plug-and After the initial enumeration of the USB peripheral device is play operation of a number of USB peripheral devices. That complete, the USB peripheral device may request up to 500 is, the USB peripheral devices are automatically configured mA from the USB host. The additional current may be used to for communicating with the USB host when they are physi finish loading the USB peripheral's operating system. Once cally connected to a USB port of the USB host. USB hosts 25 the operating system is loaded, the USB peripheral device may be capable of handling up to 127 USB peripheral devices will generally re-enumerate to represent its actual function and may provide mechanisms for dynamically loading and alities to the USB host as specified by the operating system. unloading drivers for each device attached on a USB bus. A re-enumeration may be performed by opening and clos Unlike USB hosts, USB peripheral devices are generally ing USB circuitry to simulate a reconnection of the USB unable to dynamically load and unload drivers for various 30 device as described above. However, the USB specification USB functionalities. Rather, the USB peripheral devices enu would then mandate reducing the charging current from merate a predefined static set of functions to the USB host around 500 mA to a pre-enumeration level of less than 100 when they are physically connected to the USB host. The set mA. Therefore, opening and closing the USB circuitry to of static functions generally may not be extended in run-time. re-enumerate the USB device functionally can not be per Certain newer USB peripheral devices may be capable of 35 formed in a USB compliant manner until the battery is suffi multiple USB functionalities. However, such devices may ciently charged. only have a limited ability to configure desired functionalities Simulating disconnection/reconnection of a USB periph due to the inability of USB peripheral devices to dynamically eral device may also cause other undesirable side effects. For load and unload USB drivers for the functionalities. example, the naming of hardware ports in certain operating Certain composite USB devices may allow multiple USB 40 systems may be automatically updated when the operating functions to enumerate to a USB host on a single USB port. system recognizes a physical disconnection/reconnection of a USB specifications describe certain methods for designing USB device. This may cause errors in processes that are Such composite devices by allowing the devices to enumerate accessing renamed ports. with multiple functions on a single USB port. USB specifications define a method of packaging multiple FIG. 1 shows a USB descriptor hierarchy 100 that can 45 USB devices within a single compound device package with represent multiple logical functions within a device in accor an embedded USB hub. An example of a compound device dance with USB specifications. At least three stages of USB including an embedded USB hub is described with reference enumeration may occur when a USB device is plugged in to to FIG. 2. A root hub 202 may be connected directly to a USB a host. A device descriptor 102 represents a USB enumeration host 204 and a number of USB devices 206 may be connected for a device. A number of configuration descriptors 104 rep 50 to the USB host 204 via the root hub 202. A number of resent USB enumeration for various configurations of the additional devices 208 may be connected to the root hub 202 device. A number of interface descriptors 106 may each rep via a number of additional USB hubs 210. Certain compound resent a USB enumeration for a corresponding one of the devices may include a USB hub 210 having one or more USB functionalities.
Recommended publications
  • Linux Hardware Compatibility HOWTO
    Linux Hardware Compatibility HOWTO Steven Pritchard Southern Illinois Linux Users Group [email protected] 3.1.5 Copyright © 2001−2002 by Steven Pritchard Copyright © 1997−1999 by Patrick Reijnen 2002−03−28 This document attempts to list most of the hardware known to be either supported or unsupported under Linux. Linux Hardware Compatibility HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Notes on binary−only drivers...........................................................................................................1 1.2. Notes on commercial drivers............................................................................................................1 1.3. System architectures.........................................................................................................................1 1.4. Related sources of information.........................................................................................................2 1.5. Known problems with this document...............................................................................................2 1.6. New versions of this document.........................................................................................................2 1.7. Feedback and corrections..................................................................................................................3 1.8. Acknowledgments.............................................................................................................................3
    [Show full text]
  • Apollo Twin USB Hardware Manual
    Apollo Twin USB Hardware Manual Manual Version 210429 www.uaudio.com A Letter from Bill Putnam Jr. Thank you for deciding to make the Apollo Twin High-Resolution Interface part of your music making experience. We know that any new piece of gear requires an investment of time and money — and our goal is to make your investment pay off. The fact that we get to play a part in your creative process is what makes our efforts meaningful, and we thank you for this. In many ways, the Apollo family of audio interface products represent the best examples of what Universal Audio has stood for over its long history; from UA’s original founding in the 1950s by my father, through our current vision of delivering the best of both analog and digital audio technologies. Starting with its high-quality analog I/O, Apollo Twin’s superior sonic performance serves as its foundation. This is just the beginning however, as Apollo Twin is the only desktop audio interface that allows you to run UAD plug-ins in real time. Want to monitor yourself through a Neve® console channel strip while tracking bass through a classic Fairchild or LA-2A compressor? Or how about tracking vocals through a Studer® tape machine with some added Lexicon® reverb?* With our growing library of more than 90 UAD plug-ins, the choices are limitless. At UA, we are dedicated to the idea that this powerful technology should ultimately serve the creative process — not be a barrier. These are the very ideals my father embodied as he invented audio equipment to solve problems in the studio.
    [Show full text]
  • TECHNICAL MANUAL of Intel H110 Express Chipset Based Mini-ITX
    TECHNICAL MANUAL Of Intel H110 Express Chipset Based Mini-ITX M/B NO. G03-NF693-F Revision: 3.0 Release date: July 19, 2017 Trademark: * Specifications and Information contained in this documentation are furnished for information use only, and are subject to change at any time without notice, and should not be construed as a commitment by manufacturer. Environmental Protection Announcement Do not dispose this electronic device into the trash while discarding. To minimize pollution and ensure environment protection of mother earth, please recycle. i TABLE OF CONTENT ENVIRONMENTAL SAFETY INSTRUCTION ...................................................................... iii USER’S NOTICE .................................................................................................................. iv MANUAL REVISION INFORMATION .................................................................................. iv ITEM CHECKLIST ................................................................................................................ iv CHAPTER 1 INTRODUCTION OF THE MOTHERBOARD 1-1 FEATURE OF MOTHERBOARD ................................................................................ 1 1-2 SPECIFICATION ......................................................................................................... 2 1-3 LAYOUT DIAGRAM .................................................................................................... 3 CHAPTER 2 HARDWARE INSTALLATION 2-1 JUMPER SETTING ....................................................................................................
    [Show full text]
  • Embedded Android
    www.it-ebooks.info www.it-ebooks.info Praise for Embedded Android “This is the definitive book for anyone wanting to create a system based on Android. If you don’t work for Google and you are working with the low-level Android interfaces, you need this book.” —Greg Kroah-Hartman, Core Linux Kernel Developer “If you or your team works on creating custom Android images, devices, or ROM mods, you want this book! Other than the source code itself, this is the only place where you’ll find an explanation of how Android works, how the Android build system works, and an overall view of how Android is put together. I especially like the chapters on the build system and frameworks (4, 6, and 7), where there are many nuggets of information from the AOSP source that are hard to reverse-engineer. This book will save you and your team a lot of time. I wish we had it back when our teams were starting on the Frozen Yogurt version of Android two years ago. This book is likely to become required reading for new team members working on Intel Android stacks for the Intel reference phones.” —Mark Gross, Android/Linux Kernel Architect, Platform System Integration/Mobile Communications Group/Intel Corporation “Karim methodically knocks out the many mysteries Android poses to embedded system developers. This book is a practical treatment of working with the open source software project on all classes of devices, beyond just consumer phones and tablets. I’m personally pleased to see so many examples provided on affordable hardware, namely BeagleBone, not just on emulators.” —Jason Kridner, Sitara Software Architecture Manager at Texas Instruments and cofounder of BeagleBoard.org “This book contains information that previously took hundreds of hours for my engineers to discover.
    [Show full text]
  • NSA ANT Catalog PDF from EFF.Org
    SECRET//COMINT//REL TO USA. FVEY DEITYBOUNCE ANT Product Data (TS//SI//REL) DEITYBOUNCE provides software application persistence on Dell PowerEdge servers by exploiting the motherboard BIOS and utilizing System Management Mode (SMM) to gain periodic execution while the Operating System loads. _________________ _________________________________________ TUMI KG FORK Post Proc*t*ftg Target Systems (TS//SM/REL) DEITYBOUNCE Extended Concept ot Operations (TS//SI//REL) This technique supports multi-processor systems with RAID hardware and Microsoft Windows 2000. 2003. and XP. It currently targets Dell PowerEdge A A 1850/2850/1950/2950 RAID servers, using BIOS versions A02. A05. A 0 6 .1.1.0. " " 1.2.0. or 1.3.7. (TS//SI//REL) Through remote access or interdiction. ARKSTREAM is used to re­ flash the BIOS on a target machine to implant DEITYBOUNCE and its payload (the implant installer). Implantation via interdiction may be accomplished by non­ technical operator though use of a USB thumb drive. Once implanted. DEITYBOUNCE's frequency of execution (dropping the payload) is configurable and will occur when the target machine powers on. Status: Released / Deployed. Ready for Unit Cost: $0 Immediate Delivery POC: S32221. | Oenverl From: NSAfCSSM 1-52 Dated: 20070108 Oeclaisify On: 20320108 SECRET//COMINT//REL TO USA. FVEY TOP SECRET//COMINT//REL TO USA. FVEY IRONCHEF ANT Product Data (TS//SI//REL) IRONCHEF provides access persistence to target systems by exploiting the motherboard BIOS and utilizing System Management Mode (SMM) to 07/14/08 communicate with a hardware implant that provides two-way RF communication. CRUMPET COVERT CLOSED NETWORK NETW ORK (CCN ) (Tefgef So*col CCN STRAITBIZAKRE N ode Compute* Node r -\— 0 - - j CCN S e rv e r STRAITBIZARRE Node CCN Computer UNITCORAKt Computer Node I Futoie Nodoe UNITE ORA KE Server Node I (TS//SI//REL) IRONCHEF Extended Concept of Operations (TS//SI/REL) This technique supports the HP Proliant 380DL G5 server, onto which a hardware implant has been installed that communicates over the l?C Interface (WAGONBED).
    [Show full text]
  • Defending Against Malicious Peripherals with Cinch Sebastian Angel, the University of Texas at Austin and New York University; Riad S
    Defending against Malicious Peripherals with Cinch Sebastian Angel, The University of Texas at Austin and New York University; Riad S. Wahby, Stanford University; Max Howald, The Cooper Union and New York University; Joshua B. Leners, Two Sigma; Michael Spilo and Zhen Sun, New York University; Andrew J. Blumberg, The University of Texas at Austin; Michael Walfish, New York University https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/angel This paper is included in the Proceedings of the 25th USENIX Security Symposium August 10–12, 2016 • Austin, TX ISBN 978-1-931971-32-4 Open access to the Proceedings of the 25th USENIX Security Symposium is sponsored by USENIX Defending against malicious peripherals with Cinch ⋆ Sebastian Angel, † Riad S. Wahby,‡ Max Howald,§† Joshua B. Leners,∥ ⋆ Michael Spilo,† Zhen Sun,† Andrew J. Blumberg, and Michael Walfish† ⋆ The University of Texas at Austin †New York University ‡Stanford University §The Cooper Union ∥Two Sigma Abstract Rushby’s separation kernel [129] (see also its modern de- scendants [81, 122]), the operating system is architected Malicious peripherals designed to attack their host com- to make different resources of the computer interact with puters are a growing problem. Inexpensive and powerful each other as if they were members of a distributed sys- peripherals that attach to plug-and-play buses have made tem. More generally, the rich literature on high-assurance such attacks easy to mount. Making matters worse, com- kernels offers isolation, confinement, access control, and modity operating systems lack coherent defenses, and many other relevant ideas. On the other hand, applying users are often unaware of the scope of the problem.
    [Show full text]
  • Configuring the Information Environment of Microcomputers with the Microsoft Windows 10 Operating System
    Configuring the Information Environment of Microcomputers with the Microsoft Windows 10 Operating System Felix Kasparinsky[0000-0002-1048-9212] MASTER-MULTIMEDIA Ltd, Entuziastov Shosse 98-3-274, Moscow 111531, Russia [email protected] Abstract. Since 2015, microcomputers have appeared in the information envi- ronment, which are a compact system unit with minimal functionality without peripherals. The article published the results of the analysis of the use of 6 dif- ferent microcomputers in various fields of activity. The purpose of the study is to determine the limiting factors affecting the efficiency of the targeted use of microcomputers. It has been established that for scientific and educational presentations, office and trading activities, it is cur-rently advisable to use fan- less microcomputers with a perforated case and an internal WiFi antenna, at least 4 GB of operational and 64 GB of permanent memory, and a microSD (TF) memory card slot, at least 128 GB, NTFS file system), Intel HD Graphics, USB3.0 and HDMI interfaces. Based on comparative experiments, methodolog- ical recommendations were created on optimizing the configuration of the hardware-software environment of microcomputers in stationary and mobile conditions. The problems of major updates to Windows 10, as well as the com- patibility of Microsoft Store software and third-party manufacturers, are ana- lyzed. It is recommended to specialize individual microcomputers for working with 32-bit applications; accounting and cryptographic programs; as well as conducting presentations with their video. Options for optimal configuration of the Start menu of the Windows 10 desktop are suggested. It is concluded that specialization in the hardware-software configuration of modern microcomput- ers allows you to increase the efficiency of using single de-vices and their paired systems in accordance with BYOD (Bring Your Own Device).
    [Show full text]
  • Linux Hardware Compatibility HOWTO
    Linux Hardware Compatibility HOWTO Steven Pritchard Southern Illinois Linux Users Group / K&S Pritchard Enterprises, Inc. <[email protected]> 3.2.4 Copyright © 2001−2007 Steven Pritchard Copyright © 1997−1999 Patrick Reijnen 2007−05−22 This document attempts to list most of the hardware known to be either supported or unsupported under Linux. Copyright This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free software Foundation; either version 2 of the license, or (at your option) any later version. Linux Hardware Compatibility HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Notes on binary−only drivers...........................................................................................................1 1.2. Notes on proprietary drivers.............................................................................................................1 1.3. System architectures.........................................................................................................................1 1.4. Related sources of information.........................................................................................................2 1.5. Known problems with this document...............................................................................................2 1.6. New versions of this document.........................................................................................................2
    [Show full text]
  • USB3 Debug Class Specification
    USB 3.1 Debug Class 7/14/2015 USB 3.1 Device Class Specification for Debug Devices Revision 1.0 – July 14, 2015 - 1 - USB 3.1 Debug Class 7/14/2015 INTELLECTUAL PROPERTY DISCLAIMER THIS SPECIFICATION IS PROVIDED TO YOU “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY RIGHTS, RELATING TO USE OR IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. THE PROVISION OF THIS SPECIFICATION TO YOU DOES NOT PROVIDE YOU WITH ANY LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS. Please send comments via electronic mail to [email protected]. For industry information, refer to the USB Implementers Forum web page at http://www.usb.org. All product names are trademarks, registered trademarks, or service marks of their respective owners. Copyright © 2010-2015 Hewlett-Packard Company, Intel Corporation, Microsoft Corporation, Renesas, STMicroelectronics, and Texas Instruments All rights reserved. - 2 - USB 3.1 Debug Class 7/14/2015 Contributors Intel (chair) Rolf Kühnis Intel Sri Ranganathan Intel Sankaran Menon Intel (chair) John Zurawski ST-Ericsson Andrew Ellis ST-Ericsson Tomi Junnila ST-Ericsson Rowan Naylor ST-Ericsson Graham Wells ST Microelectronics Jean-Francis Duret Texas Instruments Gary Cooper Texas Instruments Jason Peck Texas Instruments Gary Swoboda AMD Will Harris Lauterbach Stephan Lauterbach Lauterbach Ingo Rohloff Nokia Henning Carlsen Nokia Eugene Gryazin Nokia Leon Jørgensen Qualcomm Miguel Barasch Qualcomm Terry Remple Qualcomm Yoram Rimoni - 3 - USB 3.1 Debug Class 7/14/2015 TABLE OF CONTENTS 1 TERMS AND ABBREVIATIONS .......................................................................................................
    [Show full text]
  • Huawei E1550 Data Card FAQ 文档密级:内部公开
    Huawei E1550 Data Card FAQ 文档密级:内部公开 Huawei E1550 Data Card FAQ Q:Which OS can the E1550 support? A: Now the E1550 can support Windows 2000, Windows XP, Windows Vista and Mac OS. Q: When E1550 connected to PC, how can I confirm that E1550 has been identified? A: Open the device-manager and take the following steps: 1. Open control panel, select capability and maintenance. 2. Select system 3. Open the hardware, select device-manager 4. Unfold ‘Modem’ and ‘ports’. Confirm whether there are 3G Modem and 3G PC UI Interface. These devices show whether the E1550 Data Card has been identified. Q: PC cannot find any new hardware when E1550 connected to it. What should I do? A: 1. Change another USB port. 2. If the problem still exists, please contact local Operator or agent to change your E1550. Q: When E1550 connected to PC, the system identified the virtual CD-ROM and installed the dashboard. But the computer cannot find any new hardware. What should I do? A: 1. First check whether the device-manager has identified USB Mass Storage without any other Modem device. 2009-6-5 华为机密,未经许可不得扩散 第 1 页, 共 16 页 Huawei E1550 Data Card FAQ 文档密级:内部公开 2. Use the devsetup.exe file which you can find in the Drivers folder to install the driver of data card. 2009-6-5 华为机密,未经许可不得扩散 第 2 页, 共 16 页 Huawei E1550 Data Card FAQ 文档密级:内部公开 Q: When E1550 connected to PC, the system identified the virtual CD-ROM and installed the dashboard, then PC find the new hardware.
    [Show full text]
  • Tethering an Android Smartphone to USB Devices
    Tethering an Android Smartphone to USB Devices March 2011 [email protected] Veteran Owned Small Business DUNS: 003083420 CAGE: 4SX48 http://www.securecommconsulting.com 1.1. Purpose This paper presents a brief background of Universal Serial Bus (USB) and the architecture of USB drivers in the Linux operating system. The purpose of this paper is to provide a brief explanation of the technical issues involved in making an Android smart phone operate as a USB Host, and properly connect and interoperate with USB devices. 1.2 General Background The Universal Serial Bus (USB) architecture includes a USB Host and a USB Device. The Host is the master and controls the communication between itself and all of its connected USB Devices. Normally1, smart phones are considered USB devices, and are connected to personal computers (PCs) or laptops. However, a popular topic of late is the tethering of an Android smart phone to a USB device (i.e. the smart phone becomes the USB host). This is due to increased demand for smart phone applications that utilize external USB devices (such as mass storage devices, keyboards, and even external networking devices like radios). As a USB Device, a smart phone cannot connect to other USB devices; therefore, to enable smart phones to connect to either a USB device or a USB host, smart phone USB drivers must be modified to support USB OTG (On-The-Go) as depicted in Figure 1. USB OTG allows a component to take on the role of either a USB Host or a USB Device, whichever is best suited for the currently connected gadgets.
    [Show full text]
  • USB Complete the Developer's Guide 4Th Ed.Pdf
    # Lakeview Research LLC Madison, WI 53704 USB Complete: The Developer’s Guide, Fourth Edition by Jan Axelson Copyright 1999-2009 by Janet L. Axelson All rights reserved. No part of the contents of this book, except the program code, may be reproduced or transmitted in any form or by any means without the written permission of the publisher. The program code may be stored and executed in a computer system and may be incorporated into computer pro- grams developed by the reader. The information, computer programs, schematic diagrams, documentation, and other material in this book are provided “as is,” without warranty of any kind, expressed or implied, including without limitation any warranty concerning the accuracy, adequacy, or completeness of the material or the results obtained from using the material. Neither the publisher nor the author shall be responsible for any claims attributable to errors, omissions, or other inaccuracies in the material in this book. In no event shall the publisher or author be liable for direct, indi- rect, special, incidental, or consequential damages in connection with, or arising out of, the construction, performance, or other use of the materials contained herein. Many of the products and company names mentioned herein are the trademarks of their respective holders. PIC and MPLAB are registered trademarks of Micro- chip Technology Inc. in the U.S.A. and other countries. PICBASIC PRO is a trademark of Microchip Technology Inc. in the U.S.A. and other countries. Published by Lakeview Research LLC, 5310 Chinook Ln., Madison WI 53704 www.Lvr.com Distributed by Independent Publishers Group (ipgbook.com).
    [Show full text]