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