http://see.sl088.com/wiki/WR703_USB%E4%B8%8D%E7%A8%B3%E5%AE%9A/%E5%BD%93%E5%89%8D%E7%9A%84%E6%80%BB%E7%BB%93

Openwrt论坛

lsoltero的总结[1]

just want to take a few minutes to sum up the facts... there is a lot of information here and for someone new to this it might be a bit overwhelming.
1. All AR9331 based routers suffer USB 1.1 to USB 2.0 interoperability problems.
2. when purchasing routers from a single vendor some routers fail immediately, some routers work perfectly, some routers work some of the time. For example, I have 11 alfa AP121U routers here 5 of them fail immediately 5 of them work perfectly and one of them works some of the time.
3. the problem is somehow related to WiFi. When you disable the WiFi the problem goes away.
4. The problem can be resolved in every single case by using a passive USB 2.0 hub
5. The problem only happens with USB bulk transfers. Isochronous transfers seem to be OK.
6. the problem is not a power supply issue
7. this is not related to the place of manufacture of the chipset (happens with both korean and taiwan made chips) or version.

sqounk的总结[2]

发生补丁后总结

Actually, the chip has a hardware bug where spurious RF emissions affect the USB PLL. Of course, they will not aknowledge it as a critical bug as they found a software workaround for it.
This workaround is using some undocumented registers, and even the datasheet is normally under NDA only, which makes it very difficult for open source initiatives like OpenWrt to catch up. We basically just lost 2 years because of information obfuscation wink

you have to tweak some USB PLL bits every time you change the WiFi (init, change, reset...).
The original macro appeared publicly in QCA's github, but the merit of applying it to OpenWrt goes to the Carambola2 developers!

早期总结

This may be the final word on this whole story regarding the AR9331's USB stability issue...
Following a conversation that took place between Elektra from the Village Telco and nbd from this forum, it appeared that the "AR9331 chip only implements EHCI, so the USB port is only 2.0 compliant".
The "USB 2.0" term used by Atheros (and other manufacturers too) is rather confusing, since there can be some "USB 2.0"-labeled devices which are in fact only using Full-Speed or even Low-Speed actual protocol. The "USB 2.0" sticker only says that they passed the corresponding version USB-IF compliance, but not at which speed...
At this light, I tried several configurations, and it looks like that the AR9331 only effectively implements EHCI only and not OHCI, so only High-Speed (480Mbps) devices are supported by the AR9331 chip.
So, to summarize, i strongly suspect that:
REAL USB 2.0 High-Speed 480 Mbps devices such as 3G modems or USB drives are supported by the AR9331
SO-CALLED USB2.0 or ACTUALLY USB 1.1 Full-Speed 12 Mbps such as almost all cdc-acm devices (including GSM/GPRS modems, FTDI chip-based devices, POTS modems, GPS devices, Arduino boards, etc.) appear to work but in fact feature the strange bugs we found and do not work reliably
SO-CALLED USB2.0 or ACTUALLY USB 1.1 Low-Speed 1.5 MBps such as mice, keyboards, joysticks and Software-based USB AVR implementations do not work at all
In order for such USB Full-Speed 12 Mbps or Low-Speed 1.5 MBps devices to work with the AR9331, you need to add a High-speed hub (active or passive, it doesn't matter, provided you respect the 100 mA w/o negotiation / 500 mA max current from the USB spec) in-between.
As it looks like it really is a low-level hardware limitation and not a software OHCI driver problem, in this case they seem to work (at least for days) without problem.

有趣

  • 这是avalon为什么要用一个hub的原因吧

引用信息

以下是[WR703 USB不稳定/当前的总结]所有用到的引用信息,向这些伟大的家伙致敬:
  1. ^ https://forum.openwrt.org/viewtopic.php?id=39956&p=5
  2. ^ https://forum.openwrt.org/viewtopic.php?id=39956&p=4
 
ar9331's usb stability issue - [SOLVED]
 
 
https://gitorious.org/openwrt-oxnas/openwrt-oxnas/commit/7ec2cd8a99eeceabe74405b117f66e71790f7560

ath9k: add workaround for AR9331 USB host controller hang with USB1.1 Device

TL-WR703 USB不稳定/当前的总结的更多相关文章

  1. GD32F450 200M时USB不稳定

    使用GD32F450的demo修改usb驱动,发现120M和168M时正常,200M时很不稳定.怀疑USB时钟分频有问题,一查果然是,记录如下: 200M是库函数主时钟分频代码如下 static vo ...

  2. 劳动节BT5 aircrack-ng战记

    劳动节最后一天没事,想捣鼓一下BT5破解无线wep/wpa,BT5+virtual box早已准备就绪,上网专门找了一些资料,并买了一个据评测很兼容的usb网卡tp-link wn722n,芯片代号A ...

  3. USB Keyboard Recorder

    catalogue . 引言 . Device Class Definition for Human Interface Devices (HID) . USB HID Report Descript ...

  4. usb cdc 协议

    什么是CDC类 (Communication Device Class) USB的CDC类是USB通信设备类 (Communication Device Class)的简称.CDC类是USB组织定义的 ...

  5. Android项目实战(四十五):Usb转串口通讯(CH34xUARTDriver)

    需求为:手机usb接口插入一个硬件,从硬件上获取数据 例如:手机usb插入硬件A,A通过蓝牙通讯获取设备a.b的数据,作为中转站(可以做些数据处理)将数据(设备a.b产生的)传给手机程序. 设备A也可 ...

  6. 目前调试移动设备程序只能通过USB线缆

    就像iOS,转移(到设备上)并调试App不可能通过WiFi或蓝牙连接. 一个有线的USB线缆连接现今主要用来调试. 确保你直接将Android设备插入Mac的USB接口,避免使用USB hubs和扩展 ...

  7. 基于USB网卡适配器劫持DHCP Server嗅探Windows NTLM Hash密码

    catalogue . DHCP.WPAD工作过程 . python Responder . USB host/client adapter(USB Armory): 包含DHCP Server . ...

  8. (转)支持 PS/2 与 USB 的键盘过滤驱动(可卸载)

    Author:  sinisterEmail:   sinister@whitecell.orgHomepage:http://www.whitecell.org Date:    2007-02-2 ...

  9. 自制电脑usb红外遥控键盘

    2010-08-08 19:20:00 看个ppt,还要一直按键盘或鼠标,能不能拿个遥控器控制一下. 动动脑,自己做一个吧. 电路分2部分,遥控器为发射部分,单片机为解码部分并且包含usb键盘功能. ...

随机推荐

  1. 嵌入式 hi3518平台增加路由代码

    <span style="font-family:Courier New;"> /********************************** (C) COPY ...

  2. WeifenLuo.WinFormsUI.Docking"的使用 z

    在伍华聪的博客中,看到布局控件"WeifenLuo.WinFormsUI.Docking",发现的确是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件. ...

  3. Android实现button一边圆角一边直角

    http://www.it165.net/pro/html/201503/36211.html

  4. 1、android源代码下载与跟踪

     学习Android源代码的目的 理解Android API查找API(Activity.Content Provider等) 高级应用开发(ROM定制)  在不同平台下载Android源代码 W ...

  5. Real Boxing 2

    http://itunes.apple.com/ca/app/real-boxing-2/id932779605?mt=8&ign-mpt=uo%3D4

  6. TV端产品设计法则和分析

    对TV端产品设计的分析太特么少了.翻遍网络,大多也是针对UI设计的分析,这篇从产品设计的角度,梳理下现有的TV端产品设计法则,顺道做点分析.(前方多图,高能预警) 目录: 1. TV端产品使用场景 2 ...

  7. 谈FTP服务器攻击技术及其展望 (下)

               上篇回顾:谈FTP服务器攻击技术及其展望 (上)http://chenguang.blog.51cto.com/350944/436876 本文出自 "李晨光原创技术博 ...

  8. jquery对象和js对象,以及它们的互相转换

    jq对象无法使用DOM对象的方法,互相都不能用 ***jq对象转换成DOM对象的2中方法 1.$('div')[0下标]:jq对象是类似数组对象有长度,所以可以通过下标查找到它的DOM对象 2.$(' ...

  9. Spark RDD概念学习系列之RDD的转换(十)

    RDD的转换 Spark会根据用户提交的计算逻辑中的RDD的转换和动作来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG.接下来以“Word Count”为例,详细描述这个DAG生成的 ...

  10. SurfaceView 和 TextureView

    1.区别 The followings are two limitations of SurfaceView: You can not be animated, transformed and sca ...