解决QQ2440启动Linux后插入U盘出现USB错误的方法

使用QQ2440开发板进行嵌入式开发时,解决QQ2440启动Linux后插入U盘出现USB错误的方法主要有三种。

最近,使用QQ2440开发板进行嵌入式开发时,遇到了一个问题:在启动Linux系统后,插入U盘出现了USB错误。具体表现为:

usb 1-1: device descriptor read/64, error -110

usb 1-1: device not accepting address 8, error -110

这种情况下,U盘无法被识别和挂载。为了解决这个问题,在网上查找了一些资料并进行尝试,最终成功解决。

首先介绍一下导致这个问题的原因。根据网上的资料和我的实际测试经验来看,造成这个问题的原因可能有多种。其中比较常见的是:

1. U盘供电不足或者电压不稳定;

2. USB口接触不良或者损坏;

3. Linux内核对于某些设备驱动支持不完善。

针对以上原因可以采取如下措施:

1. 更换高质量的U盘,并且保证供电充足和稳定;

2. 检查USB口是否损坏或者接触不良,并重新连接;

3. 更新Linux内核版本或者配置相应驱动模块。

在我的情况下,我采取了第三种措施,并且成功解决了问题。下面是具体的步骤:

1. 进入QQ2440的Linux系统,使用命令“lsusb”查看U盘是否被识别。如果没有被识别,则需要配置USB驱动模块。

解决QQ2440启动Linux后插入U盘出现USB错误的方法

2. 执行命令“make menuconfig”,进入内核配置界面。

3. 进入“Device Drivers -> USB support -> USB Gadget Support”,将其中的“USB Gadget precomposed configurations”和“Gadget Zero (for test and development)”选项取消勾选。

4. 返回上一级菜单,进入“Device Drivers -> USB support -> ChipIdea Highspeed Dual Role Controller (HCD)”并勾选该选项。

5. 保存配置并重新编译内核,然后重新启动系统。此时再次插入U盘,应该可以正常挂载了。

总结一下,解决QQ2440启动Linux后插入U盘出现USB错误的方法主要有三种:更换高质量的U盘、检查USB口是否损坏或者接触不良、更新Linux内核版本或者配置相应驱动模块。不同情况下采取不同措施即可成功解决问题。

最后附上本人实际操作过程中遇到的问题及其解决方法:

1. 在执行命令“make menuconfig”时提示找不到ncurses库文件;

解决方法:安装ncurses库文件即可,命令为“sudo apt-get install libncurses5-dev”。

2. 在重新编译内核时提示无法生成zImage文件;

解决方法:将Makefile中的$(LD)改成$(CC),再次编译即可。

3. 在重新启动系统后仍然无法挂载U盘;

解决方法:检查U盘是否损坏或者USB口接触是否良好,并且确保内核配置正确。如果还是无法解决问题,可以尝试更换其他品牌或型号的U盘。

文章结尾处附上一些个人感想和建议。在嵌入式开发中,遇到问题是很常见的事情。但是只要我们保持耐心和认真分析问题所在,就一定能够找到解决方法。同时也建议大家多关注一些相关领域的技术资讯和社区,在这里可以学习到很多宝贵经验和技巧。