TL-WR703 USB不稳定/当前的总结
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不稳定/当前的总结]所有用到的引用信息,向这些伟大的家伙致敬:
ath9k: add workaround for AR9331 USB host controller hang with USB1.1 Device
TL-WR703 USB不稳定/当前的总结的更多相关文章
- GD32F450 200M时USB不稳定
使用GD32F450的demo修改usb驱动,发现120M和168M时正常,200M时很不稳定.怀疑USB时钟分频有问题,一查果然是,记录如下: 200M是库函数主时钟分频代码如下 static vo ...
- 劳动节BT5 aircrack-ng战记
劳动节最后一天没事,想捣鼓一下BT5破解无线wep/wpa,BT5+virtual box早已准备就绪,上网专门找了一些资料,并买了一个据评测很兼容的usb网卡tp-link wn722n,芯片代号A ...
- USB Keyboard Recorder
catalogue . 引言 . Device Class Definition for Human Interface Devices (HID) . USB HID Report Descript ...
- usb cdc 协议
什么是CDC类 (Communication Device Class) USB的CDC类是USB通信设备类 (Communication Device Class)的简称.CDC类是USB组织定义的 ...
- Android项目实战(四十五):Usb转串口通讯(CH34xUARTDriver)
需求为:手机usb接口插入一个硬件,从硬件上获取数据 例如:手机usb插入硬件A,A通过蓝牙通讯获取设备a.b的数据,作为中转站(可以做些数据处理)将数据(设备a.b产生的)传给手机程序. 设备A也可 ...
- 目前调试移动设备程序只能通过USB线缆
就像iOS,转移(到设备上)并调试App不可能通过WiFi或蓝牙连接. 一个有线的USB线缆连接现今主要用来调试. 确保你直接将Android设备插入Mac的USB接口,避免使用USB hubs和扩展 ...
- 基于USB网卡适配器劫持DHCP Server嗅探Windows NTLM Hash密码
catalogue . DHCP.WPAD工作过程 . python Responder . USB host/client adapter(USB Armory): 包含DHCP Server . ...
- (转)支持 PS/2 与 USB 的键盘过滤驱动(可卸载)
Author: sinisterEmail: sinister@whitecell.orgHomepage:http://www.whitecell.org Date: 2007-02-2 ...
- 自制电脑usb红外遥控键盘
2010-08-08 19:20:00 看个ppt,还要一直按键盘或鼠标,能不能拿个遥控器控制一下. 动动脑,自己做一个吧. 电路分2部分,遥控器为发射部分,单片机为解码部分并且包含usb键盘功能. ...
随机推荐
- AutoCompleteTextView不能使用的问题
AutoCompleteTextView按照网络上的方法写之后不能使用 解决方法: android:layout_width="fill_parent" 而不能是wrap_pare ...
- ubuntu切换root
sudo passwd root这个命令是给root用户设定密码.然后su root切换到root用户.
- [转] C#操作Excel文件
来自 jbp74c37ad170 的文章EXCEL编程语句有那些啊 全面控制 Excel首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.Application ...
- cocos2dx+lua中cc.EventListenerMouse:create()的bug
今天在调试项目的时候用到了鼠标事件的监听 在创建事件监听器的时候出了问题 cc.EventListenerMouse:create() 这句返回值为nil 原来这是cocos2dx引擎的一个bug,t ...
- ylb:多表的连接与练习(第三方关联表的应用)
ylbtech-SQL Server:SQL Server-多表的连接与练习(第三方关联表的应用) SQL Server 多表的连接与练习(第三方关联表的应用). 1,多表的连接与练习(第三方关联表的 ...
- 读取Assets中的文件数据
try { // 返回的字节流 InputStream is = getResources().getAssets().open("info.txt"); // 当读取时,属于文本 ...
- 如何在Docker中部署DzzOffice
一.一些背景 之前研究Docker很久了,并且在公司内部实际使用起来了,目前分两种场景使用Docker 1.作为PAAS,提供一致,统一的编译/测试环境: 2.作为虚拟机,直接分配给新来的开发人员使用 ...
- _margin和margin的区别
_margin和margin的区别 _margin和margin的区别 Question: margin:15px 300px 0px 100px; height:72px; width:188px; ...
- WS之cxf处理的复杂类型(Map)
一.服务端: 1.创建接口: package cn.tdtk.ws.dao; import java.util.List;import java.util.Map; import javax.jws. ...
- windows下python的包管理器pip安装
pip: A tool for installing and managing Python packages. 要用到第三方包,python的版本就必须是2.7 https://pypi.pyth ...