You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
476 lines
26 KiB
476 lines
26 KiB
7 years ago
|
<!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
|
||
|
-->
|