I am running ICS DevKit 3.0.0 on our custom board, loading the kernel with TFTP and using an NFS root filesystem. Thus the Ethernet is working fine at the Linux kernel level. I am able to run the built-in web browser (in DevKit 3.0.0) and access websites. However, other applications that want a data connection fail to be able to access the Internet. Examples of such apps are Google Maps 6.5.0, the Engadget app, Yahoo! Mail app.
I note that new with ICS is an Ethernet configuration in the control settings app, but the only settings are for enable/disable and DHCP/manual IP config.
What else needs to be done for Android apps to recognize the Ethernet connection as a valid data connection?
Chris;
Have you configured DNS values?
setprop net.dns1 <dns server ip>
http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1.1_UserGuide#Browser_Manual_Configuration
for proxy configuration for ICS it's properties were moved to secure side.
Yes. I have tried both internal DNS servers and external servers (8.8.8.8), (and also no proxy needed--at least for normal network access).
Have you specified 'ethernet' as an available network in the frameworks overlay for your device.
See the overlay in omap3evm for example: http://gitorious.org/rowboat/vendor-ti-omap3evm/blobs/rowboat-ics/overlay/frameworks/base/core/res/res/values/config.xml
'networkAttributes' and 'radioAttributes' arrays need to be populated with the values appropriate for ethernet.
--------------------------------------------------------------------------------------------------------- Please click the Verify Answer button on this post if it answers your question.---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
Please click the Verify Answer button on this post if it answers your question.---------------------------------------------------------------------------------------------------------
Yes, I believe so. Here are the lines from my corresponding file (we aren't supporting bluetooth, so I commented it out):
<string-array translatable="false" name="networkAttributes"> <item>"wifi,1,1,1,-1,true"</item> <item>"wifi_p2p,13,1,0,-1,true"</item><!-- <item>"bluetooth,7,7,0,-1,true"</item> --> <item>"ethernet,9,9,2,-1,true"</item> </string-array> <string-array translatable="false" name="radioAttributes"> <item>"1,1"</item> <item>"7,1"</item> <item>"9,1"</item> </string-array>
The overlay changes look OK.
We have tested ethernet connectivity only on the browser. Can you send us the logcat output when you run Google Maps or other apps where ethernet networking does not work? We can analyse the logs to discover the cause.
Here's the log where I started an Engadget app that results in "Please check your internet connection and try again". I'm also including the Engadget app so you can test with it as well.
Log File: 3113.no-eth.log
Engadget App (gzipped): 6136.Engadget_1.0.4.apk.gz
Thanks for your assistance! - Chris
Sorry for the delay, I have been busy with other priority tasks.
I have been able to get the engadget app working on AM335x (DevKit release 3.0.1 with kernel 3.2). I could not manage to get an AM37x device to test your apk.
DevKit 3.0.0 release for AM37x uses the older android kernel 2.6.37. I'm not sure if the issues you are facing is due to the older kernel.
Will the next DevKit for the AM37xx use the 3.2 kernel, or will it still use 2.6.37?
Any timeframe anticipated for the next DevKit?
Please refer to this patch to update the kernel config on AM335xevm : http://groups.google.com/group/rowboat/browse_thread/thread/a5bbf54fe489a4b3
Can you try enabling these options on 2.6.37 kernel and see if it helps.
Thanks very much Vishveshwar! That got things working, at least from an SD card for the Mail client. The problem for my development environment is that it hangs when using an NFS mounted root filesystem, right after it gets to the
root@android:/ #
prompt, though it does keep saying
nfs: server 192.168.0.43 not responding, still trying
It obviously has read stuff from the filesystem, but something (I assume in the init.rc file) is causing the mount to fail. So that's what I'm off to tackle now.
Thanks again!
I should point out that I couldn't apply the patches directly, because some things like quota2 aren't in the version of the kernel used in DevKit 3.0.0
Thanks for the update. Good to know this worked for you.
We shall update the default android defconfigs in the kernel sources with these additional config options soon.
Just as a reminder, while those settings got network connection over Ethernet working, they make it so I couldn't use NFS for my root filesystem. Today I was able to get both (apparently) working by removing the support for netfilter (CONFIG_NETFILTER is not defined in this case). Perhaps this will cause other problems, however. I need to see if WiFi will work properly with this setting.
It looks like I spoke too soon. The mail application that came with DevKit 3.0.0 works with Ethernet with those kernel changes, but the Engadget app still does not work.
- Chris
Well, Engadget doesn't work, but Google Maps does work. Perhaps Engadget is not willing to use Ethernet and is insisting on WiFi or a Cellular-like connection.