What if I don't have root access? Is there anything else I can do?

On 17 December 2012 16:08, Robert Greenwalt <[email protected]> wrote:

> If you have root you can alter the global settings database
> (DATA_STALL_ALARM_AGRESSIVE_DELAY_IN_MS,
> DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS).
>
>
> On Mon, Dec 17, 2012 at 4:22 AM, Goncalo Oliveira <[email protected]>wrote:
>
>> Robert, isn't there any way to override the data stall detector behavior?
>> or at least change the default value?
>>
>>
>> On 17 December 2012 12:02, Goncalo Oliveira <[email protected]> wrote:
>>
>>> Thanks again for the feedback Robert.
>>>
>>> I'm sending a heartbeat package but an answer is given. Though, I'm only
>>> sending the heartbeat every 30 minutes. Well, currently I'm doing less than
>>> that, but only as a workaround for this problem. For the test in case, I'm
>>> not even sending data. I'm just connecting and listening.
>>> More information that might be relevant - I ran the test again, but this
>>> time I'm not even making a connection. I'm just listening to the
>>> connectivity changes - I was suspecting someone else was causing this.
>>> Turns out that the same behavior occurs, so someone else is causing this?
>>>
>>> 12-17 11:50:27.951   374   374 D GSM     : [GsmDCT] cleanUpConnection:
>>> tearDown=true reason=pdpReset
>>> 12-17 11:50:27.951   374   374 D GSM     : [GsmDCT] cleanUpConnection:
>>> tearing down
>>> 12-17 11:50:27.951   374  1486 D GSM     : [GsmDC-1] DcActiveState
>>> msg.what=EVENT_DISCONNECT RefCount=0
>>> 12-17 11:50:27.951   374  1486 D GSM     : [GsmDC-1] tearDownData radio
>>> is on, call deactivateDataCall
>>> 12-17 11:50:27.951   374  1486 D RILJ    : [1903]> DEACTIVATE_DATA_CALL
>>> 1 2
>>> 12-17 11:50:27.959   374   374 D GSM     : [ApnContext] setState:
>>> DISCONNECTING for type default, previous state:CONNECTED
>>> 12-17 11:50:27.959   374   374 D GSM     : [ApnContext] set reason as
>>> pdpReset, for type mms,current state IDLE
>>> 12-17 11:50:27.959   374   374 D GSM     : [GsmDCT] cleanUpConnection:
>>> tearDown=true reason=pdpReset
>>> 12-17 11:50:27.959   374   374 D GSM     : [ApnContext] setState: IDLE
>>> for type mms, previous state:IDLE
>>> 12-17 11:50:27.959   374   374 D GSM     : [GsmDCT] isDataPossible(mms):
>>> possible=true isDataAllowed=true apnTypePossible=true
>>> apnContextisEnabled=false apnContextState()=IDLE
>>> 12-17 11:50:27.959   374   374 D GSM     : [GsmDCT] get active apn
>>> string for type:mms
>>> 12-17 11:50:27.959   374   374 D GSM     : [ApnContext] set reason as
>>> pdpReset, for type cbs,current state IDLE
>>> 12-17 11:50:27.959   374   374 D GSM     : [GsmDCT] cleanUpConnection:
>>> tearDown=true reason=pdpReset
>>> 12-17 11:50:27.959   374   374 D GSM     : [ApnContext] setState: IDLE
>>> for type cbs, previous state:IDLE
>>> 12-17 11:50:27.959   374   374 D GSM     : [GsmDCT] isDataPossible(cbs):
>>> possible=true isDataAllowed=true apnTypePossible=true
>>> apnContextisEnabled=false apnContextState()=IDLE
>>> 12-17 11:50:27.959   374   374 D GSM     : [GsmDCT] get active apn
>>> string for type:cbs
>>> 12-17 11:50:27.959   374   374 D GSM     : [GsmDCT] stopNetStatPoll
>>> 12-17 11:50:28.006   374   374 D GSM     : [GsmDCT] handleMessage msg={
>>> what=270368 when=-1ms arg1=1 }
>>> 12-17 11:50:28.576   111   209 D RILClient: processUnsolicited():
>>> resp_id (11010), len(59)
>>> 12-17 11:50:28.576   115   194 D RILClient: processUnsolicited():
>>> resp_id (11010), len(59)
>>> 12-17 11:50:28.576   756   784 D RILS    : Executing Am broadcast -a
>>> android.intent.action.PROXIMITY_CP --es cmd on
>>> 12-17 11:50:30.576   374   496 D RILJ    : [1903]< DEACTIVATE_DATA_CALL
>>>
>>> Cheers
>>>
>>>
>>> On 14 December 2012 19:58, Robert Greenwalt <[email protected]>wrote:
>>>
>>>> oops..  I truncated a sentence..
>>>>
>>>> updateDataStallInfo logs show what's going on when a stall is detected.
>>>>  In your log you can see that 21 packets have been sent since you last
>>>> received a packet.
>>>>
>>>>
>>>> On Fri, Dec 14, 2012 at 11:49 AM, Robert Greenwalt <
>>>> [email protected]> wrote:
>>>>
>>>>> The data stall detector is watching for outgoing packets with no
>>>>> corresponding return.  If it sees this for X (6 minute default) it tries a
>>>>> bunch of things and one of those steps is to tear down and rebuild the
>>>>> connection.  That's what you're seeing.  I believe UDP packets may get
>>>>> ignored, thus my tcp/udp question.  You can see some log lines in the 
>>>>> radio
>>>>> log like "updateDataStallInfo: OUT send=..." that show what'
>>>>>
>>>>> What are you doing in your keepalive pings?  Sending a char with no
>>>>> response, or echoing a response back?  That could cause the problem 
>>>>> because
>>>>> there'd be outgoing traffic but no incoming traffic.  If there were NO
>>>>> outgoing the data stall detector shouldn't fire.  If you change your
>>>>> keep-alive to send both ways you should be fine.
>>>>>
>>>>> This makes me wonder what your other test device is doing - the one
>>>>> that doesn't show this problem.  Are you using rooted devices?  They would
>>>>> allow you to use tcpdump and look at the network traffic..
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Dec 14, 2012 at 11:28 AM, Robert Greenwalt <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Interesting.
>>>>>>
>>>>>> Maybe it is an android bug!
>>>>>>
>>>>>> What kind of traffic are you sending?  tcp?  udp?
>>>>>>
>>>>>>
>>>>>> On Fri, Dec 14, 2012 at 11:23 AM, Goncalo Oliveira <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Got the radio logs...
>>>>>>>
>>>>>>> http://pastebin.com/754wJ2jd
>>>>>>>
>>>>>>> This seems to be it
>>>>>>> GSM     : [GsmDCT] onReceive:
>>>>>>> action=com.android.internal.telephony.gprs-data-stall
>>>>>>>
>>>>>>>
>>>>>>> On 14 December 2012 18:25, Robert Greenwalt 
>>>>>>> <[email protected]>wrote:
>>>>>>>
>>>>>>>> 3319 is fine.  It's just the tethering code noting an interface is
>>>>>>>> going away.
>>>>>>>>
>>>>>>>> Can you get radio logs?  This is the system log - there are several
>>>>>>>> log buffers.  A bugreport (adb bugreport > mybug.txt) would get them 
>>>>>>>> all.
>>>>>>>>  Then you can match the connectivityservice dropout with what happened 
>>>>>>>> in
>>>>>>>> the radio.
>>>>>>>>
>>>>>>>> I don't think you should open a bug: this is not an android issue,
>>>>>>>> but rather it's a samsung issue.
>>>>>>>>
>>>>>>>> I have opened an internal issue to expand CTS to check for this -
>>>>>>>> any device wanting to claim to be an android device would not be 
>>>>>>>> allowed to
>>>>>>>> do such a thing in the future.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Dec 14, 2012 at 10:08 AM, Goncalo Oliveira <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Robert,
>>>>>>>>>
>>>>>>>>> Thanks again for the feedback. I traced the logs from samsung with
>>>>>>>>> a simple app to reproduce this behavior. Same thing, 6/7 minutes and 
>>>>>>>>> it
>>>>>>>>> drops.
>>>>>>>>> I posted the logs here: http://pastebin.com/FcPPbq3V
>>>>>>>>> On line 3323 you can see ConnectivityService disconnecting. What I
>>>>>>>>> can't understand is what's causing it. Line 3319 is suspicious as I 
>>>>>>>>> don't
>>>>>>>>> have tethering on, but other than that I can't really determine what 
>>>>>>>>> causes
>>>>>>>>> this. Should I open a bug for this?
>>>>>>>>>
>>>>>>>>> Cheers
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 14 December 2012 16:50, Robert Greenwalt <[email protected]
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Is it possible something else on the device is occasionally
>>>>>>>>>> sending data and reseting your window?
>>>>>>>>>>
>>>>>>>>>> I would look in the log for the timestamp of the
>>>>>>>>>> ConnectivityChanged broadcast and then check the radio log and see 
>>>>>>>>>> what's
>>>>>>>>>> going on.
>>>>>>>>>>
>>>>>>>>>> I suspect there is an unsolicited data call list notification
>>>>>>>>>> coming from the radio showing that the data call has gone away.  
>>>>>>>>>> Perhaps
>>>>>>>>>> just before that there may be something explaining why.
>>>>>>>>>>
>>>>>>>>>> You may have to contact samsung if you're sure that other devices
>>>>>>>>>> have longer connection times on the same carrier.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Fri, Dec 14, 2012 at 8:30 AM, Goncalo Oliveira <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Robert,
>>>>>>>>>>>
>>>>>>>>>>> Thanks for the reply. If I send a packet every 5/6 minutes the
>>>>>>>>>>> connectivity is maintained yes. Only if connection is idle for 
>>>>>>>>>>> longer than
>>>>>>>>>>> that. The weird thing is that it's not an exact timer, even though 
>>>>>>>>>>> the
>>>>>>>>>>> average is very close. Sometimes it lasts 7 minutes, sometimes 8 or 
>>>>>>>>>>> 9. I
>>>>>>>>>>> even saw this happening with a 4 minute interval, though very 
>>>>>>>>>>> rarely. On
>>>>>>>>>>> the other device, I can most of the times maintain higher idle 
>>>>>>>>>>> times.
>>>>>>>>>>> I'll try to look at the logs more carefully to see if there's
>>>>>>>>>>> something else. Is there anything in particular that I should look 
>>>>>>>>>>> for?
>>>>>>>>>>>
>>>>>>>>>>> Cheers
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 14 December 2012 16:16, Robert Greenwalt <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Android is not supposed to do this, though there is no
>>>>>>>>>>>> guarantee of connectivity.  It sounds like something samsung is 
>>>>>>>>>>>> doing,
>>>>>>>>>>>> either accidentally or on purpose.
>>>>>>>>>>>>
>>>>>>>>>>>> If you send a packet every 6 minutes does that keep the device
>>>>>>>>>>>> from pulsing connectivity?
>>>>>>>>>>>>
>>>>>>>>>>>> Can you take a bugreport - the radio log may have some
>>>>>>>>>>>> indication of why it's happening.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Dec 14, 2012 at 2:24 AM, Goncalo Oliveira <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Seems that Android is dropping idle sockets when under a
>>>>>>>>>>>>> mobile network. Usually, no socket is kept alive for more than 7 
>>>>>>>>>>>>> minutes of
>>>>>>>>>>>>> inactivity. I am using a SIM card with a particular APN, that 
>>>>>>>>>>>>> allows idle
>>>>>>>>>>>>> sockets for at least 30 minutes - this was tested using another 
>>>>>>>>>>>>> kind of
>>>>>>>>>>>>> device, also communicating with GSM, and there are no drops, so 
>>>>>>>>>>>>> problem
>>>>>>>>>>>>> isn't the SIM card.
>>>>>>>>>>>>>
>>>>>>>>>>>>> After a few searches in the web, I tried a few approaches to
>>>>>>>>>>>>> work around this, but until now, no success. I tried using a 
>>>>>>>>>>>>> partial wake
>>>>>>>>>>>>> lock after connecting, releasing only when disconnected - didn't 
>>>>>>>>>>>>> work. Also
>>>>>>>>>>>>> tried using only a 2G network, as some said that changing from 
>>>>>>>>>>>>> network type
>>>>>>>>>>>>> could impact on this - same outcome.
>>>>>>>>>>>>>
>>>>>>>>>>>>> After digging a bit more and by analyzing logcat, I watched
>>>>>>>>>>>>> that a CONNECTIVITY_CHANGE is sent after some idle time,
>>>>>>>>>>>>> disabling the data transfer availability (active network is 
>>>>>>>>>>>>> mobile, no
>>>>>>>>>>>>> connectivity) and another one is sent enabling it again (active 
>>>>>>>>>>>>> network is
>>>>>>>>>>>>> mobile, connectivity). This cuts off all live socket connections.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Investigating a little bit more, I also observed that this
>>>>>>>>>>>>> behavior is not consistent through all Android versions, or maybe 
>>>>>>>>>>>>> (even
>>>>>>>>>>>>> worse) through different hardware. Connectivity break is
>>>>>>>>>>>>> occurring in a Galaxy Tab 7 with Android 4.0.4. The same isn't 
>>>>>>>>>>>>> occurring in
>>>>>>>>>>>>> an Unitech TB 100 with Android 3.2.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Does anyone know where I can get more information and/or I can
>>>>>>>>>>>>> work around this? I would really like to avoid sending heartbeats 
>>>>>>>>>>>>> every 6/7
>>>>>>>>>>>>> minutes.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cheers
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>> Google
>>>>>>>>>>>>> Groups "Android Developers" group.
>>>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>> For more options, visit this group at
>>>>>>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  --
>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>> Google
>>>>>>>>>>>> Groups "Android Developers" group.
>>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>>> [email protected]
>>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>>> [email protected]
>>>>>>>>>>>> For more options, visit this group at
>>>>>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Gonçalo Oliveira
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google
>>>>>>>>>>> Groups "Android Developers" group.
>>>>>>>>>>> To post to this group, send email to
>>>>>>>>>>> [email protected]
>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>> [email protected]
>>>>>>>>>>> For more options, visit this group at
>>>>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  --
>>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>>> Groups "Android Developers" group.
>>>>>>>>>> To post to this group, send email to
>>>>>>>>>> [email protected]
>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>> [email protected]
>>>>>>>>>> For more options, visit this group at
>>>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Gonçalo Oliveira
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "Android Developers" group.
>>>>>>>>> To post to this group, send email to
>>>>>>>>> [email protected]
>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>> [email protected]
>>>>>>>>> For more options, visit this group at
>>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Android Developers" group.
>>>>>>>> To post to this group, send email to
>>>>>>>> [email protected]
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> [email protected]
>>>>>>>> For more options, visit this group at
>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Gonçalo Oliveira
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Android Developers" group.
>>>>>>> To post to this group, send email to
>>>>>>> [email protected]
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> [email protected]
>>>>>>> For more options, visit this group at
>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Android Developers" group.
>>>> To post to this group, send email to
>>>> [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/android-developers?hl=en
>>>>
>>>
>>>
>>>
>>> --
>>> Gonçalo Oliveira
>>>
>>
>>
>>
>> --
>> Gonçalo Oliveira
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Gonçalo Oliveira

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to