免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2887 | 回复: 0
打印 上一主题 下一主题

请教:在使用g_file_storage模块时碰见的现象 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-09 16:28 |只看该作者 |倒序浏览
小弟刚刚毕业几个月,目前正在从事基于RMI AU1200的PMP样机的嵌入式Linux开发,这两天在使用g_file_storage模块的时候碰到了完全不知道方向的问题,上来虚心向大家求教。

PMP样机之前使用Nandflash作为主存储介质,为了和PC相连,我在Nandflash上使用dd命令创建了2GB的空文件/mnt/mtd6/disk1,然后我调用 modprobe g_file_storage file=/mnt/mtd6/disk1,然后加载usb-otg模块并和PC相连被识别为一个磁盘,然后从PC上复制数据到该磁盘上一切正常,在串口控制台检测到的也没有任何异常信息。

    但是现在的PMP样机不再使用Nandflash而是直接使用fat32 格式的SDCard作为主存储介质,但是仍然要实现当SDCard插入样机的时候,可以通过USB-OTG接口和PC相连并让PC在这种情况下可以访问SDCard,于是我仍然使用g_file_storage模块,使用命令  
modprobe g_file_storage file=/dev/mmcblk0
然后加载usb-otg模块并和PC相连仍然也可被识别为一个磁盘,但是从PC上向该磁盘上复制一个约160MB的数据文件时却出现了问题:
    在Windosw/PC上显式正在复制的时候,突然会出现进度条停止不前,而同时在串口控制台下可以看到不断的形如
       ……
       amd5536udc: Connect: Speed = HIGH_SPEED
           amd5536udc: Connect: Speed = HIGH_SPEED
           ……
的信息,这是在/drivers/usb/gadget/amd5536udc.c中的 udc_dev_isr 中断处理程序中打印出来的消息,然后直至几分钟后控制台出现
         g_file_storage gadget: high speed config
的消息后,控制台消息暂停,同时PC/Windows上的复制进度条恢复前进,但是一段时间以后,又会再次重复以上的过程。并且多数情况下随后会出现“Windows延缓写入失败”的警告,然后会出现“无法复制,路径太深”,或者“无法访问H:/ 由于I/O设备错误,无法运行此项请求”, 之类的错误。而在在复制较小文件(如几十兆的文件)时不会出现“Windows延缓写入失败”的警告以及无法复制或无法访问的错误,在PC/Windows上能够完成复制,但是如果此时不在PC上安全卸载USB就直接拔掉PMP样机和PC的连接线,在PMP以及串口调试环境下发现SDCard上其实根本就没有复制成功;而如果在PC上要安全卸载USB则会耗时很久,并且在串口环境下可以看到同步有上述的
       ……
       amd5536udc: Connect: Speed = HIGH_SPEED
           amd5536udc: Connect: Speed = HIGH_SPEED
           ……
中断处理程序的打印消息。我在PC上的我的电脑中查看SDCard通过g_file_storgage映射到PC上的磁盘的属性(即Windows上看见的linux File-Stor Gadget Usb Device),在它的“策略”一项下选择的是“为快速删除而优化”,即没有使用磁盘上和Windows中的写入缓存,既然没有使用缓存为什么又会出现我在PC上不手动安全卸载USB数据根本就没有拷入呢?


上面写了这么多,真的让各位师兄师姐费眼了,可是小弟我面对这么多的疑问确实不知所措了,例如那些中断究竟可能是因为什么原因被触发的呢?究竟是g_file_storage的问题,还是mmc驱动的问题,还是amd5536udc的问题,我现在连个查错的方向都不知道了,在这里再次谢过各位大虾了~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP