位置:- 正文

qq2440启动linux后插入u盘出现usb 1-1: device descriptor read/64, error -110,usb 1

编辑:rootadmin
这篇文章主要介绍了qq2440启动linux后插入u盘出现usb 1-1: device descriptor read/64, error -110,usb 1-1: device not accepting address 8, error -110的原因分析及解决方法,需要... 16-10-10

推荐整理分享qq2440启动linux后插入u盘出现usb 1-1: device descriptor read/64, error -110,usb 1,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

上位机:ubuntu14.04 64bit

下位机:qq2440

交叉编译器:arm-linux-gcc 3.4.1

下位机使用的linux内核版本:kernel2.6.13

1.插入u盘时错误信息如下:

qq2440启动linux后插入u盘出现usb 1-1: device descriptor read/64, error -110,usb 1

[root@FriendlyARM /home]# usb 1-1: new full speed USB device using s3c2410-ohci and address 6usb 1-1: device descriptor read/64, error -110usb 1-1: device descriptor read/64, error -110usb 1-1: new full speed USB device using s3c2410-ohci and address 7usb 1-1: device descriptor read/64, error -110usb 1-1: device descriptor read/64, error -110usb 1-1: new full speed USB device using s3c2410-ohci and address 8usb 1-1: device not accepting address 8, error -110usb 1-1: new full speed USB device using s3c2410-ohci and address 9usb 1-1: device not accepting address 9, error -110

2.解决方案如下:

2.1修改drivers/usb/host/ohci-s3c2410.c文件,添加以下内容:

  a.先添加头文件#include <mach/regs-clock.h>

  b.在s3c2410_start_hc函数中添加以下内容:

bash/shell Code复制内容到剪贴板unsignedlongupllvalue=(0x78<<12)|(0x02<<4)|(0x03); while(upllvalue!=__raw_readl(S3C2410_UPLLCON)){ __raw_writel(upllvalue,S3C2410_UPLLCON); mdelay(1); }

  添加后的s3c2410_start_hc函数如下:

bash/shell Code复制内容到剪贴板staticvoids3c2410_start_hc(structplatform_device*dev,structusb_hcd*hcd) { structs3c2410_hcd_info*info=dev->dev.platform_data; dev_dbg(&dev->dev,"s3c2410_start_hc:\n"); clk_enable(clk); if(info!=NULL){ info->hcd=hcd; info->report_oc=s3c2410_hcd_oc; if(info->enable_oc!=NULL){ (info->enable_oc)(info,1); } } unsignedlongupllvalue=(0x78<<12)|(0x02<<4)|(0x03); while(upllvalue!=__raw_readl(S3C2410_UPLLCON)){ __raw_writel(upllvalue,S3C2410_UPLLCON); mdelay(1); } }

  2.2总结:以上修改的函数功能是启动主机控制器,因为usb时钟设置有问题,因而在开启主机控制器时修改时钟,修改后的S3C2410_UPLLCON的值为0xF4100008;

3.注意:本版本内核没有头文件regs-clock.h,因而我从其他内核中复制过来的,命令如下:

jello@jello-Inspiron-N4050:~/Downloads/qq2440/linux/kernel-2.6.13$ cp /tftpboot/kernel-2.6.35.7/arch/arm/mach-s3c2410/include/mach/regs-clock.h ./

本文链接地址:https://www.jiuchutong.com/zhishi/283237.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/283238.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络