bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2731回复:6

关于U盘format中发现的问题,及我的解决方法。

楼主#
更多 发布于:2004-05-14 10:27
最近困扰我的不能多次format的问题,终于有了一个初步的解决办法。

以我的系统中的16M的flash做为u盘为例。
在u盘操作中,大家知道有read format capacity和read capacity的命令。这两个命令请求知道u盘的容量和最后一个lba的地址(详细见ufi协议文档)。我的16M的flash我填入的0x8000,和0x7fff(以512字节为单位sector)。在填入上述值的情况下,发现format只能格式化一次。这个问题我也在论坛中多次问过,可是没有人回答。后来我把这两个值改为,0x7ef0和0x7ee0,这两个值是我随便取的。结果不能多次format的问题就解决了。
其实现在还是不知道这两个值该如何决定,从抓的别的u盘的包看都要比实际的flash的容量小,且read capacity中的last LBA address的值要比read format capacity中的值要小。
有哪位对这方面有了解我们可以讨论一下。
chenchi1982
驱动牛犊
驱动牛犊
  • 注册日期2004-03-21
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分-12分
  • 威望30点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-14 11:04
我做的32M的,以下两个命令的值为
read format capacity:0xfaff
read capacity:0xfaff
在格式化时没有出现无法多次格式化的问题
后来取为
(不好意思开始写反了)
read format capacity:0xffff
read capacity:0xfaff
也没有出现无法多次格式化的问题
手册中
read capacity命令返回的为the last valid LBA for use with media access commands
read format capacity命令返回的为the total number if addressable blocks for the descriptor\'s media type
按上所说一般read capacity中的last LBA address的值要比read format capacity中的值要小

[编辑 -  5/14/04 by  chenchi1982]
andy083
驱动牛犊
驱动牛犊
  • 注册日期2004-05-13
  • 最后登录2005-02-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-14 11:20
hi,bbiliu
你在format u disk时,有没碰到过,format的进度条结束后,W2K会有
\"windows was unable to complete the format\"弹出,但实际上FLASH已经被format了,一直不知道怎样去掉这个warning,急!
我爱驱动
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-14 11:40
楼上的,如果你用0x10000到read format capacity用0xffff到read capacity试试,看会不会出现不能多次格式化的问题。
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-14 12:59
chenchi1982:
   在u盘没有格式化的情况下,你的程序中对read format capacity和read capacity的应答是如何做的。
chenchi1982
驱动牛犊
驱动牛犊
  • 注册日期2004-03-21
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分-12分
  • 威望30点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-14 20:22
一样的处理啊

  21.1  DO     55 53 42 43  20 8b ac ff  USBC ...                10.1.0        
               fc 00 00 00  80 00 0a 23  .......#                10.1.8        
               00 00 00 00  00 00 00 fc  ........                10.1.16      
               00 00 00 00  00 00 00     .......                 10.1.24      
  21.1  DI     00 00 00 08  00 00 2f ff  ....../.                11.1.0        
               03 00 02 00               ....                    11.1.8        
  21.1  DI     55 53 42 53  20 8b ac ff  USBS ...                12.1.0        
               f0 00 00 00  00           .....                   12.1.8        
  21.1  DO     55 53 42 43  20 8b ac ff  USBC ...                13.1.0        
               08 00 00 00  80 00 0a 25  .......%                13.1.8        
               00 00 00 00  00 00 00 00  ........                13.1.16      
               00 00 00 00  00 00 00     .......                 13.1.24      
  21.1  DI     00 00 2f ff  00 00 02 00  ../.....                14.1.0        
  21.1  DI     55 53 42 53  20 8b ac ff  USBS ...                15.1.0        
               f0 00 00 00  00           .....                   15.1.8        
adonischoun
驱动牛犊
驱动牛犊
  • 注册日期2008-07-02
  • 最后登录2009-08-28
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望48点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-07-10 11:11
andy083    我也遇到了这个问题
但是格式化也没写进去  你的问题解决了吗 如何解决的呢
游客

返回顶部