Advertisement

解决USB错误 USB 1-1: 设备描述符读取/64 错误-62

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:DOC


简介:
本教程提供了解决USB设备连接时遇到的“设备描述符读取”错误(代码-62)的具体步骤,帮助用户顺利识别并修复问题。 彻底解决USB错误:`usb 1-1: device descriptor read64, error -62` ### 问题概述 本段落详细分析并提供了解决一个常见于Linux系统中的USB错误——“device descriptor read64, error -62”的方法,该错误通常出现在使用s3c2410或s3c6410芯片组的设备上。此错误表明在读取USB设备描述符时发生了超时问题,并显示为-62(ETIMEOUT)。 ### 错误解析 根据提供的日志信息,在插入USB设备后,系统会报告以下错误: ``` usb 1-1: device descriptor read64, error -62 ``` 此错误代码表示定时器过期。具体而言,这意味着在规定的总线周转时间内未接收到响应包。依据Linux内核文档中的解释,这种类型的超时问题可能被报告为-EPROTO或-EILSEQ。 ### 解决方案 要解决这个问题,我们需要深入分析内核源码,并对相关驱动进行调整。以下是逐步解决问题的方法: #### 分析代码 首先定位到关键文件路径: - **目录**: `kernel26_hdriversusbhostohci-s3c2410.c` 接下来关注的是`ohci-s3c2410.c`中的`s3c2410_start_hc`函数。此函数的主要作用是在初始化前确保USB寄存器得到适当的高频率设置,之后恢复为标准的48MHz频率。 ```c static void s3c2410_start_hc(struct platform_device *dev, struct usb_hcd *hcd) { struct s3c2410_hcd_info *info = dev->dev.platform_data; unsigned long upll_value = (0x38 << 12) | (0x02 << 4) | (0x01); unsigned long upll_value1 = (0x38 << 12) | (0x02 << 4) | (0x02); dev_dbg(&dev->dev, s3c2410_start_hc:n); __raw_writel(upll_value, S3C2410_UPLLCON); mdelay(20); __raw_writel(upll_value1, S3C2410_UPLLCON); mdelay(20); clk_enable(clk); mdelay(10); if (info != NULL) { info->hcd = hcd; info->report_oc = s3c2410_hcd_oc; if (info->enable_oc != NULL) { (info->enable_oc)(info, 1); } } } ``` #### 修改建议 根据上述分析,可以推测问题可能出在USB主机时钟(48MHz)未能正确启动。因此可以通过以下方式尝试修复: 1. **检查时钟配置**: - 确保初始化之前设置了正确的时钟频率。 - 使用`__raw_writel`函数设置`S3C2410_UPLLCON`寄存器值。 2. **延时优化**: - 在更改时钟配置后增加适当的延时(`mdelay`),以确保时钟稳定后再继续执行后续操作。 3. **复审其他初始化步骤**: - 确认调用了正确的函数来启用时钟。 - 检查端口配置等是否正确完成。 ### 实施修改 根据上述分析,在`s3c2410_start_hc`函数中添加额外的日志记录,以便更好地理解问题。例如,可以增加每个关键步骤的状态日志,并确认时钟启用状态。 此外,还可以尝试延长延时时间以确保在继续执行其他操作前时钟已经稳定下来。比如将延时从20毫秒调整到50毫秒或更长。 ### 测试验证 完成上述修改后重新编译内核并在目标设备上测试USB功能。如果一切正常,错误-62应该不再出现,并且USB设备可以正常使用。 ### 总结 本段落详细分析了Linux系统中“usb 1-1: device descriptor read64, error -62”错误的原因及解决方案,通过仔细检查并修改相关内核驱动代码能够有效解决此类问题。这将有助于提高系统的稳定性和兼容性。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • USB USB 1-1: /64 -62
    优质
    本教程提供了解决USB设备连接时遇到的“设备描述符读取”错误(代码-62)的具体步骤,帮助用户顺利识别并修复问题。 彻底解决USB错误:`usb 1-1: device descriptor read64, error -62` ### 问题概述 本段落详细分析并提供了解决一个常见于Linux系统中的USB错误——“device descriptor read64, error -62”的方法,该错误通常出现在使用s3c2410或s3c6410芯片组的设备上。此错误表明在读取USB设备描述符时发生了超时问题,并显示为-62(ETIMEOUT)。 ### 错误解析 根据提供的日志信息,在插入USB设备后,系统会报告以下错误: ``` usb 1-1: device descriptor read64, error -62 ``` 此错误代码表示定时器过期。具体而言,这意味着在规定的总线周转时间内未接收到响应包。依据Linux内核文档中的解释,这种类型的超时问题可能被报告为-EPROTO或-EILSEQ。 ### 解决方案 要解决这个问题,我们需要深入分析内核源码,并对相关驱动进行调整。以下是逐步解决问题的方法: #### 分析代码 首先定位到关键文件路径: - **目录**: `kernel26_hdriversusbhostohci-s3c2410.c` 接下来关注的是`ohci-s3c2410.c`中的`s3c2410_start_hc`函数。此函数的主要作用是在初始化前确保USB寄存器得到适当的高频率设置,之后恢复为标准的48MHz频率。 ```c static void s3c2410_start_hc(struct platform_device *dev, struct usb_hcd *hcd) { struct s3c2410_hcd_info *info = dev->dev.platform_data; unsigned long upll_value = (0x38 << 12) | (0x02 << 4) | (0x01); unsigned long upll_value1 = (0x38 << 12) | (0x02 << 4) | (0x02); dev_dbg(&dev->dev, s3c2410_start_hc:n); __raw_writel(upll_value, S3C2410_UPLLCON); mdelay(20); __raw_writel(upll_value1, S3C2410_UPLLCON); mdelay(20); clk_enable(clk); mdelay(10); if (info != NULL) { info->hcd = hcd; info->report_oc = s3c2410_hcd_oc; if (info->enable_oc != NULL) { (info->enable_oc)(info, 1); } } } ``` #### 修改建议 根据上述分析,可以推测问题可能出在USB主机时钟(48MHz)未能正确启动。因此可以通过以下方式尝试修复: 1. **检查时钟配置**: - 确保初始化之前设置了正确的时钟频率。 - 使用`__raw_writel`函数设置`S3C2410_UPLLCON`寄存器值。 2. **延时优化**: - 在更改时钟配置后增加适当的延时(`mdelay`),以确保时钟稳定后再继续执行后续操作。 3. **复审其他初始化步骤**: - 确认调用了正确的函数来启用时钟。 - 检查端口配置等是否正确完成。 ### 实施修改 根据上述分析,在`s3c2410_start_hc`函数中添加额外的日志记录,以便更好地理解问题。例如,可以增加每个关键步骤的状态日志,并确认时钟启用状态。 此外,还可以尝试延长延时时间以确保在继续执行其他操作前时钟已经稳定下来。比如将延时从20毫秒调整到50毫秒或更长。 ### 测试验证 完成上述修改后重新编译内核并在目标设备上测试USB功能。如果一切正常,错误-62应该不再出现,并且USB设备可以正常使用。 ### 总结 本段落详细分析了Linux系统中“usb 1-1: device descriptor read64, error -62”错误的原因及解决方案,通过仔细检查并修改相关内核驱动代码能够有效解决此类问题。这将有助于提高系统的稳定性和兼容性。
  • 完全修复USB-device descriptor read/64, -62
    优质
    简介:本指南提供解决USB设备连接电脑时出现“Device Descriptor Read/64, Error -62”的故障方法,包括硬件检查、驱动程序更新及系统设置调整等步骤。 要彻底解决USB错误,在插入USB设备后会报如下错误: ``` / # usb 1-1: new full speed USB device using s3c2410-ohci and address 2 usb 1-1: device descriptor read/64, error -62 usb 1-1: device descriptor read/64, error -62 usb 1-1: new full speed USB device using s3c2410-ohci and address 3 usb 1-1: device descriptor read/64, error -62 usb 1-1: device descriptor read/64, error -62 usb 1-1: new full speed USB device using s3c2410-ohci and address 4 usb 1-1: device not accepting address 4, error -62 usb 1-1: new full speed USB device using s3c2410-ohci and address 5 usb 1-1: device not accepting address 5, error -62 hub 1-0:1.0: unable to enumerate USB device on port 1 ``` 以上是错误信息的具体内容,需要根据此信息来排查和解决USB设备连接问题。
  • Android Linux开发中USB-device descriptor read/64, error -62办法总结
    优质
    本文档总结了在Android Linux环境下遇到的USB设备描述符读取错误(-62)问题,并提供详细的解决方案。 本段落讨论了在Android Linux开发过程中遇到的USB错误问题,特别是“device descriptor read/64, error -62”的解决方法。作者通过分析内核代码发现,该错误是由于USB Host Controller Driver(OHCI)在启动时无法正确初始化硬件导致的。为了解决这个问题,作者提出了一种修改OHCI驱动代码的方法:将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; //====== unsigned long upllvalue = (0x3的代码。这种方法已经被证明可以有效地解决上述USB错误问题。
  • GTA5err_no_launcher
    优质
    《GTA5解决错误err_no_launcher》:本文提供了解决《侠盗猎车手5》游戏运行时遇到“err_no_launcher”错误的方法。包括检查游戏文件完整性,更新Rockstar Games Launcher以及重新安装游戏等步骤。帮助玩家顺利进行游戏体验。 需要先安装破解补丁,并将Launcher.cmd文件放置到游戏的根目录与launcher.exe一起。通过以管理员权限运行Launcher.cmd来启动游戏。
  • Override
    优质
    本教程详细介绍了如何在编程过程中解决Override错误的方法和技巧,帮助开发者理解并修正相关问题。适合各水平程序员参考学习。 在使用Eclipse进行开发时有时会遇到Override错误,这个问题现在已经解决了,你可以下载试一试。
  • PL2303 USB转串口驱动修复运行时8020: COMM失败问题
    优质
    本文提供了解决USB转串口设备PL2303在使用过程中出现“运行时错误8020: 读取COMM设备失败”的方法,包括更新驱动程序和检查硬件连接。 安装USB转串口驱动(如PL2303)在Windows 7 64位旗舰版系统上可能会遇到问题。尽管驱动程序可能已经成功安装,但在使用过程中仍可能出现“运行时错误8020:读取通信设备失败”的提示,并导致程序闪退。 解决该问题的方法包括检查USB转串口适配器是否正确连接、尝试更新或重新安装驱动程序以确保其兼容性和最新性。此外,确认操作系统中已开启所有必要的服务和权限设置也可能有助于解决问题。
  • List索引超出范围(-1)的方法
    优质
    本文介绍了如何处理Python中List索引超出范围(-1)的异常情况,并提供了预防和修复此问题的有效策略。 解决办件运行过程中出现的List index out of bounds错误。
  • Python-Latin1-UTF8: 的Latin-1转为UTF-8
    优质
    本教程详细讲解了如何将含有错误的Latin-1编码字符正确转换为UTF-8编码,帮助开发者解决编码问题。 `python-latin1-to-utf8` 是一个用于将错误的 Latin-1 编码字符转换为 UTF-8 字符的工具。它对编码问题提供了全面描述和解释。使用示例:$ python latin1-to-utf8.py Automática> 输出结果为 Automática。
  • SQUASHFS问题
    优质
    本文档旨在提供关于如何诊断和修复Squashfs文件系统常见错误的详细指南。通过具体步骤帮助用户解决问题,确保数据完整性和系统稳定性。 QUASHFS错误:sb_bread读取块失败通常是由于文件系统不完整导致的。