Evaluating USB-to-Ethernet converters

Started by olimex, September 18, 2012, 11:40:03 AM

Previous topic - Next topic

bernard

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.

https://play.google.com/store/apps/details?id=com.witlens.loadtest

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.

Regards,
Bernard

bernard

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)

olimex

Hi Bernard
thanks a lot for the help on this, we will definitely update the ASIX drivers!
Tsvetan