Re: ar9331's usb stability issue - [SOLVED]

Hello All,

so i just received two more TP-MR3040 and loaded AA on them.  And... the very first one out of the box suffers the USB issues that the AR9331 based systems are seeing.

So the hardware TP-Link hardware has the same issues as the Alfa Hornet.

As stated previously TP-Link must have a software driver fix for this or their 3G routes would not work.  The question is... is there anyone in the community that is familiar enough with the USB driver code to be able to port the fix from the TP link sources to OpenWRT.

I would be really nice to come to resolution on this issue especially since it seems to be manufacturer independent.

--luis

Re: ar9331's usb stability issue - [SOLVED]

@luis: What would be interesting is to make sure that the stock TP-LINK firmware does actually work on a router that has the problem... Is it possible for you to check that?

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

its going to take a bit to do this.  I have to get my verizon dongle back from one of our developers so that I can test data through the dongle. 

--luis

29 (edited by Squonk 2012-11-04 00:26:20)

Re: ar9331's usb stability issue - [SOLVED]

On my side, I compared the TP-LINK mips-linux-2.6.31 kernel sources to the corresponding vanilla kernel.org linux-2.6.31 sources using the wonderful "meld" compare utility under Ubuntu.

I tried that instead of comparing to the linux-3.3.8 used in the AA branch, as sources have changed too much since then, making any comparison very difficult.

I did found a few changed made by TP-LINK:

  • an embedded control of the system LED that blinks when a packet is received, not the right way to do that: it is perform by a separate module in OpenWrt

  • an overflow control on the packet size read from the endpoint descriptor: this has been integrated into the mainstream kernel since then, but I tried anyway, I still have the bug sad

  • added enforcing host mode upon ehci_init(), and reset both the HOST and PHY upon ehci_init() and ehci_probe()
    . This is located in "drivers/usb/host/ehci-ath.c", I don't see how this could be related to our bug

  • in the same file, there are some provisions for getting the EHCI capabilities and operation register, that seems taken care of completely differently in newer kernel, so it looks like it is not necessary any more

Unfortunately, and with some confidence, I can say that I don't see any obvious "fix" for any hardware USB bug in the kernel sources provided by TP-LINK, but I am not an USB expert...

So, if you have a mean to reproduce the bug with both the original TP-LINK firmware and the OpenWrt one, this is worth a try... Obviously, you should get the same problem.

I can't do it myself, as I have this problem when connecting an Arduino board spitting debug info, so I can't do the same thing with the original firmware.

Too many pocket WiFi routers / modules to list!

30 (edited by lsoltero 2012-11-04 22:18:39)

Re: ar9331's usb stability issue - [SOLVED]

thanks for that...

the tp-link firmware is quite restrictive. its obviously designed as a 3G appliance.   There is no way to telnet or ssh to the unit.   I doubt they have minicom or cu or other terminal emulator on the system.  What i can try is soldering a connection to the serial port and then creating a custom ppp script to test with our device. 

Give me a few hours... let me see what I can come up with.

One thought i in the mean time is that tp-link sources on their website are not up to date.  I notice the date is a bout year old on the tar file.  I wonder if its possible that a fix exists but has not been published.


--luis

Re: ar9331's usb stability issue - [SOLVED]

lsoltero wrote:

the tp-link firmware is quite restrictive. its obviously designed as a 3G appliance.   There is no way to telnet or ssh to the unit.   I doubt they have minicom or cu or other terminal emulator on the system.  What i can try is soldering a connection to the serial port and then creating a custom ppp script to test with our device.

Good idea! Maybe "cat" could be helpful?

lsoltero wrote:

One thought i in the mean time is that tp-link sources on their website are not up to date.  I notice the date is a bout year old on the tar file.  I wonder if its possible that a fix exists but has not been published.

That is quite a possibility!

But besides the device/host mode switching capability, the USB device is just standard EHCI.

I found this comment in the file "drivers/usb/host/ehci-ath.c":

    /* EHCI Register offset 0x100 - Info from ChipIdea */

Wikipedia tells us the truth: http://en.wikipedia.org/wiki/Chipidea

So ChipIdea was the designer of the USB device IP block within the AR9331 SoC, and was acquired by Synopsys in 2009.

Maybe someone from ChipIdea/Synopsys is looking at this thread?

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

question:

which sources did you look at?  The ones for the MR3040? or the ones for your router?  the reason i ask is that as far as I can tell the 3040 (and the chinese version) are routers that tp link advertises for 3G use.  It has a publication date as recent as sept 6. 2012.
http://www.tp-link.com/en/support/downl … version=V1

--luis

Re: ar9331's usb stability issue - [SOLVED]

lsoltero wrote:

the tp-link firmware is quite restrictive. its obviously designed as a 3G appliance.   There is no way to telnet or ssh to the unit.   I doubt they have minicom or cu or other terminal emulator on the system.

https://forum.openwrt.org/viewtopic.php … 89#p181589

could be useful?

34 (edited by Squonk 2012-11-05 00:14:22)

Re: ar9331's usb stability issue - [SOLVED]

lsoltero wrote:

question:

which sources did you look at?  The ones for the MR3040? or the ones for your router?  the reason i ask is that as far as I can tell the 3040 (and the chinese version) are routers that tp link advertises for 3G use.  It has a publication date as recent as sept 6. 2012.
http://www.tp-link.com/en/support/downl … version=V1

--luis

My router is a TP-Link TL-WR703N, and as it is not for export, it is not on the main TP-Link site or does not appear in the GPL section.

But it does appear in the Chinese TP-Link site with a download section (http://www.tp-link.com.cn/pages/product … 25&t=4), but I have not found any GPL stuff at all in the Chinese site sad

So, I was looking at the latest (and only) GPL sources for the TL-MR3020/MR3040/MR3220, which fortunately also apply to TL-WR703N "3G" routers from TP-LINK, from:
http://www.tp-link.com/en/support/gpl/?categoryid=547

If you take a quick look at the code in the common downloadable "150Router.tar" file for all these routers, you clearly see that there is a provision for my TL-WR703N router  too.

However, the "150Router.tar" file looks much older than the new firmwares, so it may not contain all the latest patches.

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

@nebbia88: Thanks, now I know how to login into the stock firmware!

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

hello all,

i am connected to the serial port and now running the native firmware on the mr3040.   The console is password protected.  Anyway have any ideas what the username and password might be?  I followed the link @nebbia88 and although this does allow me to access the shell the uname: osteam and password: 5up do not work for this router.

here is a listing of the console mesgs on boot up.

U-Boot 1.1.4 (Mar 28 2012 - 17:31:23)

AP121 (ar9330) U-boot

DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

Booting AR9330(Hornet)...
Linux version 2.6.31--LSDK-9.2.0.312 (root@localhost.localdomain) (gcc version 4.3.3 (GCC) ) #22 Wed Aug 22 11:18:12 CST 2012
flash_size passed from bootloader = 4
CPU revision is: 00019374 (MIPS 24Kc)
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
User-defined physical RAM map:
memory: 02000000 @ 00000000 (usable)
Zone PFN ranges:
  Normal   0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00002000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:128k(u-boot),1024k(kernel),2816(rootfs),64k(config),64k(ART) mem=32M
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=00000000
Readback ErrCtl register=00000000
Memory: 29876k/32768k available (1884k kernel code, 2892k reserved, 521k data, 116k init, 0k highmem)
Hierarchical RCU implementation.
NR_IRQS:128
plat_time_init: plat time init done
Calibrating delay loop... 266.24 BogoMIPS (lpj=532480)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
===== ar7240_platform_init: 0
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
AR7240 GPIOC major 0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
NTFS driver 2.1.29 [Flags: R/O].
msgmni has been set to 58
alg: No test for lzma (lzma-generic)
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
ttyS0: detected caps 00000000 should be 00000100
serial8250.0: ttyS0 at MMIO 0xb8020000 (irq = 19) is a 16550A
console [ttyS0] enabled
PPP generic driver version 2.4.2
NET: Registered protocol family 24
cmdlinepart partition parsing not available
set partition boot
set partition kernel
set partition rootfs
set partition config
set partition art
set partition ?
Searching for RedBoot partition table
5 RedBoot partitions found on MTD device ar7240-nor0
Creating 5 MTD partitions on "ar7240-nor0":
0x000000000000-0x000000020000 : "boot"
0x000000020000-0x000000120000 : "kernel"
0x000000120000-0x0000003e0000 : "rootfs"
0x0000003e0000-0x0000003f0000 : "config"
0x0000003f0000-0x000000400000 : "art"
->Oops: flash id 0x10215 .
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Port Status 1c000004
ar7240-ehci ar7240-ehci.0: ATH EHCI
ar7240-ehci ar7240-ehci.0: new USB bus registered, assigned bus number 1
ehci_reset Intialize USB CONTROLLER in host mode: 3
ehci_reset Port Status 1c000000
ar7240-ehci ar7240-ehci.0: irq 3, io mem 0x1b000000
ehci_reset Intialize USB CONTROLLER in host mode: 3
ehci_reset Port Status 1c000000
ar7240-ehci ar7240-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
ar7240wdt_init: Registering WDT success
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 116k freed
init started:  BusyBox v1.01 (2012.08.01-03:58+0000) multi-call binary
This Board use 2.6.31
xt_time: kernel timezone is -0000
nf_conntrack version 0.5.0 (512 buckets, 5120 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
insmod: cannot open module `/lib/modules/2.6.31/kernel/iptable_raw.ko': No such file or directory
insmod: cannot open module `/lib/modules/2.6.31/kernel/flashid.ko': No such file or directory
PPPoL2TP kernel driver, V1.0
PPTP driver version 0.8.3
insmod: cannot open module `/lib/modules/2.6.31/kernel/harmony.ko': No such file or directory

Now flash open!
(none) mips #22 Wed Aug 22 11:18:12 CST 2012 (none)
(none) login: Now flash open!
Now flash open!
Now flash open!
Now flash open!
Erase from 0X3E0000 to 0X3E9980:.
Program from 0X3E0000 to 0X3E9980:
write successfully
ATHR_GMAC: Length per segment 1536
ATHR_GMAC: fifo cfg 3 01f00140
2
ATHR_GMAC: Max segments per packet :   1
ATHR_GMAC: Max tx descriptor count :   40
ATHR_GMAC: Max rx descriptor count :   96
ATHR_GMAC: Mac capability flags    :   4D83
1
ATHR_GMAC: Max segments per packet :   1
ATHR_GMAC: Max tx descriptor count :   40
ATHR_GMAC: Max rx descriptor count :   252
ATHR_GMAC: Mac capability flags    :   4403
athr_gmac_ring_alloc Allocated 640 at 0x81e9d800
athr_gmac_ring_alloc Allocated 4032 at 0x81d63000
Setting Drop CRC Errors, Pause Frames and Length Error frames
Setting PHY...mac 0
athr_gmac_ring_alloc Allocated 640 at 0x81e9d400
athr_gmac_ring_alloc Allocated 1536 at 0x81f2d000
Setting Drop CRC Errors, Pause Frames and Length Error frames
ATHRS26: resetting s26
ATHRS26: s26 reset done
Setting PHY...mac 1
device eth0 entered promiscuous mode
Now flash open!
nf_conntrack_rtsp v0.6.21 loading
nf_nat_rtsp v0.6.21 loading
asf: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
ath_hal: 0.9.17.1 (AR9380, DEBUG, REGOPS_FUNC, WRITE_EEPROM, 11D)
ath_rate_atheros: Copyright (c) 2001-2005 Atheros Communications, Inc, All Rights Reserved
ath_dev: Copyright (c) 2001-2007 Atheros Communications, Inc, All Rights Reserved
ath_ahb: 9.2.0_U5.508 (Atheros/multi-bss)
Boostrap clock 25MHz
ar9300RadioAttach: Need analog access recipe!!
Restoring Cal data from Flash
ath_get_caps[4735] rx chainmask mismatch actual 1 sc_chainmak 0
ath_get_caps[4710] tx chainmask mismatch actual 1 sc_chainmak 0
wifi0: Atheros 9380: mem=0xb8100000, irq=2
wlan_vap_create : enter. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1
wlan_vap_create : exit. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1.
VAP device ath0 created

DES SSID SET=TP-LINK_POCKET_3040_7F9E48
ieee80211_scan_unregister_event_handler: Failed to unregister evhandler=c0abc6c0 arg=81f6fac0
wlan_vap_delete : enter. vaphandle=0x80e72000
wlan_vap_delete : exit. vaphandle=0x80e72000
wlan_vap_create : enter. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1
wlan_vap_create : exit. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1.
VAP device ath0 created

DES SSID SET=TP-LINK_POCKET_3040_7F9E48
ieee80211_ioctl_siwmode: imr.ifm_active=393856, new mode=3, valid=1
WARNING: Fragmentation with HT mode NOT ALLOWED!!
device ath0 entered promiscuous mode
br0: port 2(ath0) entering forwarding state
ieee80211_ioctl_siwmode: imr.ifm_active=1442432, new mode=3, valid=1
br0: port 2(ath0) entering disabled state

DES SSID SET=TP-LINK_POCKET_3040_7F9E48
br0: port 2(ath0) entering forwarding state

TL-MR3040 mips #22 Wed Aug 22 11:18:12 CST 2012 (none)
TL-MR3040 login: admin
Password:
Login incorrect
TL-MR3040 login: root
Password:
Login incorrect
TL-MR3040 login:
Login timed out after 60 seconds.

TL-MR3040 mips #22 Wed Aug 22 11:18:12 CST 2012 (none)
TL-MR3040 login: osteam
Password:
Login incorrect
TL-MR3040 login: osteam
Password:
Login incorrect
TL-MR3040 login: root
Password:
Login incorrect
Jan  1 00:02:57 login[556]: invalid password for `root' on `ttyS0'


TL-MR3040 mips #22 Wed Aug 22 11:18:12 CST 2012 (none)
TL-MR3040 login: root
Password:
Login incorrect
TL-MR3040 login:

Re: ar9331's usb stability issue - [SOLVED]

using the webshell i discovered a user called ap71 which has no password which allows me to login.  So... i am in.  I don't have access to root and can't write anything to the device (even /tmp) but can look around.  When I plug in my USB 1.1 device I get the following on the console.  Does this mean any thing to anyone?


$ usb 1-1: new full speed USB device using ar7240-ehci and address 3
usb 1-1: configuration #1 chosen from 1 choice
markModemSwitchInfo 871: vid = 0x1edd, pid = 0x9575, cmd =
cdc_acm 1-1:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
connect_modem 629 modem name is /dev/ttyACM0, script is chat -S -V -f /etc/ppp/chat-modem-configure
connect_modem 629 modem name is /dev/ttyACM1, script is chat -S -V -f /etc/ppp/chat-gsm-test-qualcomm
Open modem error:No such device
Open modem error:19

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
USB 3G Modem available interfaces list
outputInterfaceInfo 974 Main interface_index[0] = 0
#######################################################################


anyone have any idea what ar7240-ehci means?  Is that ringing any bells with the TP-LINK source code? or is this a new device not listed in that source?

--luis

Re: ar9331's usb stability issue - [SOLVED]

Hello, I have do some information.
see this:https://dev.openwrt.org/ticket/12385#ticket
Sorry for my poor English.

The main test is: shutdown your wifi($wifi down),useing Physics line connect, the problem gone...

Re: ar9331's usb stability issue - [SOLVED]

lsoltero wrote:

using the webshell i discovered a user called ap71 which has no password which allows me to login.  So... i am in.  I don't have access to root and can't write anything to the device (even /tmp) but can look around.

You can fix that: from the webshell, type:

chmod 777 /tmp

You now have access to /tmp in r/w with the ap71 user until next reboot.

lsoltero wrote:

When I plug in my USB 1.1 device I get the following on the console.  Does this mean any thing to anyone?


$ usb 1-1: new full speed USB device using ar7240-ehci and address 3

Yes... The Atheros AR9331 is actually a SoC with an integrated wireless radio... And an Atheros AR7240 400 MHz MIPS4kc CPU (see http://wiki.openwrt.org/toh/tp-link/tl- … features).

The "-ehci" suffix stands for "Enhanced Host Controller Interface": this is the high-speed controller standard for USB 2.0. Low-speed and full-speed devices are normally handed over to the -ohci (Open Host Controller Interface) companiondriver. See http://en.wikipedia.org/wiki/Host_contr … wire)#USB.

What i don't understand is why this is not the 'ar7340-ohci" driver that has been selected to handled your full-speed device?

lsoltero wrote:

usb 1-1: configuration #1 chosen from 1 choice
markModemSwitchInfo 871: vid = 0x1edd, pid = 0x9575, cmd =

This is a trace by the "/sbin/hotplug" handler that dumps the device VID/PID of the inserted device.

lsoltero wrote:

cdc_acm 1-1:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters

Based on the returned device descriptor, the cdc-acm driver was chosen and the corresponding module inserted by "/sbin/hotplug".

The CDC-ACM ("Character Device Class / Abstract Control Model") is the USB class/subclass used for modem using embedded "AT" commands for control (like Plain Old Serial Modems), rather than proprietary USB messages.

lsoltero wrote:

connect_modem 629 modem name is /dev/ttyACM0, script is chat -S -V -f /etc/ppp/chat-modem-configure
connect_modem 629 modem name is /dev/ttyACM1, script is chat -S -V -f /etc/ppp/chat-gsm-test-qualcomm
Open modem error:No such device
Open modem error:19

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
USB 3G Modem available interfaces list
outputInterfaceInfo 974 Main interface_index[0] = 0
#######################################################################

The pppd daemon is then launched, that will try to open a PPP (point-to-point) IP link with the local modem and manage the ppp0 network interface. This is achieved by using the "chat" utility that will send the correct "AT" commands/get the corresponding answers to recongize/initialize the modem.

It does not go further than that, since obviously what you inserted is not a modem...

lsoltero wrote:

anyone have any idea what ar7240-ehci means?  Is that ringing any bells with the TP-LINK source code? or is this a new device not listed in that source?

See my answers above: this is not new: the "ar7240-ehci" (and the "ar7240-ohci") driver is defined in "arch/mips/ar7240/platform.c" in the TP-LINK GPL source files, and the "$ usb 1-1: new full speed USB device using ar7240-ehci and address 3" message is generated from the standard "drivers/usb/core/hub.c" kernel source file.

Unfortunately, I have already checked there, to no avail. Not a single indication of a possible patch for a bug anywhere in there sad

On my side, I tried to access my Arduino board from within the stock firmware, but as "stty" is not there, nor any terminal emulator, I dont see how I could just run something on it that would display the USB serial input...

I tried to install the "picocom" terminal emulator from the AA branch, but it doesn't work because of incompatible uClinux libraries...

The only possible solution would be to use "chat", but it must be launched from "pppd" (see http://osdir.com/ml/org.user-groups.lin … 221.html), so I am trying to figure out how I could possibly launch it.

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

I would just like to add some thoughts here.....

Last week or so I posted about my 3420 droping the usb now and then when doing speedtests on speedtest.net
Not liking the fact that it may affect me later with a program I need to be on the net with, And thinking it may be the router I got a nice new 3600 with 2 usb ports on the back.

All set up now and typing on here with the 3g modem in the back now and the new one has the same problem too sad

Re: ar9331's usb stability issue - [SOLVED]

Are you using the native TP-LINK firmware or are you using OpenWRT?

--luis

Re: ar9331's usb stability issue - [SOLVED]

Have tested with both. And with E353 modem and a sierra modem both do the same...

Re: ar9331's usb stability issue - [SOLVED]

As suggested by rickysland (thanks!), I am trying to turn off the Wifi radio while doing the exact same test performed with my Arduino Leonardo spitting a counter every second on the USB serial (cdc-acm) at 57600 bps.

Now ticking for over an hour without a glitch... I will let it run the whole night (for me) and let you know tomorrow.

FYI, the same setup is hanging in less than an hour (sometimes only a few seconds) with Wifi turned on...

Luis (et al.), can you try that on your side too?

If it works like this and not when Wifi radio is turned on, then we got a problem here smile

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

i am doing more testing but seeing the same thing here...

on one of may AP121U which is prone to this issue i disabled the wifi and made 12 PPP connections back to back without issue...
turn on the wifi boom... on the first connection the USB hangs.  I didn't even have a client connected to the WiFI so there was little or no data going over the WiFi interface...

more soon...

Re: ar9331's usb stability issue - [SOLVED]

I may have the solution:

Big Capacitor for USB!!!

See this thread: https://forum.openwrt.org/viewtopic.php … 06#p155706

Someone want tot try, I need to go to bed...

Too many pocket WiFi routers / modules to list!

46 (edited by lsoltero 2012-11-06 00:38:30)

Re: ar9331's usb stability issue - [SOLVED]

ok... this is pretty conclusive... i have done the experiment a million times... enable wifi the USB interface hangs when starting a PPPD session. disable the wifi and it works perfectly. 

I played around with different transmit levels.  even at 0 (1mw) i can only get one or two sessions done before the port hangs.

Re: ar9331's usb stability issue - [SOLVED]

Ok, it is working for > 10 hours now without problem, so it is not worse than my M$ Windows smile

If I can find one, I will try to add a big electrolytic capacitor across C113 with Wifi enabled and see if it helps.

Too many pocket WiFi routers / modules to list!

48 (edited by Squonk 2012-11-06 10:17:16)

Re: ar9331's usb stability issue - [SOLVED]

I have found a spare 100µF electrolytic capacitor to test.

However, before putting the soldering iron to heat, I tried re-enabling the Wifi using the LuCI web administration interface over Ethernet.

I also set up the LED to show the Wifi RX/TX activity with LuCI.

With the "microcom -s 57600 /dev/ttyACM0" command running in the serial console, it is working for > 1 hour now without problem?!?

Before soldering the capacitor, I am now trying with the same command running over a Wifi SSH Shell.

EDIT: it hangs after half an hour, so the bug is related ti Wifi activity apparently.

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

Bad news: even with a 100µF/16V electrolytic capacitor mounted across C113, my tests hanged after a little bit more than 1 hour sad

I will try again by adding a passive "Octopus" USB hub to confirm, but it looks like it is the only viable solution to avoid this problem...

Too many pocket WiFi routers / modules to list!

Re: ar9331's usb stability issue - [SOLVED]

i have spent may hours experimenting with this... There seems to be some correlation between power draw on the USB, power of transmission on the wifi, and manufacturer of the device...

here are few of my findings.

I have two USB devices. One that draws power from the USB and one that does not.  When the USB that draws power from the USB is connected to the AP121U i get permanent failures if the wifi is enabled with nothing connected.  When in wifi transmit power 0 i can do a few connections before the USB port hangs.  However, when using the NON powered USB device I can connect reliably when the wifi power is set to 0.  However, the USB will fail if I have a wifi client connected to the device even with power set to 0.

The MR3040 is a lot less sensitive.  I just had the USB device that draws power connected to this router with WiFI power set to 27 and a client connected to it and made many connections back to back without issue.  That is not to say the problem is not there since we have been able to make this router fail, its just that its less sensitive than the alfa router.

Sorry to hear that the CAP test failed... I thought for sure that would address the issue since there seems to be some power related issues... My theory was that the USB hub (remember that...) made things work by evening out power draw on the USB removing spikes.  But... i guess that theory no longer holds.  So... in light of the new evidence my question is... why does everything work perfectly when a passive USB hub is used?

--luis