上位机:ubuntu14.04 64bit

下位机:qq2440

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

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

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

[root@FriendlyARM /home]# usb 1-1: new full speed USB device using s3c2410-ohci and address 6
usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 7
usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 8
usb 1-1: device not accepting address 8, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 9
usb 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函数中添加以下内容:

  unsigned long upllvalue = (0x78 << 12) | (0x02 << 4) | (0x03);
        while (upllvalue != __raw_readl(S3C2410_UPLLCON)) {
                __raw_writel(upllvalue, S3C2410_UPLLCON);
                mdelay(1);
        }

  添加后的s3c2410_start_hc函数如下:

  static void s3c2410_start_hc(struct platform_device *dev, struct usb_hcd *hcd)
{
        struct s3c2410_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);
                }
        }
        unsigned long upllvalue = (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 ./

  

qq2440启动linux后插入u盘出现usb 1-1: device descriptor read/64, error -110,usb 1-1: device not accepting address 8, error -110的更多相关文章

  1. qq2440启动linux后出现错误提示request_module: runaway loop modprobe binfmt-464c

    1.情景: 编译busybox时加了make CROSS_COMPILE=arm-linux-,但是还是出现了此情况! 2.解决方案如下: 配置busybox时,在配置中发现busybox setti ...

  2. linux下插入U盘自动挂载后,用C获取其挂载点(cat /proc/mounts)

    现在已经能够通过libudev获取U盘插入时它的节点名(通过函数udev_device_get_devnode()),是/dev/sdb1 我现在的做法是读取/proc/mounts文件,找到有/de ...

  3. 为什么在启动linux后进入终端提示sh-3.2#

    这是Linux系统环境变量设置问题,用户登陆后确保是root权限,可以用如下这两条命令解决:-bash-3.2# cp /etc/skel/.{bash_profile,bashrc} ~-bash- ...

  4. Linux学习笔记 | 常见错误之VMware启动linux后一直黑屏

    方法1: 宿主机(windows)管理员模式运行cmd 输入netsh winsock reset 然后重启电脑 netsh winsock reset命令,作用是重置 Winsock 目录.如果一台 ...

  5. eclipse运行没问题,tomcat以脚本启动后插入数据库的中文会乱码

    记一次部署工程的时候遇到的问题 部署war包到win7的时候发现,布上去后插入数据库的中文会乱码,然后发现用eclipse运行源码没问题,一开始以为是war打出来的时候编码错误,然后将eclipse的 ...

  6. 雨后清风U盘启动盘的五大用处及制作方法

    如果有一个U盘可以帮助你安装系统,或者在你的电脑系统崩溃时帮助你修复系统,是不是很方便呢?雨后清风U盘启动盘就能帮你实现这样的效果.除此之外,雨后清风U盘启动盘还有另外一些用处.下面就来和大家分享一下 ...

  7. (转载)5分钟安装Linux系统到U盘

    一.工具 使用 LinuxLive USB Creator 下载地址:http://xz2.cr173.com//soft/LinuxLiveusb.zip 二.操作步骤 1.下载linux系统镜像, ...

  8. 安装Linux系统到u盘

    第一步:首先插入u盘到电脑主机usb接口处(建议插入到主机箱后置的usb接口).然后打开UltraISO软件,再打开选择须要写入u盘的Ubuntu 10.04或者其它版本号的Linux系统的iso镜像 ...

  9. Linux 安装之U盘引导

    说到装系统最简单的方法无非就是找个系统安装光盘来然后就一步一步慢慢的安装.简单是简单但好似大多数人好像都木有Linux的安装光盘. 因此仅仅能用U盘来模拟光盘的功能来装系统咯. 电脑上装有Window ...

随机推荐

  1. 利用session完成用户登陆

    package cn.itcast.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.L ...

  2. EL表达式Expression Language

    表达式语言Expression Language目的:简化jsp代码 EL内置对象 1.pageContext2.pageScope3.requestScope4.sessionScope5.appl ...

  3. mysql分区

    <?php /* 分区 目录 18.1. MySQL中的分区概述 18.2. 分区类型 18.2.1. RANGE分区 18.2.2. LIST分区 18.2.3. HASH分区 18.2.4. ...

  4. 1920.154s 0.309s 30817

    MyISAM HASH  restart-buffer ; ; ; SELECT * FROM grab_sales_rank_month; ; 受影响的行: 时间: .002s [SQL] ; 受影 ...

  5. Error Domain=NSOSStatusErrorDomain Code=1718449215 "The operation couldn’t be completed. (OSStatus error 1718449215.)"

    是在录音时,recoreder的录音格式不对.

  6. SQL2008 SQL2012 远程连接配置方法

    第一步: SQL2008(或2012): 打开SQL Server Management Studio-->在左边[对象资源管理器]中选择第一项(主数据库引擎)-->右键-->方面- ...

  7. zabbix自动发现监控url

    1.在监控客户机上 web_site_code_status.sh: #!/bin/bash UrlFile="/opt/scripts/WEB.txt" IFS=$'\n' we ...

  8. 去bom头

    function rewrite ($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LO ...

  9. SVD奇异值分解

    奇异值分解 备忘:Eigen类库可能会和其他库产生冲突,将Eigen类库的头文件引用放到前面解决了.

  10. codis配置

    codis集群配置 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表) ...