parent
f977daa527
commit
44947e157a
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,476 @@ |
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/lvr.dwt" codeOutsideHTMLIsLocked="false" --> |
||||
<head><script src="//archive.org/includes/analytics.js?v=cf34f82" type="text/javascript"></script> |
||||
<script type="text/javascript">window.addEventListener('DOMContentLoaded',function(){var v=archive_analytics.values;v.service='wb';v.server_name='wwwb-app18.us.archive.org';v.server_ms=583;archive_analytics.send_pageview({});});</script><script type="text/javascript" src="/static/js/wbhack.js?v=1525205731.0" charset="utf-8"></script> |
||||
|
||||
<script type="text/javascript"> |
||||
__wbhack.init('https://web.archive.org/web'); |
||||
</script> |
||||
<link rel="stylesheet" type="text/css" href="/static/css/banner-styles.css?v=1525205731.0" /> |
||||
<link rel="stylesheet" type="text/css" href="/static/css/iconochive.css?v=1525205731.0" /> |
||||
|
||||
<!-- End Wayback Rewrite JS Include --> |
||||
<link rel="shortcut icon" href="/web/20110226031619im_/http://www.lvr.com/favicon.ico"> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> |
||||
<meta name="Author" content="Jan Axelson"/> |
||||
<meta name="GENERATOR" content=""/> |
||||
<!-- InstanceBeginEditable name="doctitle" --> |
||||
<title>Jan Axelson's Lakeview Research</title> |
||||
<!-- InstanceEndEditable --> |
||||
<script src="/web/20110226031619js_/http://www.lvr.com/SpryAssets/SpryMenuBar.js" type="text/javascript"></script> |
||||
<link href="/web/20110226031619cs_/http://www.lvr.com/SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css"/> |
||||
<link href="/web/20110226031619cs_/http://www.lvr.com/styles/lvr.css" rel="stylesheet" type="text/css"/> |
||||
<!-- InstanceBeginEditable name="head" --> |
||||
|
||||
<meta http-equiv="Description" content="Information and tools relating to design and programming FOR THE UNIVERSAL SERIAL BUS (USB).."/> |
||||
<meta http-equiv="Keywords" content="USB, UNIVERSAL SERIAL BUS, HID, HUMAN INTERFACE DEVICE, CYPRESS SEMICONDUCTOR, CY763000, DIRECTX, DIRECT INPUT"/> |
||||
<meta name="Author" content="Jan Axelson"/> |
||||
<meta name="GENERATOR" content=""/> |
||||
|
||||
|
||||
<link rel="stylesheet" href="/web/20110226031619cs_/http://www.lvr.com/styles/lvr.css" type="text/css"/> |
||||
|
||||
<!-- InstanceEndEditable --> |
||||
</head> |
||||
|
||||
<body><!-- BEGIN WAYBACK TOOLBAR INSERT --> |
||||
<script type="text/javascript" src="/static/js/timestamp.js?v=1525205731.0" charset="utf-8"></script> |
||||
<script type="text/javascript" src="/static/js/graph-calc.js?v=1525205731.0" charset="utf-8"></script> |
||||
<script type="text/javascript" src="/static/js/auto-complete.js?v=1525205731.0" charset="utf-8"></script> |
||||
<script type="text/javascript" src="/static/js/toolbar.js?v=1525205731.0" charset="utf-8"></script> |
||||
|
||||
<style type="text/css"> |
||||
body { |
||||
margin-top:0 !important; |
||||
padding-top:0 !important; |
||||
/*min-width:800px !important;*/ |
||||
} |
||||
.wb-autocomplete-suggestions { |
||||
text-align: left; cursor: default; border: 1px solid #ccc; border-top: 0; background: #fff; box-shadow: -1px 1px 3px rgba(0,0,0,.1); |
||||
position: absolute; display: none; z-index: 2147483647; max-height: 254px; overflow: hidden; overflow-y: auto; box-sizing: border-box; |
||||
} |
||||
.wb-autocomplete-suggestion { position: relative; padding: 0 .6em; line-height: 23px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 1.02em; color: #333; } |
||||
.wb-autocomplete-suggestion b { font-weight: bold; } |
||||
.wb-autocomplete-suggestion.selected { background: #f0f0f0; } |
||||
</style> |
||||
<div id="wm-ipp" lang="en" style="display:none;direction:ltr;"> |
||||
<div style="position:fixed;left:0;top:0;right:0;"> |
||||
<div id="wm-ipp-inside"> |
||||
<div style="position:relative;"> |
||||
<div id="wm-logo" style="float:left;width:130px;padding-top:10px;"> |
||||
<a href="/web/" title="Wayback Machine home page"><img src="/static/images/toolbar/wayback-toolbar-logo.png" alt="Wayback Machine" width="110" height="39" border="0" /></a> |
||||
</div> |
||||
<div class="r" style="float:right;"> |
||||
<div id="wm-btns" style="text-align:right;height:25px;"> |
||||
<div id="wm-save-snapshot-success">success</div> |
||||
<div id="wm-save-snapshot-fail">fail</div> |
||||
<a href="#" |
||||
onclick="__wm.saveSnapshot('http://www.lvr.com/mass_storage_faq.htm', '20110226031619')" |
||||
title="Share via My Web Archive" |
||||
id="wm-save-snapshot-open" |
||||
> |
||||
<span class="iconochive-web"></span> |
||||
</a> |
||||
<a href="https://archive.org/account/login.php" |
||||
title="Sign In" |
||||
id="wm-sign-in" |
||||
> |
||||
<span class="iconochive-person"></span> |
||||
</a> |
||||
<span id="wm-save-snapshot-in-progress" class="iconochive-web"></span> |
||||
<a href="http://faq.web.archive.org/" title="Get some help using the Wayback Machine" style="top:-6px;"><span class="iconochive-question" style="color:rgb(87,186,244);font-size:160%;"></span></a> |
||||
<a id="wm-tb-close" href="#close" onclick="__wm.h(event);return false;" style="top:-2px;" title="Close the toolbar"><span class="iconochive-remove-circle" style="color:#888888;font-size:240%;"></span></a> |
||||
</div> |
||||
<div id="wm-share" style="text-align:right;"> |
||||
<a href="#" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=https://web.archive.org/web/20110226031619/http://www.lvr.com:80/mass_storage_faq.htm', '', 'height=400,width=600'); return false;" title="Share on Facebook" style="margin-right:5px;" target="_blank"><span class="iconochive-facebook" style="color:#3b5998;font-size:160%;"></span></a> |
||||
<a href="#" onclick="window.open('https://twitter.com/intent/tweet?text=https://web.archive.org/web/20110226031619/http://www.lvr.com:80/mass_storage_faq.htm&via=internetarchive', '', 'height=400,width=600'); return false;" title="Share on Twitter" style="margin-right:5px;" target="_blank"><span class="iconochive-twitter" style="color:#1dcaff;font-size:160%;"></span></a> |
||||
</div> |
||||
</div> |
||||
<table class="c" style=""> |
||||
<tbody> |
||||
<tr> |
||||
<td class="u" colspan="2"> |
||||
<form target="_top" method="get" action="/web/submit" name="wmtb" id="wmtb"><input type="text" name="url" id="wmtbURL" value="http://www.lvr.com/mass_storage_faq.htm" onfocus="this.focus();this.select();" /><input type="hidden" name="type" value="replay" /><input type="hidden" name="date" value="20110226031619" /><input type="submit" value="Go" /></form> |
||||
</td> |
||||
<td class="n" rowspan="2" style="width:110px;"> |
||||
<table> |
||||
<tbody> |
||||
<!-- NEXT/PREV MONTH NAV AND MONTH INDICATOR --> |
||||
<tr class="m"> |
||||
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20100923185500/http://lvr.com/mass_storage_faq.htm" title="23 Sep 2010"><strong>Sep</strong></a></td> |
||||
<td class="c" id="displayMonthEl" title="You are here: 03:16:19 Feb 26, 2011">FEB</td> |
||||
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20110704035219/http://www.lvr.com:80/mass_storage_faq.htm" title="04 Jul 2011"><strong>Jul</strong></a></td> |
||||
</tr> |
||||
<!-- NEXT/PREV CAPTURE NAV AND DAY OF MONTH INDICATOR --> |
||||
<tr class="d"> |
||||
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20100923185500/http://lvr.com/mass_storage_faq.htm" title="18:55:00 Sep 23, 2010"><img src="/static/images/toolbar/wm_tb_prv_on.png" alt="Previous capture" width="14" height="16" border="0" /></a></td> |
||||
<td class="c" id="displayDayEl" style="width:34px;font-size:24px;white-space:nowrap;" title="You are here: 03:16:19 Feb 26, 2011">26</td> |
||||
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20110704035219/http://www.lvr.com:80/mass_storage_faq.htm" title="03:52:19 Jul 04, 2011"><img src="/static/images/toolbar/wm_tb_nxt_on.png" alt="Next capture" width="14" height="16" border="0" /></a></td> |
||||
</tr> |
||||
<!-- NEXT/PREV YEAR NAV AND YEAR INDICATOR --> |
||||
<tr class="y"> |
||||
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20100130091232/http://www.lvr.com:80/mass_storage_faq.htm" title="30 Jan 2010"><strong>2010</strong></a></td> |
||||
<td class="c" id="displayYearEl" title="You are here: 03:16:19 Feb 26, 2011">2011</td> |
||||
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20120513143107/http://lvr.com/mass_storage_faq.htm" title="13 May 2012"><strong>2012</strong></a></td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
</td> |
||||
</tr> |
||||
<tr> |
||||
<td class="s"> |
||||
<div id="wm-nav-captures"> |
||||
<a class="t" href="/web/20110226031619*/http://www.lvr.com/mass_storage_faq.htm" title="See a list of every capture for this URL">54 captures</a> |
||||
<div class="r" title="Timespan for captures of this URL">27 Dec 2005 - 30 Mar 2017</div> |
||||
</div> |
||||
</td> |
||||
<td class="k"> |
||||
<a href="" id="wm-graph-anchor"> |
||||
<div id="wm-ipp-sparkline" title="Explore captures for this URL" style="position: relative"> |
||||
<canvas id="wm-sparkline-canvas" width="575" height="27" border="0"></canvas> |
||||
</div> |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
<div style="position:absolute;bottom:0;right:2px;text-align:right;"> |
||||
<a id="wm-expand" class="wm-btn wm-closed" href="#expand" onclick="__wm.ex(event);return false;"><span id="wm-expand-icon" class="iconochive-down-solid"></span> <span style="font-size:80%">About this capture</span></a> |
||||
</div> |
||||
</div> |
||||
<div id="wm-capinfo" style="border-top:1px solid #777;display:none; overflow: hidden"> |
||||
<div style="background-color:#666;color:#fff;font-weight:bold;text-align:center">COLLECTED BY</div> |
||||
<div style="padding:3px;position:relative" id="wm-collected-by-content"> |
||||
<div style="display:inline-block;vertical-align:top;width:50%;"> |
||||
<span class="c-logo" style="background-image:url(https://archive.org/services/img/alexacrawls);"></span> |
||||
Organization: <a style="color:#33f;" href="https://archive.org/details/alexacrawls" target="_new"><span class="wm-title">Alexa Crawls</span></a> |
||||
<div style="max-height:75px;overflow:hidden;position:relative;"> |
||||
<div style="position:absolute;top:0;left:0;width:100%;height:75px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 90%,rgba(255,255,255,255) 100%);"></div> |
||||
Starting in 1996, <a href="http://www.alexa.com/">Alexa Internet</a> has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the <a href="http://web.archive.org/">Wayback Machine</a> after an embargo period. |
||||
</div> |
||||
</div> |
||||
<div style="display:inline-block;vertical-align:top;width:49%;"> |
||||
<span class="c-logo" style="background-image:url(https://archive.org/services/img/alexacrawls)"></span> |
||||
<div>Collection: <a style="color:#33f;" href="https://archive.org/details/alexacrawls" target="_new"><span class="wm-title">Alexa Crawls</span></a></div> |
||||
<div style="max-height:75px;overflow:hidden;position:relative;"> |
||||
<div style="position:absolute;top:0;left:0;width:100%;height:75px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 90%,rgba(255,255,255,255) 100%);"></div> |
||||
Starting in 1996, <a href="http://www.alexa.com/">Alexa Internet</a> has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the <a href="http://web.archive.org/">Wayback Machine</a> after an embargo period. |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div style="background-color:#666;color:#fff;font-weight:bold;text-align:center" title="Timestamps for the elements of this page">TIMESTAMPS</div> |
||||
<div> |
||||
<div id="wm-capresources" style="margin:0 5px 5px 5px;max-height:250px;overflow-y:scroll !important"></div> |
||||
<div id="wm-capresources-loading" style="text-align:left;margin:0 20px 5px 5px;display:none"><img src="/static/images/loading.gif" alt="loading" /></div> |
||||
</div> |
||||
</div></div></div></div><script type="text/javascript"> |
||||
__wm.bt(575,27,25,2,"web","http://www.lvr.com/mass_storage_faq.htm","2011-02-26",1996); |
||||
</script> |
||||
<!-- END WAYBACK TOOLBAR INSERT --> |
||||
|
||||
<div id="container_all"> |
||||
|
||||
<div id="container_header"> |
||||
|
||||
<div id="title"> |
||||
|
||||
<a href="index.html"><img src="/web/20110226031619im_/http://www.lvr.com/images/lvr_logo.jpg" alt="Jan Axelson's Lakeview Research" width="346" height="64" hspace="1" vspace="0" border="0"/></a> |
||||
|
||||
</div> <!-- title --> |
||||
|
||||
<div id="search"> |
||||
|
||||
<form class="float_right" method="get" action="https://web.archive.org/web/20110226031619/http://www.google.com/search"> |
||||
|
||||
<!--<div style="border:none;padding:4px; float:right;">--> |
||||
<table border="0" cellpadding="5"> |
||||
<tr align="right"> |
||||
|
||||
<td> |
||||
<input type="text" name="q" size="30" maxlength="127" value=""/> |
||||
<input type="submit" value="Google Search"/> |
||||
</td> |
||||
</tr> |
||||
|
||||
<tr align="right" style="font-size:90%"> |
||||
<td> |
||||
<input type="checkbox" name="sitesearch" value="Lvr.com" checked="checked"/> |
||||
search this site only |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
</form> |
||||
|
||||
</div> <!-- search --> |
||||
|
||||
<div id="menubar_utilities"> |
||||
|
||||
<ul id="MenuBar1" class="MenuBarHorizontal"> |
||||
<li><a href="index.html">Home</a></li> |
||||
<li><a href="quicklinks.htm">Site Map</a></li> |
||||
<li><a href="ordering.htm">Buy Books</a> </li> |
||||
<li class="last"><a href="about_lakeview_research.htm">About Lakeview Research</a> </li> |
||||
</ul> |
||||
|
||||
</div> <!-- menubar_utilities --> |
||||
|
||||
<div id="menubar_main"> |
||||
|
||||
<ul id="MenuBar3" class="MenuBarHorizontal"> |
||||
<li class="background"><a href="usb.htm">USB </a> |
||||
<ul> |
||||
<li class="background"><a href="usb.htm">USB Main Page</a></li> |
||||
|
||||
<li class="background"><a href="usbchips.htm">Chips</a></li> |
||||
<li><a href="development_tools.htm">Development Tools</a></li> |
||||
<li><a href="usbcode.htm">Device Code</a></li> |
||||
<li><a href="usb_device_hardware.htm">Device Hardware</a></li> |
||||
<li><a href="embedded_host.htm">Embedded Host & OTG</a></li> |
||||
<li><a href="usb_host_software.htm">Host Software</a></li> |
||||
<li><a href="hidpage.htm">Human Interface Devices</a></li> |
||||
<li><a href="mass_storage.htm">Mass Storage</a></li> |
||||
<li><a href="winusb.htm">WinUSB</a></li> |
||||
</ul> |
||||
</li> |
||||
|
||||
<li><a href="serport.htm">Serial Ports</a> </li> |
||||
<li><a href="mass_storage.htm">Mass Storage</a></li> |
||||
<li><a href="ethernet.htm">Ethernet</a></li> |
||||
<li><a href="parport.htm">Parallel Port</a></li> |
||||
<li><a href="https://web.archive.org/web/20110226031619/http://www.lvr.com/forum/index.php">PORTS Forum</a></li> |
||||
<li class="last"><a href="sitemap.htm">More </a> |
||||
<ul> |
||||
<li><a href="microc.htm">8052-Basic</a></li> |
||||
<li><a href="pcbs.htm">Printed Circuit Boards</a></li> |
||||
<li><a href="articles.htm">Articles</a></li> |
||||
<li><a href="press.htm">News Releases</a></li> |
||||
|
||||
</ul> |
||||
|
||||
</ul> |
||||
|
||||
|
||||
</div> <!-- menubar_main --> |
||||
|
||||
</div> <!-- header --> |
||||
|
||||
|
||||
|
||||
<div id="container_main"> |
||||
<div id="content"> |
||||
<!-- InstanceBeginEditable name="Content" --> |
||||
|
||||
|
||||
|
||||
<p><a href="index.html">Home</a> > <a href="usb.htm">USB Central </a>> <a href="usbms.htm">Mass Storage Page</a> > |
||||
Mass Storage FAQ</p><p></p> |
||||
<h1> Mass Storage FAQ</h1> |
||||
<h4>Also see:</h4> |
||||
<p><a href="mass_storage.htm">Mass |
||||
storage page</a> |
||||
|
||||
</p> |
||||
<h2 align="left">General</h2> |
||||
<blockquote> |
||||
<p align="left"><strong>How long can a device return NAK in a mass-storage |
||||
bulk transfer?</strong></p> |
||||
<p align="left">The mass-storage specification doesn't define a timeout |
||||
value. Hosts typically will wait 20-30 seconds.</p> |
||||
<p align="left"> <strong>Can my device's firmware read and store files when |
||||
the device isn't attached to a host?</strong></p> |
||||
<p align="left">Yes, if the firmware supports a file system such as FAT16 |
||||
or FAT32. Note that the mass-storage device should have only one mass-storage |
||||
master at a time. When the device is attached to and configured by a USB |
||||
host, the firmware shouldn't attempt to read or write to files on its |
||||
own. </p> |
||||
</blockquote> |
||||
<h2 align="left">SCSI</h2> |
||||
<blockquote> |
||||
<p align="left"><strong>What is the SCSI transparent command set?</strong></p> |
||||
<p align="left">In the <a href="https://web.archive.org/web/20110226031619/http://www.usb.org/developers/devclass_docs">Mass Storage Class Specification Overview</a>, Table |
||||
2.1 says that devices with subclass code 06h implement the "SCSI |
||||
transparent command set." The SCSI specifications are available from |
||||
<a href="https://web.archive.org/web/20110226031619/http://www.t10.org/drafts.htm#SCSI3_Family">t10.org</a>, but these documents don't |
||||
mention a transparent command set.</p> |
||||
<p align="left"><a href="https://web.archive.org/web/20110226031619/https://lists.one-eyed-alien.net/pipermail/usb-storage/2004-September/000795.html">According |
||||
to the inventor of the subclass</a>, subclass 06h means that the host should determine |
||||
the device type by issuing a SCSI INQUIRY command. In the returned INQUIRY |
||||
data, bits 4..0 of byte 0 specify a peripheral device type (PDT). The |
||||
SCSI Primary Commands (SPC) specification defines various PDTs and the |
||||
specifications they should comply with. </p> |
||||
<p align="left"><strong>What value should I use for bInterfaceSubClass in |
||||
the interface descriptor?</strong></p> |
||||
<p align="left">New designs should use bInterfaceSubClass = 06h (SCSI transparent |
||||
command set). The device's response to a SCSI INQUIRY command is then |
||||
the single source where the device declares its command set (via the PERIPHERAL |
||||
DEVICE TYPE (PDT) and VERSION codes). A device should use a different |
||||
bInterfaceSubClass only if it must for some reason adhere to a command |
||||
set that has no PDT code (such as SFF-8070i). See the SPC document for |
||||
a list of PDTs. </p> |
||||
<p align="left"><strong>What commands should my device support?</strong></p> |
||||
<p align="left">In the response to a SCSI INQUIRY command, a device returns |
||||
a PERIPHERAL DEVICE TYPE code and a VERSION code. For hard drives, flash |
||||
drives, and similar devices, PERIPHERAL DEVICE TYPE = 00h (direct access |
||||
block device) and VERSION = 04h (SPC-2) or 05h (SPC-3). The code in the |
||||
VERSION corresponds to a command set, and the command set's specification |
||||
lists mandatory commands.</p> |
||||
<p align="left">In some cases, additional INQUIRY data can provide more |
||||
information, including vendor-specific data, but not every host will retrieve |
||||
more than the first 36 bytes of the response. </p> |
||||
<p align="left">The SPC specification documents the INQUIRY command. Also |
||||
see the specification for your device type for any device-specific information |
||||
about the INQUIRY response.</p> |
||||
<p align="left">In practice, many devices don't implement every mandatory |
||||
command and just concentrate on the commands used by any hosts the device |
||||
is likely to connect to.</p> |
||||
<p align="left">The <a href="https://web.archive.org/web/20110226031619/http://www.usb.org/developers/devclass_docs/MSC-compliance-0_9a.pdf">Mass |
||||
Storage Class Compliance Test Specification</a> names required and optional |
||||
commands for different PDTs that want to pass USB-IF's mass-storage compliance |
||||
tests.</p> |
||||
<p align="left"><strong>What is command 0x23 (23h)? I can't find it in the |
||||
SPC or SBC documents.</strong></p> |
||||
<p align="left">Command 23h is READ FORMAT CAPACITIES in the <a href="https://web.archive.org/web/20110226031619/http://www.t10.org/drafts.htm">Multimedia |
||||
Commands (MMC) specification</a> from t10.org.</p> |
||||
</blockquote> |
||||
<h2 align="left">Windows Specific</h2> |
||||
<blockquote> |
||||
<p align="left"><strong>Can my device use the Reduced Block Command (RBC) |
||||
set?</strong></p> |
||||
<p align="left">Windows doesn't support RBC (bInterfaceSubClass 01h or 06h |
||||
and PDT = 0Eh), so if you design an RBC device, you'll need to provide |
||||
a driver for the host. The USB mass storage overview document from usb.org |
||||
incorrectly says that flash drives typically use RBC. Flash drives use |
||||
bInterfaceSubClass 06h (SCSI transparent command set) with PDT = 00h (direct-access |
||||
block device), the same as hard drives.</p> |
||||
<p align="left"><strong>How can I determine the drive letter Windows has |
||||
assigned to a USB drive?</strong></p> |
||||
<p align="left">Three options:</p> |
||||
<p align="left">1. <a href="files/find_drive_letter.txt">Example code</a> from Marc Reinig.</p> |
||||
<p align="left">2. <a href="https://web.archive.org/web/20110226031619/http://www.codeproject.com/w2k/usbdisks.asp">How |
||||
to get the usbdisk's drive letter properly</a>. Using DeviceIoControl |
||||
to get a USB drive's letter. From f22_storm.</p> |
||||
<p align="left">3. Usenet thread <a href="https://web.archive.org/web/20110226031619/http://groups.google.com/group/microsoft.public.development.device.drivers/browse_thread/thread/47322a079ae87adc/09e0c366cacda5c0?q=%22How%2Bto%2Bmatch%2Bbetween%2Bphysical%2Busb%2Bdevice%2Band%2Bits%2Bdrive%2Bletter%22&_done=%2Fgroups%3Fas_q%3D%22How%2Bto%2Bmatch%2Bbetween%2Bphysical%2Busb%2Bdevice%2Band%2Bits%2Bdrive%2Bletter%22%26safe%3Dimages%26lr%3D%26hl%3Den%26&_doneTitle=Back%2Bto%2BSearch&&d&pli=1">How |
||||
to match between physical usb device and its drive letter</a>.</p> |
||||
</blockquote> |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- InstanceEndEditable --> |
||||
</div> <!-- content --> |
||||
|
||||
<div id="rightside"><!-- #BeginLibraryItem "/Library/sponsored.lbi" --> <link rel="stylesheet" href="/web/20110226031619cs_/http://www.lvr.com/styles/lvr.css" type="text/css"> |
||||
<p><strong>Partner Links</strong></p> |
||||
|
||||
|
||||
<p><strong><a href="https://web.archive.org/web/20110226031619/http://www.absolute-software.co.uk/">Embedded Programming</a></strong><br> |
||||
Experts in embedded software development. Microchip Certified Consults.<br> |
||||
<a href="https://web.archive.org/web/20110226031619/http://www.absolute-software.co.uk/">absolute-software.co.uk</a></p> |
||||
<p><strong><a href="https://web.archive.org/web/20110226031619/http://www.ellisys.com/">USB Protocol Analyzers</a></strong><br> |
||||
ELLISYS protocol analyzers, generators, automated compliance solutions.<br> |
||||
<a href="https://web.archive.org/web/20110226031619/http://www.ellisys.com/">www.ellisys.com</a></p> |
||||
<p><strong><a href="https://web.archive.org/web/20110226031619/http://www.sysnucleus.com/">USBTrace - USB Analyzer</a></strong><br> |
||||
Software-based USB Protocol Analyzer. Easy-to-use and affordable.<br> |
||||
<a href="https://web.archive.org/web/20110226031619/http://www.sysnucleus.com/">www.sysnucleus.com</a></p> |
||||
<p><strong><a href="https://web.archive.org/web/20110226031619/http://www.totalphase.com/solutions/apps/usb_analyzer_guide/?tclid=8DD6902647060BC8">Powerful USB Analyzer</a></strong><br> |
||||
Real-time USB 2.0 display & class decoding. See a video demo now. <br> |
||||
<a href="https://web.archive.org/web/20110226031619/http://www.totalphase.com/solutions/apps/usb_analyzer_guide/?tclid=8DD6902647060BC8">www.totalphase.com</a></p> |
||||
|
||||
<p><a href="https://web.archive.org/web/20110226031619/http://www.eltima.com/products/usb-over-ethernet/"><strong>USB to Ethernet Connector</strong></a><br> |
||||
Share & access USB devices over local network or even Internet!<br> |
||||
<a href="https://web.archive.org/web/20110226031619/http://www.eltima.com/products/usb-over-ethernet/">www.eltima.com</a></p> |
||||
|
||||
<p><strong><a href="https://web.archive.org/web/20110226031619/http://www.premiumusb.com/catalog/usb-duplicators_23.htm">USB Duplicator</a></strong><br> |
||||
Copy up to 77 USB Drives at once with a stand-alone USB Duplicator.<br> |
||||
<a href="https://web.archive.org/web/20110226031619/http://www.premiumusb.com/catalog/usb-duplicators_23.htm">www.premiumusb.com</a></p> |
||||
<p><a href="https://web.archive.org/web/20110226031619/http://creativeusb.com/"><strong>Creative Promo USB Drives</strong></a><br> |
||||
Custom designed promotional drives w/ branded printing and duplication.<br> |
||||
<a href="https://web.archive.org/web/20110226031619/http://creativeusb.com/">www.CreativeUSB.com</a></p> |
||||
<p><script language="javascript"> |
||||
<!-- |
||||
var contact = "Ask about advertising on this site" |
||||
var email = "jan" |
||||
var emailHost = "Lvr.com" |
||||
document.write("<a href=" + "mail" + "to:" + email + "@" + emailHost+ ">" + contact + "</a>") |
||||
//--> |
||||
</script> |
||||
</p> |
||||
<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/Library/google.lbi" --> |
||||
<p> |
||||
<script type="text/javascript"><!-- |
||||
google_ad_client = "pub-9614272375919933"; |
||||
google_ad_width = 120; |
||||
google_ad_height = 600; |
||||
google_ad_format = "120x600_as"; |
||||
google_color_border = "000000"; |
||||
google_color_bg = "F0F0F0"; |
||||
google_color_link = "0000FF"; |
||||
google_color_url = "008000"; |
||||
google_color_text = "000000"; |
||||
//--></script> |
||||
|
||||
<script type="text/javascript" src="https://web.archive.org/web/20110226031619js_/http://pagead2.googlesyndication.com/pagead/show_ads.js"> |
||||
</script> |
||||
</p> |
||||
|
||||
|
||||
<p> |
||||
<script type="text/javascript"><!-- |
||||
google_ad_client = "pub-9614272375919933"; |
||||
google_ad_width = 120; |
||||
google_ad_height = 600; |
||||
google_ad_format = "120x600_as"; |
||||
google_color_border = "000000"; |
||||
google_color_bg = "F0F0F0"; |
||||
google_color_link = "0000FF"; |
||||
google_color_url = "008000"; |
||||
google_color_text = "000000"; |
||||
//--></script> |
||||
|
||||
<script type="text/javascript" src="https://web.archive.org/web/20110226031619js_/http://pagead2.googlesyndication.com/pagead/show_ads.js"> |
||||
</script> |
||||
</p><!-- #EndLibraryItem --></div> |
||||
<!-- rightside --> |
||||
</div> |
||||
<!-- container_main --> |
||||
</div> |
||||
<!-- container_all --> |
||||
|
||||
|
||||
<script type="text/javascript"> |
||||
<!-- |
||||
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); |
||||
var MenuBar3 = new Spry.Widget.MenuBar("MenuBar3", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); |
||||
//--> |
||||
</script> |
||||
|
||||
</body> |
||||
<!-- InstanceEnd --></html> |
||||
<!-- |
||||
FILE ARCHIVED ON 03:16:19 Feb 26, 2011 AND RETRIEVED FROM THE |
||||
INTERNET ARCHIVE ON 12:38:43 May 12, 2018. |
||||
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. |
||||
|
||||
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. |
||||
SECTION 108(a)(3)). |
||||
--> |
||||
<!-- |
||||
playback timings (ms): |
||||
LoadShardBlock: 361.029 (3) |
||||
esindex: 0.006 |
||||
captures_list: 440.984 |
||||
CDXLines.iter: 13.301 (3) |
||||
PetaboxLoader3.datanode: 174.01 (4) |
||||
exclusion.robots.fetch: 60.68 (4) |
||||
exclusion.robots: 61.326 |
||||
exclusion.robots.policy: 0.266 |
||||
RedisCDXSource: 0.835 |
||||
PetaboxLoader3.resolve: 287.178 (2) |
||||
load_resource: 117.605 |
||||
--> |
@ -1,7 +1,366 @@ |
||||
@online{foo, |
||||
title = {Foo Bar}, |
||||
url = {https://foo.bar}, |
||||
urldate = {2016-05-08}, |
||||
language = {english} |
||||
% USB tutorials and articles |
||||
|
||||
@string{USBIF = {{USB Implementers Forum, Inc.}}} |
||||
@string{MSFT = {{Microsoft Corporation}}} |
||||
@string{STM = {{ST Microelectronics}}} |
||||
|
||||
@online{usb-nutshell, |
||||
title = {USB in a NutShell}, |
||||
author = {Craig Peacock}, |
||||
url = {https://www.beyondlogic.org/usbnutshell}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{usb-made-simple, |
||||
title = {USB Made Simple}, |
||||
author = {{MQP Electronics Ltd.}}, |
||||
url = {http://www.usbmadesimple.co.uk/}, |
||||
year = {2008}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{tty-usb-acm, |
||||
title = {What is the difference between /dev/ttyUSB and /dev/ttyACM?}, |
||||
author = {Samuel Tardieu}, |
||||
url = {https://rfc1149.net/blog/2013/03/05/what-is-the-difference-between-devttyusbx-and-devttyacmx/}, |
||||
year = {2013}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{usb-tscsi, |
||||
title = {Mass Storage FAQ}, |
||||
author = {Jan Axelson}, |
||||
url = {http://janaxelson.com/mass_storage_faq.htm}, |
||||
year = {2013}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
||||
@online{usb-tscsi-wtf, |
||||
title = {Discussion in a USB storage driver development mailing list (site defunct, archived via Archive.org)}, |
||||
url = {https://web.archive.org/web/20071108121822/https://lists.one-eyed-alien.net/pipermail/usb-storage/2004-September/000795.html}, |
||||
year = {2004}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{usb-function, |
||||
title = {Windows 2000 Professional Resource Kit / USB Functions}, |
||||
author = MSFT, |
||||
url = {https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc939102(v%3dtechnet.10)}, |
||||
year = {2008}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
||||
|
||||
@online{usb-class-list, |
||||
title = {USB Class Codes}, |
||||
author = USBIF, |
||||
url = {http://www.usb.org/developers/defined_class}, |
||||
year = {2016}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
% USB specification |
||||
|
||||
@online{usbif-spec, |
||||
title = {Universal Serial Bus Specification}, |
||||
author = USBIF, |
||||
url = {http://www.usb.org/developers/docs/usb20_docs/}, |
||||
year = {2000}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{usbif-msco, |
||||
title = {USB Mass Storage Class, Specification Overview}, |
||||
author = USBIF, |
||||
url = {http://www.usb.org/developers/docs/devclass_docs/Mass_Storage_Specification_Overview_v1.4_2-19-2010.pdf}, |
||||
year = {2010}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{usbif-bot, |
||||
title = {USB Mass Storage Class, Bulk-Only Transport}, |
||||
author = USBIF, |
||||
url = {http://www.usb.org/developers/docs/devclass_docs/usbmassbulk_10.pdf}, |
||||
year = {1999}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{usbif-cdc, |
||||
title = {Class definitions for Communication Devices 1.2}, |
||||
author = USBIF, |
||||
url = {http://www.usb.org/developers/docs/devclass_docs/CDC1.2_WMC1.1_012011.zip}, |
||||
year = {2010}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{usbif-iad, |
||||
title = {USB Interface Association Descriptor, Device Class Code and Use Model}, |
||||
author = USBIF, |
||||
url = {http://www.usb.org/developers/docs/whitepapers/iadclasscode_r10.pdf}, |
||||
year = {2003}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
% Virtual FS |
||||
|
||||
@online{ms-fat, |
||||
title = {How FAT Works}, |
||||
author = MSFT, |
||||
url = {https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc776720(v=ws.10)}, |
||||
year = {2009}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{daplink, |
||||
title = {Arm Mbed DAPLink source code repository}, |
||||
author = {{Arm Mbed}}, |
||||
url = {https://github.com/ARMmbed/DAPLink}, |
||||
year = {2018}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{fat16-brainy, |
||||
title = {FAT16 Structure Information}, |
||||
author = {Jack Dobiash}, |
||||
url = {http://home.teleport.com/~brainy/fat16.htm}, |
||||
year = {1999}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{fat16-maverick, |
||||
title = {FAT16 File System}, |
||||
author = {{LKT Software}}, |
||||
url = {http://www.maverick-os.dk/FileSystemFormats/FAT16_FileSystem.html}, |
||||
year = {1999}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{fat16-phobos, |
||||
title = {A tutorial on the FAT file system}, |
||||
author = {Bob Eager}, |
||||
url = {http://www.tavi.co.uk/phobos/fat.html}, |
||||
year = {2017}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@book{freertos-book, |
||||
title = {Mastering the FreeRTOS™ Real Time Kernel}, |
||||
subtitle = {A Hands-On Tutorial Guide}, |
||||
author = {Richard Barry}, |
||||
publisher= {Real Time Engineers Ltd.}, |
||||
url = {https://www.freertos.org/Documentation/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf}, |
||||
year = {2016}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@manual{freertos-rm, |
||||
title = {The FreeRTOS™ Reference Manual}, |
||||
author = {{Real Time Engineers Ltd.}}, |
||||
publisher= {Real Time Engineers Ltd.}, |
||||
url = {https://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V10.0.0.pdf}, |
||||
year = {2018}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@article{fat-lfn, |
||||
author = {{vinDaci}}, |
||||
title = {Long Filename Specification}, |
||||
year = {1998}, |
||||
url = {http://home.teleport.com/~brainy/lfn.htm}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@techreport{fat-whitepaper, |
||||
author = MSFT, |
||||
title = {FAT: General Overview of On-Disk Format}, |
||||
url = {https://staff.washington.edu/dittrich/misc/fatgen103.pdf}, |
||||
year = {2000}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
||||
% STM32 |
||||
|
||||
@techreport{stm-timer-coockbook, |
||||
author = STM, |
||||
title = {AN4776: General-purpose timer cookbook}, |
||||
year = {2017}, |
||||
url = {http://www.st.com/resource/en/application_note/dm00236305.pdf}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@techreport{stm-tsc-training, |
||||
author = STM, |
||||
title = {STM32L4 training: Touch Sensing Controller}, |
||||
year = {2017}, |
||||
url = {http://www.st.com/resource/en/product_training/stm32l4_peripheral_touchsense.pdf}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
% (couldnt find a proper link) |
||||
@techreport{stm-tsc-ppt, |
||||
author = STM, |
||||
title = {Touch Sensing Controller (TSC) presentation}, |
||||
year = {2015}, |
||||
url = {https://wenku.baidu.com/view/8472044a6137ee06eef9180c.html?re=view}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@techreport{stm-tsc-an1, |
||||
author = STM, |
||||
title = {AN4299: Guidelines to improve conducted noise robustness on STM32F0 Series, STM32F3 Series, STM32L0 Series and STM32L4 Series touch sensing applications}, |
||||
year = {2018}, |
||||
url = {http://www.st.com/resource/en/application_note/dm00085385.pdf}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@techreport{stm-tsc-an2, |
||||
author = STM, |
||||
title = {AN4310: Sampling capacitor selection guide for MCU based touch sensing |
||||
applications}, |
||||
year = {2015}, |
||||
url = {http://www.st.com/resource/en/application_note/dm00087593.pdf}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@techreport{stm-tsc-an3, |
||||
author = STM, |
||||
title = {AN4312: Guidelines for designing touch sensing applications |
||||
with surface sensors}, |
||||
year = {2017}, |
||||
url = {http://www.st.com/resource/en/application_note/dm00087990.pdf}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@techreport{stm-tsc-an4, |
||||
author = STM, |
||||
title = {AN4316: Tuning a STMTouch-based application}, |
||||
year = {2015}, |
||||
url = {http://www.st.com/resource/en/application_note/dm00088471.pdf}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
||||
% other articles |
||||
@article{all-about-dds, |
||||
title={All about direct digital synthesis}, |
||||
author={Eva Murphy, Colm Slattery}, |
||||
series={Ask The Application Engineer}, |
||||
volume={33}, |
||||
url={http://www.analog.com/media/en/analog-dialogue/volume-38/number-3/articles/all-about-direct-digital-synthesis.pdf}, |
||||
year={2004} |
||||
} |
||||
|
||||
@techreport{understanding-i2c, |
||||
author = {Jonathan Valdez, Jared Becker}, |
||||
title = {Understanding the I2C Bus}, |
||||
year = {2015}, |
||||
url = {http://www.ti.com/lit/an/slva704/slva704.pdf}, |
||||
urldate = {2018-05-12}, |
||||
organization = {Texas Instruments} |
||||
} |
||||
|
||||
@manual{i2c-spec, |
||||
title = {I2C-bus specification and user manual}, |
||||
author = {{NXP Semiconductors}}, |
||||
url = {https://www.nxp.com/docs/en/user-guide/UM10204.pdf}, |
||||
year = {2014}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@manual{nrf-manual, |
||||
title = {nRF24L01+ Single Chip 2.4GHz Transceiver Product Specification v1.0}, |
||||
author = {{Nordic Semiconductor}}, |
||||
url = {http://www.nordicsemi.com/eng/content/download/2726/34069/file/nRF24L01P_Product_Specification_1_0.pdf}, |
||||
year = {2008}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@manual{semtech-manual, |
||||
title = {SX1276/77/78/79 datasheet}, |
||||
author = {{Semtech Corporation}}, |
||||
url = {https://www.semtech.com/uploads/documents/DS_SX1276-7-8-9_W_APP_V5.pdf}, |
||||
year = {2016}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
||||
@manual{f072-rm, |
||||
title = {RM0091: STM32F0x1/STM32F0x2/STM32F0x8 reference manual}, |
||||
author = STM, |
||||
url = {http://www.st.com/resource/en/reference_manual/dm00031936.pdf}, |
||||
year = {2017}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@manual{f072-ds, |
||||
title = {STM32F072x8/STM32F072xB datasheet}, |
||||
author = STM, |
||||
url = {http://www.st.com/resource/en/datasheet/stm32f072c8.pdf}, |
||||
year = {2017}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
||||
@manual{f103-rm, |
||||
title = {RM0008: STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx reference manual}, |
||||
author = STM, |
||||
url = {http://www.st.com/resource/en/reference_manual/cd00171190.pdf}, |
||||
year = {2009}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@manual{f103-ds, |
||||
title = {STM32F103x8/STM32F103xB datasheet}, |
||||
author = STM, |
||||
url = {http://www.st.com/resource/en/datasheet/CD00161566.pdf}, |
||||
year = {2015}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{pidcodes, |
||||
title = {pid.codes, a registry of USB PID codes for open source hardware projects}, |
||||
url = {http://pid.codes/}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{eev-gpio-pu, |
||||
author = {{EEVblog Electronics Community Forum}}, |
||||
title = {pid.codes, a registry of USB PID codes for open source hardware projects}, |
||||
url = {https://www.eevblog.com/forum/projects/driving-the-1k5-usb-pull-up-resistor-on-d/}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
||||
% Figure sources |
||||
|
||||
@online{buspirate-product-page, |
||||
author = {{Seeed Technology Co.,Ltd.}}, |
||||
title = {Bus Pirate v4 product page}, |
||||
url = {https://www.seeedstudio.com/Bus-Pirate-v4-p-740.html}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{nidevice1, |
||||
author = {{National Instruments}}, |
||||
title = {I²C/SPI Interface Device product page}, |
||||
url = {https://www.ni.com/en-gb/shop/select/i2c-spi-interface-device}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{nidevice2, |
||||
author = {{National Instruments}}, |
||||
title = {USB-6008 product page}, |
||||
url = {http://www.ni.com/en-gb/support/model.usb-6008.html}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
@online{tphasedevice, |
||||
author = {{Total Phase, Inc.}}, |
||||
title = {USB-6008 product page}, |
||||
url = {https://www.totalphase.com/products/aardvark-i2cspi/}, |
||||
urldate = {2018-05-12} |
||||
} |
||||
|
||||
|
Binary file not shown.
Loading…
Reference in new issue