I added a comment on the blog that I'm cross-posting here (in case this was missed), I am adding more info to it as well.
Using the A13-Olinuxino-Wifi dev board stock Android image, have you tried a stress test with these Ethernet adaptors? I connected an ASIX dev board (AX88772B) on USB HOST1 and made a few pings, game downloads and You Tube streaming. BUT:
When I run a simple network stress test application that creates many HTTP requests the whole system hangs (crash) always after a few seconds. If disconnecting the adapter and using the WiFi instead to perform the HTTP requests, it never hangs. Also, using an older USB adapter (D-LINK DUB E100 Ver.A4) based on the older AX88172 prove to be more stable.
(I also had a USB mouse connected on USB HOST3, nothing on USB HOST2)
This is the test app I am using: (Just enter 10000 and hit "start" with the default URL) - it should not freeze Android.
Can someone try this with its hardware that supposedly works?
EDIT: I recently found out that the A13 android/kernel/sunxi source distribution does not have the most recent asix.c driver. A more recent driver for Linux and Android is available from ASIX and I have a hard time cross-compiling it to try it out.
I am calling for help.
Stability is a must for these little devices and wired Ethernet is more reliable than wifi in industrial environments.
Hello, I finally was able to compile and install a new asix.ko module using the source code provided on asix web site. It is now more stable (no more system hang).
(asix linux driver 4.4.0 for kernel 3.0.8 A13)
@OLIMEX: can you consider shipping the most recent asix driver in the built-in Android image - this is considering you are recommending AX88772B-based adapters...
Quick instructions (sorry if I am not going in precise details): download the asix driver source code. Drop the four files (.h and .c extensions) into a kernel 3.0.8 build where asix.c is already located (can't remember from the top of my head) Delete the asix.* non-source files in that directory to be sure it gets re-compiled. Build the kernel (it should quickly build this part if you already built the kernel once, just monitor the directory and you can abort as soon as you see the asix.ko appear. This is the file you need...
Instructions to "push" into an existing A13 android build:
asix.ko needs to be located in /vendor/modules
using ADB: push to /vendor/modules using a special name (so we have a chance to backup the original) I used: asix_ko.new
Shell commands on android:
NOTE: mv works on android but not cp. mv does not work across volumes.
lsmod // list modules in memory (asix.ko is what we are looking for, not sure if it gets loaded all the time or only when the adapter gets loaded)
cd /vendor/modules // location of the .ko modules
ls -l *asix* // to check that we see the original asix.ko
rmmod asix.ko // unload asix.ko from memory
mv asix.ko asix_ko.ori // backup the original driver
mv asix_ko.new asix.ko // install new driver
ls -l *asix* // just to check that all looks ok
insmod asix.ko // load the new driver (at that point, if the adapter is connected, it should connect within seconds)
thanks a lot for the help on this, we will definitely update the ASIX drivers!