Bug #1024 (oscillating re-camping), the story goes on...

Dieter Spaar spaar at openmoko.org
Mon Mar 30 20:19:31 CEST 2009


Hello,

Even if it was quiet for some time about Bug #1024, it is
not forgotten. The problem still is that this bug cannot
yet be reproduced in a lab environment where the reason
for it could be analyzed.

Just to make sure that we talk about the same: Bug #1024
means that the phone is in idle mode (no speech or data
traffic) and registered to a network. After some time
(a few minutes) the signal is lost and the phone re-camps
to the network. This process repeats several times and
might not even stop.

Bug #1024 however is NOT switching between different
cells without re-camping. Its OK if the phone switches
cells if the signal of one cell becomes stronger. Due
to fading this can also happen if the phone is not
moved at all.

Its still not clear if this bug is a hardware and/or
Calypso firmware problem. Also its not clear if it
occurs with all phones and hardware revisions (and no,
just stating that this problem occurs with every phone
but not being able to provide logs for further analysis
is no evidence).

Till now we have one trace of Bug #1024 (Thanks, Al, for
taking the time). Some facts from this trace:

  - The phone is in "idle" mode (no speech/data traffic)
    and periodically receives the paging channel (PCH) to
    find out if its being called. Further the phone measures
    the signal strength of neighbor cells and every now
    and then (not that frequent as the above actions)
    receives the cell information in the broadcast common
    control channel (BCCH) of the serving cell and of
    at most six neighbor cells with the strongest signal.
    
  - In the trace bug #1024 shows up as an error flag which
    is set after receiving the PCH. If this flag is set, its
    stays set until the phone re-camps (during "normal"
    operation it sometimes happens that this flag is set once,
    however next time it is reset again and nothing serious
    happens). Why this error flag is set, is not clear. It
    comes from the DSP and we don't have any information
    about what exactly is going on in the DSP, its code
    is in ROM). Most certainly this flag means that
    something with decoding/error correction of the
    frames went wrong.
    
  - The time between receiving the PCH is determined by a
    parameter of the serving cell (BS_PA_MFRMS, range 2 to 9).
    Its measured in 51-multiframes until the PCH for the phone
    repeats (if you want to know the details have a look at
    the GSM specs ;-). The length of a 51-multiframe is
    235.8 ms, this means the time between receiving the PCH
    is in the range 471.9 ms to 2122.2 ms. In this time the
    idle phone most of the time sleeps or receives the BCCH
    of the serving cell or one of the neighbor cells with
    the strongest signal (at most six).
 
  - In the trace there is no evidence that it depends on the
    "history" if bug #1024 occurs. There are situation where
    the serving/neighbor cell was received short before but
    there are also situations where just the PCH is periodically
    received six or seven times and suddenly the error flag is
    set.

  - One observation from the trace is that the delay between
    receiving the PCH is rather larger (8, this means 1886.4 ms).
    In my rural area this value is smaller. The high value of 8
    most certainly means that this is a cell serving many
    phones because it needs a lot of PCHs.
    
  - At the end of this email are some extracted data from the
    trace, they show receiving of the PCH. One interesting thing
    is the changing value of the TOA (Time of arrival) values
    short before bug #1024 occurs (there are four TOA values
    because it requires the reception of four consecutive
    frames to get the 23 bytes of data in the PCH). In "Big
    Sleep" Mode those TOA values are stable.
    
The difference between "Deep Sleep" (bug #1024 occurs) and "Big
Sleep" (AT%SLEEP=2 workaround) is that in "Deep Sleep" mode
the main oscillator of the Calypso is turned off and the 32kHz
oscillator is used. A possible reason for bug #1024 could be
some problems with the 32kHz oscillator, especially if the
"Deep Sleep" period is long. Maybe there are longtime
stability/interference problems or the calibration of the
32kHz oscillator is not working properly (it is automatically
calibrated by the firmware every few seconds).
    
Here in my lab environment I can simulate the serving cell
that is used in the trace. However with my few GTA02 devices
I don't observe bug #1024 and even in "Deep Sleep" mode the
TOA values are stable. I can also vary the delay between
receiving the PCH, again no problems so far. This still is
no evidence for anything, it might be that bug #1024 only
occurs on some devices, however it could also be that bug
#1024 only occurs if some external "RF noise" disturbs the
phone while it is in "Deep Sleep" mode.

There is also still an open question about resistor R1050
of the 32kHz oscillator. For the GTA01/GTA02 it is 220k
although in some TI documentation 100k is mentioned. Why
this resistor is 220k for our phones could not be found
yet, this value was already used in the early prototypes.

So my question to the list is: If anyone who can reproduce
#1024 wants to try out what happens if R1050 is changed to
100k, please feel free to do so and report the result :-).

Also if anyone observing #1024 wants to help and make some
traces, please let us know. Tracing is not that complicated,
all what is needed is a cable to connect the optional debug
UART from the headset to a terminal and record the data.
For a start, the default data are good enough. We do have
some USB cables (Thanks to Werner who took care) so if you
are willing to make the traces and need a cable and are
best of all located in Europe to make sending the cable
easier, feel free to contact me.

Best regards,
  Dieter
 
#################################################################

* (xxx): Distance in frames to previous frame
  (usually 8 * 51 frames)

* "Internal" channel 308 means channel DCS1800 645.

* meaning of number columns: frame_number - error_flag -
    - internal_channel - rx_lev -
    - TPU_offset - AfcDacValue -
    - TOA_array (time of arrival)

***** BIG_SLEEP

(  0)  NP_I 5293 0 308 108 1323 165 3 3 3 3
(408)  NP_I 5701 0 308 108 1323 165 3 3 3 3
(408)  NP_I 6109 0 308 108 1323 165 3 3 3 3
(408)  NP_I 6517 0 308 106 1323 165 3 3 3 3
(408)  NP_I 6925 0 308 108 1323 164 3 3 3 3
(408)  NP_I 7333 0 308 108 1323 164 3 3 3 3
(408)  NP_I 7741 0 308 107 1323 164 3 3 3 3
(408)  NP_I 8149 0 308 109 1323 164 0 0 0 0
***** ERROR 1
(408)  NP_I 8557 1 308 109 1323 164 5 5 5 5
(408)  NP_I 8965 1 308 109 1323 164 0 0 2 2
(408)  NP_I 9373 1 308 110 1315 164 1 0 2 2

***** Recamp

-------------------------------------------

(  0)  NP_I 12637 0 308 108 1275 168 3 3 3 3
(408)  NP_I 13045 0 308 108 1275 168 3 3 3 3
(408)  NP_I 13453 0 308 109 1275 169 3 3 3 3
(408)  NP_I 13861 0 308 108 1275 169 3 3 3 3
(408)  NP_I 14269 0 308 107 1275 169 3 3 3 3
(408)  NP_I 14677 0 308 109 1275 169 3 3 3 3
(408)  NP_I 15085 0 308 108 1275 169 2 2 2 2
(408)  NP_I 15493 0 308 107 1274 169 1 1 1 1
(408)  NP_I 15901 0 308 107 1274 169 0 0 0 0
***** ERROR 2
(408)  NP_I 16309 1 308 108 1274 169 6 6 6 6
(408)  NP_I 16717 1 308 108 1266 169 7 7 7 7
(408)  NP_I 17125 1 308 108 1266 169 5 5 5 5

***** Recamp

-------------------------------------------

(  0)  NP_I 20389 0 308 107 1242 166 3 3 3 3
(408)  NP_I 20797 0 308 107 1242 166 3 3 3 3
(408)  NP_I 21205 0 308 108 1242 166 3 3 3 3
(408)  NP_I 21613 0 308 108 1242 166 3 3 3 3
(408)  NP_I 22021 0 308 108 1242 166 3 3 3 3
(408)  NP_I 22429 0 308 107 1242 167 3 3 3 3
(408)  NP_I 22837 0 308 108 1242 166 2 2 2 2
(408)  NP_I 23245 0 308 109 1242 166 1 1 1 1
(408)  NP_I 23653 0 308 108 1242 166 0 0 0 0
(408)  NP_I 24061 0 308 107 1234 166 0 0 0 0
***** ERROR 3
(408)  NP_I 24469 1 308 108 1234 166 6 6 6 6
(408)  NP_I 24877 1 308 107 1234 166 3 3 4 4
(408)  NP_I 25285 1 308 108 1226 166 3 3 4 4

***** Recamp

-------------------------------------------

(  0)  NP_I 28549 0 308 108 1198 162 3 3 3 3
(408)  NP_I 28957 0 308 107 1198 162 3 3 3 3
(408)  NP_I 29365 0 308 107 1198 162 3 3 3 3
(408)  NP_I 29773 0 308 108 1198 162 3 3 3 3
(408)  NP_I 30181 0 308 108 1198 162 3 3 3 3
(408)  NP_I 30589 0 308 107 1198 162 2 2 2 2
(408)  NP_I 30997 0 308 108 1197 162 2 2 2 2
(408)  NP_I 31405 0 308 107 1197 162 2 2 2 2
(408)  NP_I 31813 0 308 107 1197 162 2 3 2 2
(408)  NP_I 32221 0 308 108 1193 162 3 3 4 3
(408)  NP_I 32629 0 308 107 1193 161 4 4 4 4
(408)  NP_I 33037 0 308 107 1196 160 3 3 3 3
(408)  NP_I 33445 0 308 108 1196 160 3 3 3 3
(408)  NP_I 33853 0 308 107 1196 160 3 3 3 3
(408)  NP_I 34261 0 308 107 1196 160 3 3 3 3
(408)  NP_I 34669 0 308 107 1196 160 3 3 3 3
(408)  NP_I 35077 0 308 108 1196 160 3 3 3 3
(408)  NP_I 35485 0 308 107 1196 160 1 1 1 1
***** ERROR 4
(408)  NP_I 35893 1 308 108 1196 160 7 7 7 7
(408)  NP_I 36301 1 308 107 1188 160 7 7 7 7
(408)  NP_I 36709 1 308 108 1188 160 4 4 4 5


***** Recamp

-------------------------------------------

(408)  NP_I 39973 0 308 108 1160 157 3 3 3 3
(408)  NP_I 40381 0 308 109 1160 157 3 3 3 3
(408)  NP_I 40789 0 308 109 1160 158 3 3 3 3
(408)  NP_I 41197 0 308 108 1160 158 3 3 3 3
(408)  NP_I 41605 0 308 108 1160 157 3 3 3 3
(408)  NP_I 42013 0 308 107 1160 157 3 3 3 3
(408)  NP_I 42421 0 308 108 1160 157 1 1 1 1
(408)  NP_I   397 0 308 107 1160 157 0 7 0 0
***** ERROR 5
(408)  NP_I   805 1 308 108 1160 157 5 5 5 5
(408)  NP_I  1213 1 308 108 1152 157 5 5 5 5
(408)  NP_I  1621 1 308 108 1152 157 5 5 5 5

***** Recamp

-------------------------------------------


(  0)  NP_I  6166 0 308 106 1128 154 3 3 3 3
(351)  NP_I  6517 0 308 107 1128 153 3 3 3 3
(408)  NP_I  6925 0 308 108 1128 153 3 3 3 3
(408)  NP_I  7333 0 308 108 1128 153 3 3 3 3
(408)  NP_I  7741 0 308 108 1128 153 3 3 3 3
(408)  NP_I  8149 0 308 108 1128 153 3 3 3 3
(408)  NP_I  8557 0 308 108 1128 153 3 3 3 3
(408)  NP_I  8965 0 308 107 1128 153 1 1 1 1
(408)  NP_I  9373 0 308 107 1128 153 0 0 0 0
***** ERROR 6
(408)  NP_I  9781 1 308 108 1128 153 5 5 5 5
(408)  NP_I 10189 1 308 109 1120 153 5 5 5 5
(408)  NP_I 10597 1 308 108 1120 153 0 0 2 2

***** Recamp, from now on BIG_SLEEP

-------------------------------------------

 
(  0)  NP_I 13861 0 308 107 1084 151 3 3 3 3
(408)  NP_I 14269 0 308 106 1084 152 3 3 3 3
(408)  NP_I 14677 0 308 107 1084 152 3 3 3 3
(408)  NP_I 15085 0 308 107 1084 152 3 3 3 3
(408)  NP_I 15493 0 308 107 1084 151 3 3 3 3
(408)  NP_I 15901 0 308 107 1084 152 3 3 3 3
(408)  NP_I 16309 0 308 107 1084 152 3 3 3 3
(408)  NP_I 16717 0 308 107 1084 151 3 3 3 3
(408)  NP_I 17125 0 308 108 1084 151 3 3 3 3
(408)  NP_I 17533 0 308 107 1084 151 3 3 3 3
(408)  NP_I 17941 0 308 106 1084 151 3 3 3 3
(408)  NP_I 18349 0 308 106 1084 151 3 3 3 3
(408)  NP_I 18757 0 308 106 1084 151 3 3 3 3
(408)  NP_I 19165 0 308 107 1084 151 3 3 3 3
(408)  NP_I 19573 0 308 106 1084 151 3 3 3 3
(408)  NP_I 19981 0 308 107 1084 151 3 3 3 3
(408)  NP_I 20389 0 308 107 1084 150 3 3 3 3
(408)  NP_I 20797 0 308 108 1084 150 3 3 3 3
(408)  NP_I 21205 0 308 106 1084 150 3 3 3 3
(408)  NP_I 21613 0 308 107 1084 150 3 3 3 3
(408)  NP_I 22021 0 308 107 1084 150 3 3 3 3
(408)  NP_I 22429 0 308 108 1084 150 3 3 3 3
(408)  NP_I 22837 0 308 108 1084 149 3 3 3 3
(408)  NP_I 23245 0 308 108 1084 148 3 3 3 3
(408)  NP_I 23653 0 308 106 1084 148 3 3 3 3
(408)  NP_I 24061 0 308 106 1084 148 3 3 3 3
(408)  NP_I 24469 0 308 107 1084 147 3 3 3 3
(408)  NP_I 24877 0 308 106 1084 147 3 3 3 3
(408)  NP_I 25285 0 308 107 1084 147 3 3 3 3
(408)  NP_I 25693 0 308 108 1084 147 3 3 3 3
(408)  NP_I 26101 0 308 108 1084 147 3 3 3 3
(408)  NP_I 26509 0 308 108 1084 147 3 3 3 3
(408)  NP_I 26917 0 308 109 1084 146 3 3 3 3
(408)  NP_I 27325 0 308 109 1084 146 3 3 3 3
(408)  NP_I 27733 0 308 108 1084 146 3 3 3 3
(408)  NP_I 28141 0 308 110 1084 146 3 3 3 3
(408)  NP_I 28549 0 308 109 1084 146 3 3 3 3
(408)  NP_I 28957 0 308 108 1084 146 3 3 3 3
(408)  NP_I 29365 0 308 109 1084 146 3 3 3 3
(408)  NP_I 29773 0 308 108 1084 145 3 3 3 3
(408)  NP_I 30181 0 308 108 1084 145 3 3 3 3
(408)  NP_I 30589 0 308 109 1084 145 3 3 3 3
(408)  NP_I 30997 0 308 110 1084 145 3 3 3 3
(408)  NP_I 31405 0 308 108 1084 145 3 3 3 3
(408)  NP_I 31813 0 308 108 1084 145 3 3 3 3
(408)  NP_I 32221 0 308 107 1084 145 3 3 3 3

##########################################################




More information about the hardware mailing list