返回首页
当前位置: 主页>USB开发应用>

JN-mini5728 USB gadget驱动调试

时间:2018-03-10 23:40来源:USB开发群 作者:USB开发频道 点击:

  

我在AM5728开发板上加载 g_mass_storage.ko,准备将开发板上的 Nand Flash模拟为 PC 机的一个U盘,但是,发生了错误,如下:
modprobe g_mass_storage file=udisk1M.img stall=0 removable=1
modprobe: ERROR: could not insert 'g_mass_storage': No such device
PS:udisk1M.img 是我制作的FAT32文件镜像。
我查看了开发板,在 /lib/modules/4.4.12-g3639bea54a/kernel/drivers/usb/gadget/legacy/ 中 有 g_mass_storage.ko 这个文件。
请问为什么会有这个错误?另外,如果要将开发板模拟为U盘,是不是加载 g_mass_storage.ko就可以了,还用不用编译其他模块,或者修改内核驱动?
谢谢! 内容来自dedecms

dedecms.com

织梦内容管理系统

酷酷的牛

jn_tq
这个需要修改设备树,因为JN-mini5728默认2个USB接口都为host模式。
您需要修改设备树代码,将USB接口设置为从模式,即
dr_mode = "peripheral";
注意:
测试哪个USB接口,就修改该USB接口的设备树 本文来自织梦

织梦内容管理系统

织梦好,好织梦

jn_tq

@酷酷的牛#2491

dedecms.com

谢谢你的回答。

织梦好,好织梦

我按你的方法,修改了 am57xx-beagle-x15-common.dtsi 中的 dr_mode,可以成功加载 g_mass_storage.ko 了,加载后输出如下:
root@am57xx-evm:~# modprobe g_mass_storage file=/dev/mmcblk1 removable=1

[ 47.964972] Mass Storage Function, version: 2009/09/11
[ 47.970225] LUN: removable file: (no medium)
[ 47.974688] LUN: removable file: /dev/mmcblk1
[ 47.979611] Number of LUNs=1
[ 47.982608] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[ 47.990944] g_mass_storage gadget: userspace failed to provide iSerialNumber
[ 48.017821] g_mass_storage gadget: g_mass_storage ready

内容来自dedecms

但是还是有问题。如果将 usb1 的 dr_mode 修改为 peripheral,开发板的两个 USB 接口与电脑连接后均无反应,如果将 usb2 的 dr_mode 修改为 peripheral,开发板下面那个 USB3.0 的接口与电脑连上后有反应,但是电脑的反应是"无法识别的 USB 设备",设备管理器中显示 "端口重置失败"。是不是还要修改某个地方呢? dedecms.com

我后来做了另一个测试,将 usb2 的 dr_mode 修改为 peripheral,将我的 USB 鼠标插入开发板下面那个 USB3.0 的接口,从终端输出的内容看,开发板识别了这个 USB 鼠标,这是不是说明这样修改还不完全正确,USB2 其实还工作在 host 模式下??如果真的工作在从模式下,它应该不能识别这个 USB 鼠标了吧?? copyright dedecms

谢谢! 织梦好,好织梦

织梦内容管理系统

copyright dedecms

jn_tq

@酷酷的牛#2491
我今天又测试了一下,peripheral 设置是成功的,但是,现在的情况是 成功加载了 g_mass_storage.ko 模块,与电脑连接后电脑没有任何反应。请问是不是还需要修改其他地方?? 织梦好,好织梦

谢谢!

织梦内容管理系统

内容来自dedecms

织梦好,好织梦

酷酷的牛

jn_tq modprobe g_mass_storage file=/dev/mmcblk1 removable=1 织梦好,好织梦

请使用如下命令:
modprobe g_mass_storage file=/dev/mmcblk1p1 removable=1

本文来自织梦

dedecms.com

本文来自织梦

jn_tq

@酷酷的牛#2533 modprobe g_mass_storage file=/dev/mmcblk1p1 removable=1

织梦内容管理系统

谢谢!
我刚才试了这个命令,在两个USB口上都不行,还是一样,加载后,连接电脑,电脑端没有任何反应。

copyright dedecms

我修改的是 am57xx-beagle-x15-common.dtsi 文件中的如下地方:
&usb2 {
dr_mode = "peripheral";
};

织梦好,好织梦

am57xx-beagle-x15-common.dtsi 文件在 am57xx-beagle-x15.dts 中被引用。
这样修改正确么?不需要修改其他地方,或者加载其他模块了么?

本文来自织梦

谢谢!

织梦好,好织梦

本文来自织梦

dedecms.com

jn_tq

@酷酷的牛#2533 dedecms.com

我觉得开发板在接入电脑的时候,没有引起USB总线的变化(一般会在D+或者D-上有个上拉电阻将其拉高,通知USB控制器有USB设备插入),所以电脑端才没有任何反应。是不是还要加载其他模块,或者硬件上根本不支持这个功能。我看过其他的开发板原理图,在USB设备端的接口上都有这个上拉电阻,不知道5728是不是集成在了芯片内部,是要通过软件去设置的??

织梦内容管理系统

本文来自织梦

织梦内容管理系统

酷酷的牛

jn_tq
刚刚咨询了硬件工程师,我们JN-mini5728现在支持的是两路USB host。
上边是USB 2.0总线,下班是USB 3.0总线。
JN-mini5728上没有测试USB gadget模式,因为在USB gadget模式上+5V供电和ID引脚不一样!

copyright dedecms

织梦好,好织梦

copyright dedecms

jn_tq

@酷酷的牛#2537 刚刚咨询了硬件工程师,

内容来自dedecms

谢谢!

织梦好,好织梦

您的意思是指 JN-mini5728 在硬件设计上就已经决定了它不能模拟为 PC 机的一个U盘吗?就是说 JN-mini5728 的两个USB口只能做为host用,不能做为 从设备 来用??
我不太明白 “USB gadget模式上+5V供电和ID引脚不一样” 这个是什么意思。

dedecms.com

谢谢! 内容来自dedecms

本文来自织梦

copyright dedecms

酷酷的牛

jn_tq
您对比一下JN-mini5728原理图和am5728_evm原理图,就可以发现USB 2电路不一样。
主要是+5V USB2_VBUS以及ID信号不一样

copyright dedecms

本文来自织梦

本文来自织梦

酷酷的牛

jn_tq
确实,我们硬件暂时只支持HOST模式

dedecms.com

内容来自dedecms

织梦内容管理系统

jn_tq

@酷酷的牛#2541

本文来自织梦

谢谢,我刚才也对比这个原理图了。

织梦内容管理系统

那么可以通过飞线或者割线的方式让 JN-mini5728 支持 从设备 模式么?目前我们的项目需要将 JN-mini5728 模拟为PC机的一个U盘。想通过 JN-mini5728 的 USB3.0 接口来实现模拟U盘的功能,需要做哪些修改呢?

织梦内容管理系统

另外,我想问一下,如果是 am5728_evm 开发板,是不是直接加载 g_mass_storage.ko 模块后就可以模拟为PC机的一个U盘了,用USB3.0接口来模拟是否可以?

织梦好,好织梦

谢谢! 织梦内容管理系统

织梦好,好织梦

内容来自dedecms

jn_tq

@酷酷的牛#2541 copyright dedecms

我查看了AM5728的手册后,将开发板的 USB1 就是下面的 USB3.0 接口通过飞线,从硬件上将它接成了 从模式,并在设备树中将 USB1 这个 USB3.0 的接口设置为 从模式 来将 JN-mini5728 开发板 模拟为一个PC机的U盘,应该也是可以的吧?但是加载了 g_mass_storage 后,PC端仍然没有反应,这是不是说明 用 USB3.0 接口来将 JN-mini5728 开发板 模拟为U盘,还需要修改一些内核代码才行得通???

内容来自dedecms

谢谢! 织梦内容管理系统

copyright dedecms

内容来自dedecms

酷酷的牛

jn_tq 我查看了AM5728的手册后,将开发板的 USB1 就是下面的 USB3.0 接口通过飞线,从硬件上将它接成了 从模式,并在设备树中将 USB1 这个 USB3.0 的接口设置为 从模式 来将 JN-mini5728 开发板 模拟为一个PC机的U盘,应该也是可以的吧?但是加载了 g_mass_storage 后,PC端仍然没有反应,这是不是说明 用 USB3.0 接口来将 JN-mini5728 开发板 模拟为U盘,还需要修改一些内核代码才行得通???

织梦内容管理系统

1 修改设备树
2 驱动程序加载成功
满足上述两个条件就行,不需要修改内核源码
因此主要是要修改硬件,建议你修改USB 2

内容来自dedecms

织梦好,好织梦

copyright dedecms

jn_tq

@酷酷的牛#2546

本文来自织梦

好的,谢谢! copyright dedecms

我想问一下,你们 在 am5728_evm 开发板上,有没有 做过 用USB3.0 接口来 将 5728 开发板 模拟为一个PC机的U盘 这个测试呢? 织梦内容管理系统

dedecms.com

copyright dedecms

酷酷的牛

jn_tq
am5728_evm开发板使用USB2来模拟U盘功能,USB3被用来作为host模式 本文来自织梦

dedecms.com

copyright dedecms

jn_tq






秦华 『上海买保险』上海地区人寿保险资深寿险顾问 上海外籍人士买保险-高端人士医疗办理
服务项目:儿童医疗/子女教育金/养老保险/重大疾病/意外伤害/员工团险/公众责任
免费热线『上海』:13761630213, QQ:107242375, Email:victor.qin@qq.com
选择保险事业 为了爱,为了一份坚定的承诺!MSN:
上海地区请直接拨打本人电话,应约免费上门提供免费保险方案。
Baoxian.ws>>           旅行签证保险、上门办理>>        重大疾病网>>     上海重大疾病一览    
友情链接: 走在上海人寿保险的前端    和讯保险博客    上海投保在线    Shanghai Insurance    秦华的个人简历



顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
图文并茂 我的链接
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
上海高端医疗/住院医疗保险信息
上海保险规划师信息
上海子女教育理财保险信息
上海保险规划师信息
上海女性高端生育保险方案-等待期
上海保险规划师信息
上海三口之家家庭保障方案
上海保险规划师信息
上海女性特色重大疾病保险方案
上海保险规划师信息
上海女性白领理财保险方案
上海保险规划师信息
上海养老理财规划保险方案
上海保险规划师信息
通过网络取得初步咨询
  •    
上海办理-免费咨询送计划书
上海买保险
上海办理-申根签证 出国旅行保险
上海买保险
上海买保险,海外基金,买保险,友邦保险,中国人民健康保险,养老保险,儿童保险,儿童医疗,子女教育金,太平洋保险,医疗保险,工伤保险条例,中国人寿保险,保险公司,中国平安保险,医疗险,进口药,自费药,外籍人士医疗,泰康人寿,英国保诚集团,上海综合保险,国际医疗保险,上海医疗保险,上海社会保险,上海养老保险,上海市综合保险,上海平安保险,上海太平洋保险,和睦家医院,上海综合保险卡,买保险,高端医疗,重大疾病,意外伤害,定期寿险,家庭理财,友邦保险,金茂大厦,少儿互助基金,上海社保,太平洋集团,港安医院