DesignWare USB OTG dwc_otg issues with high-speed hubs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm using an RT3052F device (DIR-620 SOHO wifi router) with current
OpenWrt trunk and its USB port is handled by the dwc_otg driver. The
source is available from their repository:
https://dev.openwrt.org/browser/trunk/target/linux/ramips/files/drivers/usb/dwc_otg

The problem appears when i connect a meteo-station (which is a
low-speed HID device) to the router via a high-speed hub (which i need
to connect additional USB mass storage). Basically, everything works
fine for a while (~15 minutes) but then the communication is fully
disrupted and even physically unplugging or plugging the devices has
no visible effect in dmesg.

I've tested several different high-speed hubs, with any of them i
observed the same symptoms. Full-speed hubs do not work at all (a
connected device can not be even enumerated).

I've not tried forcing full-speed mode for dwc_otg by hacking the
sources directly, so no experimental data about it available yet.

So apparently not only Bulk endpoints are affected and there're still
some rather nasty bugs to fix. Unfortunately, i have no idea
whatsoever what i can do to help here.

For your reference here's the meteo station connected via a high-speed
hub:

root@OpenWrt:~# cat /proc/bus/usb/devices 

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 3.03
S:  Manufacturer=Linux 3.3.8 dwc_otg
S:  Product=DWC OTG Controller
S:  SerialNumber=dwc_otg.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 4
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=058f ProdID=6254 Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  3 Spd=1.5  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0fde ProdID=ca01 Rev= 3.02
S:  Product=Universal Bridge
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=1ms

-- 
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercerpav@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux