Hi Mike,

I'm beginning to run out of ideas here. It may be a long shot, but try wiping 
your cache & data partition if you do not do so on a regular basis; there may 
be stale data here causing the browser activity to fail..

I really think you have to verify that you can actually transfer data over the 
connection you have... Maybe ping is not sufficient; try to ssh to some 
external host, port wget to the platform for testing, etc.

Did you double check the DNS addresses as suggested by Mikkel?

---
Henrik Uhrenfeldt
Chief Software Engineer
Ixonos Denmark ApS
Niels Jernes Vej 10,
DK-9220 Aalborg Ø, Denmark
mobile +45 4030 2607
email: henrik.uhrenfe...@ixonos.com
http://www.ixonos.com


-----Original Message-----
From: M&M stich [mailto:mstic...@gmail.com]
Sent: 28. maj 2010 22:28
To: Uhrenfeldt Henrik
Cc: android-porting
Subject: Re: Data connection via cell modem (GPRS)

Hi Henrik,
I tried the nocheckin property, I think it eliminated the messages about 
failing to login, but did not fix the fundamental problem.  Not trying to do a 
Google login is good (thanks for the pointer), but not sufficient.  I suspect I 
do not have the Google login service, nor a provider for the 
"android.server.checkin" which it also keeps wanting to do, but can't.
E.g. E/ActivityThread(  896): Failed to find provider info for 
android.server.checkin

I have no way to check internet connectivity independent of the cell modem.  It 
is not wired to anything.  I suppose I could purchase a USB Ethernet device, 
but I don't currently have one.

Mike


On Fri, May 28, 2010 at 4:20 AM, Uhrenfeldt Henrik 
<henrik.uhrenfe...@ixonos.com> wrote:


        Hi Mike,

        Am I right in assuming that you cannot use the browser no matter how 
you supply internet connectivity for Android? Even if it is USB Ethernet, 
manual PPP, etc.?

        Normally Android wants to do a Google login (probably to integrate 
nicely with all the Google services), but in the source build, vital Google 
closed-source components are missing for this to happen - and as you can see in 
the log, it is not possible to complete the Google login:

        { cmp=com.google.android.googleapps/.GoogleLoginService }: not found

        I think this is the reason browser dies on you... It may be a long 
shot, but I have the following property set in my init.rc:

           setprop ro.config.nocheckin yes

        If I remember correctly, the property above disables the login behavior.


        ---
        Henrik Uhrenfeldt
        Chief Software Engineer
        Ixonos Denmark ApS
        Niels Jernes Vej 10,
        DK-9220 Aalborg Ø, Denmark
        mobile +45 4030 2607
        email: henrik.uhrenfe...@ixonos.com
        http://www.ixonos.com

        -----Original Message-----

        From: ms12 [mailto:mstic...@gmail.com]
        Sent: 25. maj 2010 17:40
        To: android-porting
        Cc: Uhrenfeldt Henrik; Robert Greenwalt
        Subject: Re: Data connection via cell modem (GPRS)

        Hi Henrik,

        Well, I'm getting pretty close.  The ppp connections starts and stops
        gracefully.  The radio log looks pretty clean, but I just cannot get
        the browser to start.  It often pops up a window saying unable to find
        web page, or "Data connectivity problem".   Here is the end of the log
        when I tried starting the browser.  Any suggestions on where to
        look?
        Thanks Mike

        D/dalvikvm(  977): GC freed 3969 objects / 288312 bytes in 45ms
        D/KeyguardViewMediator(  846): wakeWhenReadyLocked(82)
        D/KeyguardViewMediator(  846): handleWakeWhenReady(82)
        D/KeyguardViewMediator(  846): pokeWakelock(5000)
        E/power   (  846): Failed setting last user activity: g_error=0
        D/KeyguardViewMediator(  846): pokeWakelock(5000)
        I/ActivityManager(  846): Start proc com.android.inputmethod.latin for
        service com.android.inputmethod.latin/.LatinIME: pid=1712 uid=10001
        gids={3003, 1015}
        I/ARMAssembler(  846): generated
        scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at
        [0x213368:0x213434] in 244140 ns
        D/dalvikvm( 1712): Trying to load lib /system/lib/libjni_latinime.so
        0x49ba6db8
        D/dalvikvm( 1712): Added shared lib /system/lib/libjni_latinime.so
        0x49ba6db8
        I/WindowManager(  846): Checking dispatch to: Window{49cb3a58 Keyguard
        paused=false}
        I/WindowManager(  846): Not visible!
        I/WindowManager(  846): Checking dispatch to: Window{49cb1370
        StatusBar paused=false}
        I/WindowManager(  846): Checking dispatch to: Window{49d48a50
        StatusBarExpanded paused=false}
        I/WindowManager(  846): Not visible!
        I/WindowManager(  846): Checking dispatch to: Window{49d13618
        TrackingView paused=false}
        I/WindowManager(  846): Not visible!
        I/WindowManager(  846): Checking dispatch to: Window{49bb7b28
        com.android.launcher/com.android.launcher.Launcher paused=false}
        D/AlarmManagerService(  846): Kernel timezone updated to 300 minutes
        west of GMT
        D/SystemClock(  896): Setting time of day to sec=1274801005
        I/ActivityManager(  846): Stopping service:
        com.android.calendar/.AlertService
        D/dalvikvm( 1001): GC freed 2137 objects / 141664 bytes in 129ms
        D/AlarmManagerService(  846): Kernel timezone updated to 300 minutes
        west of GMT
        D/SystemClock(  896): Setting time of day to sec=1274801005
        I/WindowManager(  846): Checking dispatch to: Window{49cb3a58 Keyguard
        paused=false}
        I/WindowManager(  846): Not visible!
        I/WindowManager(  846): Checking dispatch to: Window{49cb1370
        StatusBar paused=false}
        I/WindowManager(  846): Checking dispatch to: Window{49d48a50
        StatusBarExpanded paused=false}
        I/WindowManager(  846): Not visible!
        I/WindowManager(  846): Checking dispatch to: Window{49d13618
        TrackingView paused=false}
        I/WindowManager(  846): Not visible!
        I/WindowManager(  846): Checking dispatch to: Window{49bb7b28
        com.android.launcher/com.android.launcher.Launcher paused=false}
        I/ActivityManager(  846): Stopping service:
        com.android.calendar/.AlertService
        I/ActivityManager(  846): Starting activity: Intent
        { act=android.intent.action.MAIN
        cat=[android.intent.category.LAUNCHER] flg=0x10200000
        cmp=com.android.browser/.BrowserActivity }
        I/ActivityManager(  846): Start proc com.android.browser for activity
        com.android.browser/.BrowserActivity: pid=1733 uid=10010 gids={3003}
        D/installd(  779): DexInv: --- BEGIN '/system/app/Browser.apk' ---
        D/dalvikvm( 1747): DexOpt: load 98ms, verify 462ms, opt 7ms
        D/installd(  779): DexInv: --- END '/system/app/Browser.apk' (success)
        ---
        I/ActivityThread( 1733): Publishing provider browser:
        com.android.browser.BrowserProvider
        E/ActivityThread( 1733): Failed to find provider info for
        com.google.settings
        D/        ( 1733): unable to unlink '/data/data/com.android.browser/
        shared_prefs/com.android.browser_preferences.xml.bak': No such file or
        directory (errno=2)
        W/ActivityManager(  846): Unable to start service Intent
        { cmp=com.google.android.googleapps/.GoogleLoginService }: not found
        I/ARMAssembler(  846): generated
        scanline__00000077:03515104_00000000_00000000 [ 27 ipp] (41 ins) at
        [0x287a10:0x287ab4] in 213623 ns
        I/ARMAssembler(  846): generated
        scanline__00000077:03515104_00001001_00000000 [ 64 ipp] (84 ins) at
        [0x287b18:0x287c68] in 244140 ns
        D/dalvikvm( 1733): GC freed 3113 objects / 274848 bytes in 101ms
        D/dalvikvm(  846): GC freed 15034 objects / 713720 bytes in 72ms
        D/dalvikvm(  910): GC freed 1650 objects / 85608 bytes in 47ms
        D/dalvikvm(  846): GC freed 18004 objects / 854480 bytes in 65ms
        D/dalvikvm(  846): GC freed 16651 objects / 789576 bytes in 64ms
        E/power   (  846): Failed setting last user activity: g_error=0
        W/ActivityManager(  846): Unable to start service Intent
        { act=android.accounts.IAccountsService
        cmp=com.google.android.googleapps/.GoogleLoginService }: not found
        E/LockPatternKeyguardView(  846): Failed to bind to GLS while checking
        for account
        D/dalvikvm(  846): GC freed 634 objects / 26968 bytes in 51ms
        D/KeyguardViewMediator(  846): wakeWhenReadyLocked(82)
        D/KeyguardViewMediator(  846): handleWakeWhenReady(82)
        D/KeyguardViewMediator(  846): pokeWakelock(5000)
        E/power   (  846): Failed setting last user activity: g_error=0
        I/ActivityManager(  846): Displayed activity
        com.android.browser/.BrowserActivity: 63377 ms (total 63377 ms)
        W/KeyCharacterMap(  846): No keyboard for id 0
        W/KeyCharacterMap(  846): Using default keymap: /system/usr/keychars/
        qwerty.kcm.bin
        D/KeyguardViewMediator(  846): pokeWakelock(5000)
        W/InputManagerService(  846): Window already focused, ignoring focus
        gain of: com.android.internal.view.IInputMethodClient$Stub
        $pr...@49bd37c8
        D/dalvikvm(  846): GC freed 15385 objects / 731184 bytes in 63ms
        D/dalvikvm(  846): GC freed 23556 objects / 1114880 bytes in 71ms
        E/power   (  846): Failed setting last user activity: g_error=0
        W/ActivityManager(  846): Unable to start service Intent
        { act=android.accounts.IAccountsService
        cmp=com.google.android.googleapps/.GoogleLoginService }: not found
        E/LockPatternKeyguardView(  846): Failed to bind to GLS while checking
        for account
        D/dalvikvm(  846): GC freed 4595 objects / 428736 bytes in 67ms
        E/browser ( 1733): onReceivedError -7 
http://www.google.com/m?client=ms-android-google
        The server failed to communicate. Try again later.
        E/OpenSSLSocketImpl( 1733): Unknown error 5 during connect
        E/Gears-J ( 1733): Connection IO exception
        E/Gears-J ( 1733): java.io.IOException: SSL handshake failure: I/O
        error during system call, Unknown error: 0
        E/Gears-J ( 1733):      at
        
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native
        Method)
        E/Gears-J ( 1733):      at
        
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:
        305)
        E/Gears-J ( 1733):      at
        org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:
        92)
        E/Gears-J ( 1733):      at
        
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:
        321)
        E/Gears-J ( 1733):      at
        
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:
        129)
        E/Gears-J ( 1733):      at
        org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:
        164)
        E/Gears-J ( 1733):      at
        
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:
        119)
        E/Gears-J ( 1733):      at
        
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:
        348)
        E/Gears-J ( 1733):      at
        
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:
        555)
        E/Gears-J ( 1733):      at
        
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:
        487)
        E/Gears-J ( 1733):      at
        
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:
        465)
        E/Gears-J ( 1733):      at
        android.webkit.gears.ApacheHttpRequestAndroid
        $Connection.run(ApacheHttpRequestAndroid.java:180)
        E/Gears-J ( 1733):      at java.lang.Thread.run(Thread.java:1060)
        D/KeyguardViewMediator(  846): wakeWhenReadyLocked(82)
        D/KeyguardViewMediator(  846): handleWakeWhenReady(82)
        D/KeyguardViewMediator(  846): pokeWakelock(5000)
        E/power   (  846): Failed setting last user activity: g_error=0
        W/KeyCharacterMap(  846): No keyboard for id 0
        W/KeyCharacterMap(  846): Using default keymap: /system/usr/keychars/
        qwerty.kcm.bin
        D/KeyguardViewMediator(  846): pokeWakelock(5000)
        E/ActivityThread(  896): Failed to find provider info for
        android.server.checkin
        W/Checkin (  896): Can't update stat PHONE_RADIO_RESETS:
        java.lang.IllegalArgumentException: Unknown URL 
content://android.server.checkin/stats
        I/ActivityManager(  846): Stopping service:
        com.android.mms/.transaction.SmsReceiverService
        I/ActivityManager(  846): Stopping service:
        com.android.mms/.transaction.SmsReceiverService
        D/dalvikvm(  846): GC freed 21575 objects / 1007240 bytes in 71ms


        On May 21, 2:52 am, Uhrenfeldt Henrik <henrik.uhrenfe...@ixonos.com>
        wrote:
        > Hi Mike,
        >
        > Hehe... I had the same feeling.
        >
        > My DEACTIVATE does not work 100% smooth, but it works. I basically 
set AT+CGACT=0,1 and wait for PPPD to die from natural causes. As far as I 
remember, it does in fact call ip-down. I do not attempt to stop the service 
manually (via init.svc.pppd_gprs), neither do I care about the untracked pid 
(which I think I get as well).
        >
        > Regarding breaking out ofdatamode, my modem automatically terminates 
the PPPconnectionwhen it receives the AT+CGACT=0,1, so I am not doing anything 
like the '+++'...
        >
        > One thing though - I cannot seem to get the exit code from pppd 
properly, but at some point I gave up and decided I could live without it. 
Since I was able to setup thedataconnectionseveral times in a row, I concluded 
it was good enough :-)
        >
        > - Henrik

        >
        > -----Original Message-----
        > From: M&M stich [mailto:mstic...@gmail.com]
        > Sent: 20. maj 2010 22:26
        > To: Uhrenfeldt Henrik
        >
        > Cc: android-porting

        > Subject: Re:Dataconnectionvia cell modem (GPRS)
        >
        > Hi Henrik!
        > @#$%^^!!  This is driving me nuts.
        >
        > Ok, I lengthened the timeout, takes around 14 Sec for me.  I also see 
the DEACTIVATE due to APN changed.  But the deactivate does not work.
        >
        > Looks like ip-down does not get called. If I manually do a stop on 
the service, it does not get called. If I kill pid from the console, then it 
does get called.  I'm relying on it to set the same property I use to check 
startup to "no" instead of "yes".  I suppose I could use the init.svc.pppd_gprs 
property instead, but I thought ip-down should get called.   By the way, the 
shell that ran ip-up does not go away after it runs.  When I stop pppd_gprs, I 
get an "untracked pid exited" from it.
        >

        > BUT,  the chat disconnect script is not running correctly either, it 
seems. It needs to do the '+++' to break out ofdatamode.  The modem requires 1 
sec before and 1 sec after of quiet time for this to work.  I set verbose on 
the chat command, but it did not show me anything.  I may need to figure out 
how to trace it.
        > Thanks
        > Mike

        >
        > On Thu, May 20, 2010 at 10:29 AM, Uhrenfeldt Henrik 
<henrik.uhrenfe...@ixonos.com> wrote:
        >
        >         Hi Mike!
        >
        >         I bet 2 seconds is not near enough.. I have a timeout of 15 
seconds to wait for the PPP to get up properly - in average it takes around 7-8 
seconds. Then probably what goes wrong next is the fact that the needed 
properties were set in the last run, so your SETUP_DATA_CALL finishes quickly, 
but meanwhile you may have confused the modem with another AT+CGDCONT..
        >
        >         You have to get the first attempt to work and be sure that 
there are no race conditions with setting/reading properties. For example - if 
you set your custom property to something like "initing" in the beginning of 
the pppd service and wait for it to become "up", the next time you run 
SETUP_DATA_CALL, it will be "up" until the service is really running and 
setting it to "initing" - unless you do some kludgy waiting in SETUP_DATA_CALL 
before initially checking state of your property. This had me tweaking for some 
time.
        >

        >         To get all this running properly, I also had to implement 
DEACTIVATE_DATA_CALL in which I send an "AT+CGACT=0,1" and then I wait for pppd 
service to exit (yet another property to check for). In our setup, Android 
always sets up theconnectiontwice (due to some weirdness with a list of APNs 
changing in higher layers), so we need to have a reliable shutdown as well - 
sigh..
        >
        >         Regarding your timeout on the AT channel there is not much to 
say else than it seems the modem is somehow in a state where it won't answer. 
This is of course critical for the RIL and it has no choice other than 
attempting to restart. Hopefully it is caused by PDP context confusion or some 
other invalid chain of commands caused by thedatasetup stuff.

        >
        >         - Henrik
        >         ---
        >         Henrik Uhrenfeldt
        >         Chief Software Engineer
        >         Ixonos Denmark ApS
        >         Niels Jernes Vej 10,
        >         DK-9220 Aalborg Ø, Denmark
        >         mobile +45 4030 2607

        >         email: henrik.uhrenfe...@ixonos.com

        >        http://www.ixonos.com
        >
        >         -----Original Message-----

        >         From: M&M stich [mailto:mstic...@gmail.com]
        >
        >         Sent: 20. maj 2010 17:08
        >         To: Uhrenfeldt Henrik
        >         Cc: android-porting

        >         Subject: Re:Dataconnectionvia cell modem (GPRS)
        >
        >         Hi Henrik,
        >         ip-up sets a custom property last (only does some logging 
after that) that triggers the ril to send a response.  The ril waits 2 sec for 
the property, then times out and returns an error.  Android then tries again 
shortly thereafter, and the ril does not have to wait at all, everything is 
setup.
        >

        >         Now,when I try and start the browser, it somehow causes a 
timeout on the signal strength request and cause the radio to crash.  This is a 
new behavior.  Here is the end of the radio log, showing thedatacall being set 
up as described.  PDPconnection seems to have the dns correctly.  Also shows 
the at channel timeout somehow caused by the browser trying to start.  It does 
restart successfully eventually.

        >         Thanks   Mike
        >         ---------------------------------------------------
        >         :::::
        >         D/GSM     (  955): SIMRecords: record load complete
        >         D/GSM     (  955): [GsmSimCard] Broadcasting intent 
SIM_STATE_CHANGED_ACTION LOADED reason null
        >         D/GSM     (  955): Get PreferredAPN
        >         D/GSM     (  955): [GsmDataConnectionTracker] ***trySetupData 
due to simLoaded
        >         D/GSM     (  955): [DSAC DEB] trySetupData with 
mIsPsRestricted=false
        >         I/GSM     (  955): Preferred APN:310410:310410:ATT, 1, 
310410, wap.cingular, null, null, null, null, null, *
        >         I/GSM     (  955): Waiting APN set to preferred APN
        >         D/GSM     (  955): [GsmDataConnectionTracker] Create from 
allApns : [ATT, 1, 310410, wap.cingular, null, null, null, null, null, *]
        >         D/GSM     (  955): [GsmDataConnectionTracker] Setup 
watingApns : [ATT, 1, 310410, wap.cingular, null, null, null, null, null, *]
        >         D/GSM     (  955): [PdpConnection] DataConnection.getState()
        >         D/GSM     (  955): [PdpConnection] Connecting to carrier: 
'ATT' APN: 'wap.cingular' proxy: 'null' port: 'null
        >         D/RILJ    (  955): [0057]> SETUP_DATA_CALL wap.cingular
        >         D/RIL     (  863): onRequest: SETUP_DATA_CALL

        >         D/RIL     (  863): requestingdataconnectionto APN 
'wap.cingular'

        >         D/RIL     (  863):  ---- Initial running status :  len : 2  
Status: no
        >         D/RIL     (  863):  ---- Starting service pppd_gprs -----
        >         D/RIL     (  863): --- Initial Response is : 1 ; gprs ; 
000.000.000.000
        >         D/RIL     (  863):  ---- starting wait for property -----, 
len : 2  Status: no
        >         D/GSM     (  955): [GsmDataConnectionTracker] setState: 
INITING
        >         D/RIL     (  863):  ---- PPPD failed to start:  status = no , 
length = 2 , retry = 0
        >         D/RILJ    (  955): [0057]< SETUP_DATA_CALL error: 
com.android.internal.telephony.CommandException: GENERIC_FAILURE
        >         D/GSM     (  955): [PdpConnection] 
DataConnection.handleMessage()
        >         E/GSM     (  955): PDP Context Init failed 
com.android.internal.telephony.CommandException: GENERIC_FAILURE
        >         D/RILJ    (  955): [0058]> LAST_DATA_CALL_FAIL_CAUSE
        >         D/RIL     (  863): onRequest: LAST_DATA_CALL_FAIL_CAUSE
        >         D/RILJ    (  955): [0058]< LAST_DATA_CALL_FAIL_CAUSE error: 
com.android.internal.telephony.CommandException: REQUEST_NOT_SUPPORTED
        >         D/GSM     (  955): [PdpConnection] 
DataConnection.handleMessage()
        >         D/GSM     (  955): [PdpConnection] Notify PDP fail at 
1274367573216 due to UnknownDataError
        >         D/GSM     (  955): [GsmDataConnectionTracker] PDP setup 
failed UnknownDataError
        >         D/GSM     (  955): [GsmDataConnectionTracker] setState: FAILED
        >         D/GSM     (  955): PDP activate failed. Scheduling next 
attempt for 5s
        >         D/GSM     (  955): NOT Posting GPRS Unavailable notification 
-- likely transient error
        >         D/GSM     (  955): GPRS reconnect alarm. Previous state was 
FAILED

        >         D/GSM     (  955): [GsmDataConnectionTracker] Clean 
upconnectiondue to simLoaded

        >         D/GSM     (  955): [GsmDataConnectionTracker] setState: 
DISCONNECTING
        >         D/GSM     (  955): [PdpConnection] 
DataConnection.clearSettings()
        >         D/GSM     (  955): [DataConnection] Stop poll NetStat
        >         D/GSM     (  955): [GsmDataConnectionTracker] setState: IDLE
        >         D/GSM     (  955): [GsmDataConnectionTracker] ***trySetupData 
due to (unspecified)
        >         D/GSM     (  955): [DSAC DEB] trySetupData with 
mIsPsRestricted=false
        >         I/GSM     (  955): Preferred APN:310410:310410:ATT, 1, 
310410, wap.cingular, null, null, null, null, null, *
        >         I/GSM     (  955): Waiting APN set to preferred APN
        >         D/GSM     (  955): [GsmDataConnectionTracker] Create from 
allApns : [ATT, 1, 310410, wap.cingular, null, null, null, null, null, *]
        >         D/GSM     (  955): [GsmDataConnectionTracker] Setup 
watingApns : [ATT, 1, 310410, wap.cingular, null, null, null, null, null, *]
        >         D/GSM     (  955): [PdpConnection] DataConnection.getState()
        >         D/GSM     (  955): [PdpConnection] Connecting to carrier: 
'ATT' APN: 'wap.cingular' proxy: 'null' port: 'null
        >         D/RILJ    (  955): [0059]> SETUP_DATA_CALL wap.cingular
        >         D/RIL     (  863): onRequest: SETUP_DATA_CALL

        >         D/RIL     (  863): requestingdataconnectionto APN 
'wap.cingular'

        >         D/RIL     (  863):  ---- Initial running status :  len : 3  
Status: yes
        >         D/RIL     (  863):  ---- Starting service pppd_gprs -----
        >         D/RIL     (  863): --- Initial Response is : 1 ; gprs ; 
000.000.000.000
        >         D/RIL     (  863):  ---- starting wait for property -----, 
len : 3  Status: yes
        >         D/RIL     (  863):  --- PPPD started successfully; status : 
yes  Lengthe: 3,  Retry count : 200
        >         D/RIL     (  863):  ---- Local IP read as :   10.129.140.89  
length : 13 -----
        >         D/RIL
        >

        > ...
        >
        > read more »






-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to