Discussion:
[Bitpim-devel] Audiovox CDM-8600 (Brew-enabled)
c***@hrdc-drhc.gc.ca
2004-01-28 15:52:42 UTC
Permalink
Good morning,

My name is Calvin Martini and I am located in Moncton, New Brunswick, Canada. I have no python experience although I have looked over the BitPim code and skimmed through the python documentation and I feel reasonably comfortable that I could develop the necessary scripts for a phone. I have perl and PHP scripting experience and consider my general programming skills to be intermediate.

I am possibly interested in developing Audiovox CDM-8600 support (Qualcomm 3G CDMA 1x chipset, BREW-enabled) and am gathering information. Bitpim works in file system mode with this phone.

The CDM-8600 stores phonebook information within the file system. The file format has been documented.

In looking through the Sanyo and LG scripts, they rely on a manufacturer proprietary phonebook protocol and do not work through the BREW file system for manipulation of the phonebook data.

At my current level of understanding, I don't see why the CDM-8600's files couldn't be manipulated directly through the BREW file system. Is this a good assumption? If not, does anyone know if Audiovox has a phonebook protocol and if information is available? Perhaps this is a non-starter?

Sincerely,

Calvin
Roger Binns
2004-01-28 23:23:23 UTC
Permalink
Post by c***@hrdc-drhc.gc.ca
In looking through the Sanyo and LG scripts, they rely on a manufacturer
proprietary phonebook protocol and do not work through
the BREW file system for manipulation of the phonebook data.
The LG phones also store the information in the Brew filesystem.
Post by c***@hrdc-drhc.gc.ca
At my current level of understanding, I don't see why the CDM-8600's files
couldn't be manipulated directly through the BREW file system. Is this a
good assumption?
If there is a sync protocol then it should be used. This is because that
is how the phone's internal software will have been designed to operate
and bypassing it could have unforseen consequences. On the LG phone
the internal software is not notified about file system changes and
happily carries on operating with old contents. (You can see that if
you update the groups file). You can get around that by rebooting the
phone after writing to it (and hope the internal software doesn't write
stale information on shutdown to any files).

On the LG there are actually quite a number of other files that index
into the phonebook files (for example voicedials and speeddials). Going
direct to the filesystem and bypassing the sync protocol would screw them
up royally.

Generally the sync protocol is very similar (and sometimes the same) between
different models from the same manufacturer. If you have software from
someone else that can talk to the phone, do some serial port sniffing and
take it from there.

If you do use someone elses software, please ensure you are properly licensed
and abiding by the license agreement. I am not the slightest bit interested
in stolen or violated software, nor in using information from them.

Roger
Stephen Wood
2004-01-29 04:09:31 UTC
Permalink
For the Sanyo phones, I didn't use the BREW file system because:

1) When I learned about BitPim and the file system, I had already the
phonebook protocol mostly figured out.
2) The phonebook is stored in the non-descript files nvm_0007 through
nvm_0010. I figured there was a better chance that different model
phones would share the protocol than share specific filenames.

I would suggest grabbing one of the files with phonebook info, making a
small change in it (while preserving its size) and writing it back to
the phone. You may need to put phone offline and reboot it when you are
done. If the change you make gets to the phone, then manipulating the
filesystem might be a valid way to go.

Can you tell us where to see the file format documentation?

Stephen

On Wed, 2004-01-28 at 10:52, ***@hrdc-drhc.gc.ca wrote:
...
At my current level of understanding, I don’t see why the CDM-8600's
files couldn’t be manipulated directly through the BREW file system.
Is this a good assumption? If not, does anyone know if Audiovox has a
phonebook protocol and if information is available? Perhaps this is a
non-starter?
Sincerely,
Calvin
Stephen Wood
2004-01-29 17:07:26 UTC
Permalink
I finally tried using the filesystem to update one of the nvm files with
phonebook data on my Sanyo 4900. I put the phone into offline mode, and
it would not let me update the file. That is too bad, I was hoping to
be able to use this for phonebook transfer for Sanyo phones for which I
don't know the protocol (SCP-5500).

Stephen
Roger Binns
2004-01-31 07:15:16 UTC
Permalink
Post by Stephen Wood
I finally tried using the filesystem to update one of the nvm files with
phonebook data on my Sanyo 4900. I put the phone into offline mode, and
it would not let me update the file.
The 4400 and 6000 will let you read nvm files, but won't let you write
over them even in offline mode. However the only things stored in
the nvm hierarchy are stuff like the settings (backlight colours,
IP addresses for Get It Now servers etc). Everything else (calendar,
phonebook, wallpaper, ringtones etc) are stored in a different part
of the filesystem.

I believe the only intent of the filesystem protocol was to allow
developers to upload Brew applications to phones.

Roger

Calvin Martini
2004-01-30 21:23:04 UTC
Permalink
Thanks Stephen and Roger - good feedback and a good reality check. I've
checked on protocol analyzers (USB Snoopy is one) but lack sync software
to analyze. I will buy a commercial phonebook sync package for the
CDM-8600 when one becomes available and will see what it's sending. I
have specs on USB protocol (http://www.usb.org/home) and have some
resources in that area; however, I've checked the web extensively and so
far cannot locate details on a sync protocol for Audiovox phones with
Qualcomm chipsets.
Post by Stephen Wood
Can you tell us where to see the file format documentation?
Stephen
There is a lot of good activity from users of the Audiovox forum at the
HowardForums site. A user name "Hexxboy" has developed a program to
modify the ring tone and wallpaper index files. They have been using
this tool and BitPim's file system transfer capability successfully.
I've used this method myself with good success. The utility is called
voxindexeditor. Two versions of it are available on the following page:

http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pag
enumber=7

The phonebook format for the Audiovox CDM-8600 was documented by a
HowardForums user "Kilsen" on January 24th. I've attached Kilsen's file
to this message. The original post can be found here:

http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pag
enumber=8

Another HowardForums user, "mentalbob", took Kilsen's document and wrote
a C program for the CDM-8900 to take the raw phonebook file and convert
it to CSV format. The user has posted the source as well as a binary.
The post can be found here:

http://howardforums.com/showthread.php?s=&threadid=290620

Since things seem to be progressing quickly on these forums, I've been
monitoring them for new developments. I figure it's only a matter of
days before someone tests modifying the phonebook directly via the file
system and posts the results. They'll probably post results before I get
a change to try anything.

My thoughts are that it would be better to work on revisions to Bitpim
since it's an open source effort - it makes a lot of sense to combine
efforts instead of working on independent projects. The talent and
interest seems to be there in the CDM-8600 user community.

Thanks for your valuable contributions to the open source community!

Best Regards,

Calvin.

====
Calvin Martini
Moncton, New Brunswick, Canada
c***@hrdc-drhc.gc.ca
2004-01-29 13:43:01 UTC
Permalink
Thanks Stephen and Rob - good feedback and a good reality check. I'm lacking software that I can use for protocol analysis (as well as the tools to perform analysis - haven't checked). I've checked the web extensively and so far cannot locate details on a sync protocol for Audiovox phones with Qualcomm chipsets.
Post by Stephen Wood
Can you tell us where to see the file format documentation?
Stephen
There is a lot of good activity from users of the Audiovox forum at the HowardForums site. A user name "Hexxboy" has developed a program to modify the ring tone and wallpaper index files. They have been using this tool and BitPim's file system transfer capability successfully. I've used this method myself with good success. The utility is called voxindexeditor. Two versions of it are available on the following page:

http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pagenumber=7

The phonebook format for the Audiovox CDM-8600 was documented by a HowardForums user "Kilsen" on January 24th. I've attached Kilsen's file to this message. The original post can be found here:

http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pagenumber=8

Another HowardForums user, "mentalbob", took Kilsen's document and wrote a C program for the CDM-8900 to take the raw phonebook file and convert it to CSV format. The user has posted the source as well as a binary. The post can be found here:

http://howardforums.com/showthread.php?s=&threadid=290620

Since things seem to be progressing quickly on these forums, I've been monitoring them for new developments. I figure it's only a matter of days before someone tests modifying the phonebook directly via the file system and posts the results. They'll probably post results before I get a change to try anything.

My thoughts are that it would be better to work on revisions to Bitpim since it's an open source effort - it makes a lot of sense to combine efforts instead of working on independent projects. The talent and interest seems to be there in the CDM-8600 user community.

Thanks for your valuable contributions to the open source community!

Best Regards,

Calvin.

====
Calvin Martini
Moncton, New Brunswick, Canada
c***@hrdc-drhc.gc.ca
2004-01-30 12:54:33 UTC
Permalink
Thanks Stephen and Roger - good feedback and a good reality check. I've checked on protocol analyzers (USB Snoopy is one) but lack sync software to analyze. I will buy a commercial phonebook sync package for the CDM-8600 when one becomes available and will see what it's sending. I have specs on USB protocol (http://www.usb.org/home) and have some resources in that area; however, I've checked the web extensively and so far cannot locate details on a sync protocol for Audiovox phones with Qualcomm chipsets.
Post by Stephen Wood
Can you tell us where to see the file format documentation?
Stephen
There is a lot of good activity from users of the Audiovox forum at the HowardForums site. A user name "Hexxboy" has developed a program to modify the ring tone and wallpaper index files. They have been using this tool and BitPim's file system transfer capability successfully. I've used this method myself with good success. The utility is called voxindexeditor. Two versions of it are available on the following page:

http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pagenumber=7

The phonebook format for the Audiovox CDM-8600 was documented by a HowardForums user "Kilsen" on January 24th. I've attached Kilsen's file to this message. The original post can be found here:

http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pagenumber=8

Another HowardForums user, "mentalbob", took Kilsen's document and wrote a C program for the CDM-8900 to take the raw phonebook file and convert it to CSV format. The user has posted the source as well as a binary. The post can be found here:

http://howardforums.com/showthread.php?s=&threadid=290620

Since things seem to be progressing quickly on these forums, I've been monitoring them for new developments. I figure it's only a matter of days before someone tests modifying the phonebook directly via the file system and posts the results. They'll probably post results before I get a change to try anything.

My thoughts are that it would be better to work on revisions to Bitpim since it's an open source effort - it makes a lot of sense to combine efforts instead of working on independent projects. The talent and interest seems to be there in the CDM-8600 user community.

Thanks for your valuable contributions to the open source community!

Best Regards,

Calvin.

====
Calvin Martini
Moncton, New Brunswick, Canada
Roger Binns
2004-01-31 07:09:59 UTC
Permalink
***@hrdc-drhc.gc.ca wrote:

[You managed to send this three times! SourceForge has been having some mail issues
Post by c***@hrdc-drhc.gc.ca
I've checked on protocol analyzers (USB Snoopy is one) but
lack sync software to analyze.
Those generate WAY too much info, and most of it isn't relevant. I would expect
the phone to just use standard bulk transfers (which is what the bitpim code does).
Post by c***@hrdc-drhc.gc.ca
I will buy a commercial phonebook sync package for the CDM-8600 when one becomes
available and will see what it's sending.
Get one anyway that has free upgrades for new phone models, and tell them it is
a different model of Audiovox. Chances are the sync protocol is very similar.
Usually a few fields are different length and that is about it.
Post by c***@hrdc-drhc.gc.ca
I have specs on USB protocol (http://www.usb.org/home) and have some resources in
that area; however,
You really don't want to dive that deep if it can be avoided. By far the best tool
to use is portmon from sysinternals.com on Windows. You will need to make sure you
setr max output bytes to a large value and turn on show hex in the output.
Post by c***@hrdc-drhc.gc.ca
I've checked the web extensively and so far cannot locate details on a sync protocol
for Audiovox phones with Qualcomm chipsets.
The phone manufacturers have a nice cushy arrangement with the software companies
and don't expect general usage of their sync protocols, which is why they are
ugly.

But once you have a starting point for the protocol, it becomes pretty easy to
figure out. BitPim has a builtin protocol viewer and protocol description files
which makes development really easy.
Post by c***@hrdc-drhc.gc.ca
http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pagenumber=7
The format is similar but slightly more complicated than the LG phones. The LG uses
two bytes to say how many active entries there are, then each entry consists of
two bytes for an index id, and then the name null padded. The VX4400 has one location
for the index files and associated data. The VX6000 has three.
Post by c***@hrdc-drhc.gc.ca
http://howardforums.com/showthread.php?s=&threadid=253375&perpage=15&pagenumber=8
The VX4400 also likes to store the numbers in the files as BCD. One thing I noticed
is that there doesn't appear to be a unique id for an entry. ie if reading from
the phonebook a second time, how can you tell if an entry is the same. (Imagine
the user editted the name, or one or more of the numbers). The LG phones associate
a 32 bit ever increasing serial number to each entry. Editing an entry keeps
the serial number. Making a new entry allocates a new number.

(The 4400 and VX600 also store the information in seperate files - numbers in one,
names, emails, urls in another. The numbers are in fixed length fields with
the last nibble being e to indicate the end).
Post by c***@hrdc-drhc.gc.ca
My thoughts are that it would be better to work on revisions to Bitpim since
it's an open source effort
It also works on Linux and Mac which most companies seem to ignore.

If you want to get started, look on the BitPim developer page and get a working
version based on CVS. You will probably want to start writing some descriptions.
Look in the examples directory to see what the analyser works with. You
can run analyser.py from the main directory on any of those files.

Then write a description file (eg p_audiovox8600.p). There are other files as
examples and a more detailed description in packetdescription.txt. Then format
the data in the same way as the examples, and verify your description works
in the analyser, tweaking as needed.

In the web directory there is a file named phonespec.html which gives more details
on how to add a phone. It is somewhat rough and incomplete. Please let me know
if you have any comments, updates or sections that need more detail.

Roger
Loading...