A crappy firmware story (VGA1000)
Stephen Wood <[email protected]>
| Newsgroups | gmane.comp.mobile.bitpim.devel |
|---|---|
| Message-ID | <[email protected]> |
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 ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click