Discussion:
[BitPim-devel] A crappy firmware story (VGA1000)
Stephen Wood
2005-02-18 15:35:36 UTC
Permalink
I have been having a real painful time figuring out how to write the
phonebook to the Samsung SPH-A620/VGA1000 without BitPim crashing
during the write because one of the AT#PBOKW commands returns ERROR
instead of OK.

My first suspicion was related to speed dials. One or two versions
ago, what was done in the pb write was to read through all the slots
to see which slots had entries in them. (Partly for that reason and
partly to get birthdays so that birthdays can be preserved when the pb
is written back out. [Can/should we add a birthday field to the
BitPim phonebook?]). I would then write out the phonebook. After
that was done, I then cleared the originally used slots that didn't
get overwritten. What I suspected is, that since the phonbook on the
phone was not initially wiped out, an entry being written to the phone
could be using a speed dial assignment that used by another slot.

So, as of the 0.7.26, the phonebook is completely wiped (with 300
AT#PBOKW=slot#) commands. This seem to make things worse, in that it
then became more likely that a phonebook write would fail part way
through.

This failure can be triggered by reading the phonebook from the phone
into BitPim and then writing the phonebook without change back to the
phone. If one repeatedly writes this phebook to the phone, it will
eventually fail.

The VGA1000 has a limit of 300 numbers. This is numbers, not names.
So a contact with a home, cell and work # uses of three of these
numbers. You can observe how many numbers the phone thinks are in use
by editing and then saving an entry with the phone.

What I think some others have observed, is that each time one writes
out the phonebook, the count of numbers that the phone "thinks" is has
increases. So eventually one hits the 300 # limit. The only way I
know to reset this limit is to go into the phones security menu and
wipe the phonebook.

Well it turns out that not only is each phone number included in the
300 # limit, but email addresses and urls count toward this limit
also.

It is clear that the phones count of the # of numbers is not computed
by counting the number of #'s, but by incrementing or decrementing a
counter each time an entry is added, modified or deleted. The problem
with this is that the phone doesn't always do the math correctly. If
you delete an entry with a url, it does not subtract 1 for the url.
So every time an entry with a url is deleted and then rewritten, the
artificial number count on the phone goes up by 1.

I think there is a solution to this crappyness. If instead of
deleting an entry with a url, the entry is first read and then written
out with a null url, and then deleted, the number count seems to come
out correct. (Except that phones that have an incorrect count will
still need to have their phonebooks wiped).

Does anyone have any idea if it is possible to set this phonenumber
count from BitPim?

Also, given that 300 numbers, when email addresses and urls included,
is not that large, I'll have to have a strategy for what to do when to
much data is being sent to the phone. Is it best to drop whole
entries, or drop information from entries (such as the url and email
address) in order to keep the number count below 300.

I can't wait for the next firmware bug that is going to cause trouble.

Stephen

Loading...