e)start USB...
USB: CLK_SRC = 7e00f01c, CLK_DIV1 = 7e00f024,SCLK_GATE = 7e00f038
scanning bus for devices... usb_scan_device :USB_MAX_DEVICE IS 32
New Device 0
usb_control_msg: request: 0x6, requesttype: 0x80
value 0x100 index 0x0 length 0x8
descriptor.bMaxPacketSize0 is 8
set address dev->devnum = 1
usb_control_msg: request: 0x5, requesttype: 0x0
value 0x1 index 0x0 length 0x0
usb_control_msg: request: 0x6, requesttype: 0x80
value 0x100 index 0x0 length 0x12
usb_control_msg: request: 0x6, requesttype: 0x80
value 0x200 index 0x0 length 0x8
usb_control_msg: request: 0x6, requesttype: 0x80
value 0x200 index 0x0 length 0x19
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 2
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0
value 0x1 index 0x0 length 0x0
new device strings: Mfr=0, Product=1, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80
value 0x300 index 0x0 length 0xFF
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80
value 0x301 index 0x409 length 0xFF
Manufacturer
Product OHCI Root Hub
SerialNumber
usb_control_msg: request: 0x6, requesttype: 0xA0
value 0x2900 index 0x0 length 0x4
usb_control_msg: request: 0x6, requesttype: 0xA0
value 0x2900 index 0x0 length 0x9
usb_control_msg: request: 0x0, requesttype: 0xA0
value 0x0 index 0x0 length 0x4
1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
#usb info 时输出:
USB_MAX_DEVICE IS 32
1: Hub, USB Revision 1.10
- OHCI Root Hub
- Class: Hub
- PacketSize: 8 Configurations: 1
- Vendor: 0x0000 Product 0x0000 Version 0.0
Configuration: 1
- Interfaces: 1 Self Powered 0mA
Interface: 0
- Alternate Setting 0, Endpoints: 1
- Class Hub
- Endpoint 1 In Interrupt MaxPacket 2 Interval 255ms
求教这是怎么回事啊??
27 个解决方案
#1
谁能给点思路,谢谢啦!
#2
无论插不插U盘打印的信息都是一样的!
#3
怎么没人回答啊?难道帖子要沉了!
#4
USB分析仪,或者其它仪器,先验证一下USB上电了没有,数据线上到底有没有数据。
#5
在uboot下插入u盘,u盘上的指示灯不亮,但在有文件系统的情况下插入u盘,u盘上的指示灯就亮,估计不是硬件的问题,以前没弄过,现在完全没有思路,都不知道哪里错了,关键是连错误输出都没有,一切正常,就是扫描不到u盘!!
#6
没人知道吗,第一次发帖难道就这样的沉了o(>﹏<)o
#7
帮忙顶下~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~别沉了~~~~~~~~~~~~~~~~~~
#8
沉啦,就这么沉啦!!
#9
禁用DCache和MMU,把延时加大一点。
#10
U盘也是一种文件系统, 根据你的描述, 在文件系统挂载后,U盘可以识别(灯亮), 那就是你初始化U盘的时候,文件系统还没初始化啊! 你把初始化检测U盘的代码,移到挂载文件系统之后,是不是就好了呢?
#11
USB设备在检测阶段和文件系统没有关系。
#12
还没到这里
#13
还没有到那里呢,现在是检测usb的阶段
#14
这么做貌似可以解决一些问题,但这么做的原理是什么啊?能说说嘛,谢谢,本人比较菜,刚转行做这个不到1年,请赐教0.0
#15
你的USB驱动是HOST驱动还是device驱动呀?要host驱动才能检测U盘插入,才能给u盘供电。应该跟DCASH和MMU没有关系,也和延时没有关系的。USB驱动是要host先发起通讯,device回应。
#16
是host 驱动现在的情况是
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
ERROR: CTL:TIMEOUT
DEBUG: submit_common_msg: TO status ff
DEBUG: roothub.a: 02001202 POTPGT=2 NOCP NPS NDP=2
DEBUG: roothub.b: 00000000 PPCM=0000 DR=0000
DEBUG: roothub.status: 00000000
DEBUG: roothub.portstatus [0] = 0x00000103 PPS PES CCS
DEBUG: roothub.portstatus [1] = 0x00000100 PPS
MY: we will join in the rh_check_port_status()
MY: dev->status = 80000000
DEBUG: RET(ctlr) URB:[ 0] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x20
MY: we will join in the urb_free_priv()
dev->status == 32
USB device not responding, giving up (status=20)
hub: disabling port
......................
......................
DEBUG: RET(rh) URB:[ 0] dev: 1,ep: 0-I,type:CTRL,len:4/4 stat:0x0
usb_ohci.c: cmd(8): a3 00 00 00 02 00 04 00
usb_ohci.c: data(4/4): 00 01 00 00
Port 2 Status 100 Change 0
2 USB Device(s) found
#17
不好意思,这个回复写错了,当我禁用MMU之后我根本就无法启动板子了,uboot不好使了,怎么回事?求指教~~ :我怎么连我自己发的帖子都没有权限删除,有没有搞错啊!!
#18
USB device not responding, giving up (status=20)
这样看来还是U盘没有响应。从你之前的描述来看,硬件上是OK的,重点查驱动吧。
这里status代表什么意思?
这样看来还是U盘没有响应。从你之前的描述来看,硬件上是OK的,重点查驱动吧。
这里status代表什么意思?
#19
第一个是是usb_ohci.c文件中sub_comm_msg(struct usb_device *dev,...)中的在usb_def.h中查找是USB_ST_NOT_PROC 0X8000000 //not yet process 不知道是什么意思,也没找到是在哪里赋的值
第二个status 是usb.c文件下usb_control_msg()中的,它是在submit_control_msg(struct usb_device *dev,..)中给的值,这个值是其实就是DEBUG: RET(ctlr) URB:[ 0] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x20
中stat的值,只不过它是十进制的,
if(dev->status == 0)
return dev->act_len;
else{
return -1;
}
很显然此地方返回的是-1,所以下面错了。
现在怀疑是timeout = rh_check_port_status(&gohci);里某部分出错了,导致出现超时错误。
我是把S3C2410上的usb_ohci.c往s3c6410上移植呢,由于是第一次弄,不知道改哪里,请多指教~~
#20
看我给你的私信。Q26451602交流一下。
#21
忘了告诉你禁用MMU以后就不存在虚拟地址了,U-BOOT的内存地址要改成物理地址。
#22
#23
谢啦,这个我知道了,现在该改的也都改了,别人也都这么改的用着就好使,我的怎么还错误呢
DEBUG: SUB URB:[ 32b] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
DEBUG: SUB URB:[ 32e] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
DEBUG:
DEBUG: USB-error/status: 5 : 57e44aa0
DEBUG: ConditionCode 0x5
DEBUG: RET(ctlr) URB:[ 334] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x20
dev->status == 32
USB device not responding, giving up (status=20)
hub: disabling port 1
my define ....usb_clear_port_feature()
INFO: submit_control_msg
DEBUG: SUB URB:[ 33f] dev: 1,ep: 0-O,type:CTRL,len:0/0 stat:0x80000000
usb_ohci.c: cmd(8): 23 01 01 00 01 00 00 00
不知道什么原因,求助。。。。。
#24
我想问一下,s3c6410平台下的uboot usb 到底好不好使,有没有移植成功的啊??
#25
请问 lz移植成功没呢? 我也遇到这个问题了。错误在DEBUG: hc_interrupt: returning.. 。然后就time out 。请问你怎么解决这个问题的呢
#26
进展怎么样,我也开始在调试了,现象和楼主一致,请问楼主进展如何。
haidao2009呢,一起探讨一下、QQ,121313380
haidao2009呢,一起探讨一下、QQ,121313380
#27
也遇到相同的问题,device能识别一个,storage device识别不了。问一下楼主问题解决没?
#1
谁能给点思路,谢谢啦!
#2
无论插不插U盘打印的信息都是一样的!
#3
怎么没人回答啊?难道帖子要沉了!
#4
USB分析仪,或者其它仪器,先验证一下USB上电了没有,数据线上到底有没有数据。
#5
在uboot下插入u盘,u盘上的指示灯不亮,但在有文件系统的情况下插入u盘,u盘上的指示灯就亮,估计不是硬件的问题,以前没弄过,现在完全没有思路,都不知道哪里错了,关键是连错误输出都没有,一切正常,就是扫描不到u盘!!
#6
没人知道吗,第一次发帖难道就这样的沉了o(>﹏<)o
#7
帮忙顶下~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~别沉了~~~~~~~~~~~~~~~~~~
#8
沉啦,就这么沉啦!!
#9
禁用DCache和MMU,把延时加大一点。
#10
U盘也是一种文件系统, 根据你的描述, 在文件系统挂载后,U盘可以识别(灯亮), 那就是你初始化U盘的时候,文件系统还没初始化啊! 你把初始化检测U盘的代码,移到挂载文件系统之后,是不是就好了呢?
#11
USB设备在检测阶段和文件系统没有关系。
#12
还没到这里
#13
还没有到那里呢,现在是检测usb的阶段
#14
这么做貌似可以解决一些问题,但这么做的原理是什么啊?能说说嘛,谢谢,本人比较菜,刚转行做这个不到1年,请赐教0.0
#15
你的USB驱动是HOST驱动还是device驱动呀?要host驱动才能检测U盘插入,才能给u盘供电。应该跟DCASH和MMU没有关系,也和延时没有关系的。USB驱动是要host先发起通讯,device回应。
#16
是host 驱动现在的情况是
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
MY: we will join in the hc_interrupt()
stat = 000000ff
ERROR: CTL:TIMEOUT
DEBUG: submit_common_msg: TO status ff
DEBUG: roothub.a: 02001202 POTPGT=2 NOCP NPS NDP=2
DEBUG: roothub.b: 00000000 PPCM=0000 DR=0000
DEBUG: roothub.status: 00000000
DEBUG: roothub.portstatus [0] = 0x00000103 PPS PES CCS
DEBUG: roothub.portstatus [1] = 0x00000100 PPS
MY: we will join in the rh_check_port_status()
MY: dev->status = 80000000
DEBUG: RET(ctlr) URB:[ 0] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x20
MY: we will join in the urb_free_priv()
dev->status == 32
USB device not responding, giving up (status=20)
hub: disabling port
......................
......................
DEBUG: RET(rh) URB:[ 0] dev: 1,ep: 0-I,type:CTRL,len:4/4 stat:0x0
usb_ohci.c: cmd(8): a3 00 00 00 02 00 04 00
usb_ohci.c: data(4/4): 00 01 00 00
Port 2 Status 100 Change 0
2 USB Device(s) found
#17
不好意思,这个回复写错了,当我禁用MMU之后我根本就无法启动板子了,uboot不好使了,怎么回事?求指教~~ :我怎么连我自己发的帖子都没有权限删除,有没有搞错啊!!
#18
USB device not responding, giving up (status=20)
这样看来还是U盘没有响应。从你之前的描述来看,硬件上是OK的,重点查驱动吧。
这里status代表什么意思?
这样看来还是U盘没有响应。从你之前的描述来看,硬件上是OK的,重点查驱动吧。
这里status代表什么意思?
#19
第一个是是usb_ohci.c文件中sub_comm_msg(struct usb_device *dev,...)中的在usb_def.h中查找是USB_ST_NOT_PROC 0X8000000 //not yet process 不知道是什么意思,也没找到是在哪里赋的值
第二个status 是usb.c文件下usb_control_msg()中的,它是在submit_control_msg(struct usb_device *dev,..)中给的值,这个值是其实就是DEBUG: RET(ctlr) URB:[ 0] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x20
中stat的值,只不过它是十进制的,
if(dev->status == 0)
return dev->act_len;
else{
return -1;
}
很显然此地方返回的是-1,所以下面错了。
现在怀疑是timeout = rh_check_port_status(&gohci);里某部分出错了,导致出现超时错误。
我是把S3C2410上的usb_ohci.c往s3c6410上移植呢,由于是第一次弄,不知道改哪里,请多指教~~
#20
看我给你的私信。Q26451602交流一下。
#21
忘了告诉你禁用MMU以后就不存在虚拟地址了,U-BOOT的内存地址要改成物理地址。
#22
#23
谢啦,这个我知道了,现在该改的也都改了,别人也都这么改的用着就好使,我的怎么还错误呢
DEBUG: SUB URB:[ 32b] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
DEBUG: SUB URB:[ 32e] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x80000000
DEBUG:
DEBUG: USB-error/status: 5 : 57e44aa0
DEBUG: ConditionCode 0x5
DEBUG: RET(ctlr) URB:[ 334] dev: 0,ep: 0-I,type:CTRL,len:0/8 stat:0x20
dev->status == 32
USB device not responding, giving up (status=20)
hub: disabling port 1
my define ....usb_clear_port_feature()
INFO: submit_control_msg
DEBUG: SUB URB:[ 33f] dev: 1,ep: 0-O,type:CTRL,len:0/0 stat:0x80000000
usb_ohci.c: cmd(8): 23 01 01 00 01 00 00 00
不知道什么原因,求助。。。。。
#24
我想问一下,s3c6410平台下的uboot usb 到底好不好使,有没有移植成功的啊??
#25
请问 lz移植成功没呢? 我也遇到这个问题了。错误在DEBUG: hc_interrupt: returning.. 。然后就time out 。请问你怎么解决这个问题的呢
#26
进展怎么样,我也开始在调试了,现象和楼主一致,请问楼主进展如何。
haidao2009呢,一起探讨一下、QQ,121313380
haidao2009呢,一起探讨一下、QQ,121313380
#27
也遇到相同的问题,device能识别一个,storage device识别不了。问一下楼主问题解决没?