SamBru


A free phone data synchronization utility

DOWNLOAD - Latest is v0.2, Nov 15, 2000
AT COMMANDS
CHANGELOG
README
TODO

WARNING This software comes with no warranty. Although it works fine for me, it's possible that it will do horrible things to your phone. This software is in a very rough state right now. I'm working on a newer version that cleans up a lot of this garbage. :)

SamBru (Samsung Backup and Restore Utility) is a perl script that will talk to a Samsung SCH-6100 or SCH-8500 phone. (Note: it will most likely NOT work with a SCH-3500, as it uses a different (binary) format.) You can use it to back up and restore the phone book, calendar, and TODO list. It can save the data in either raw/native format, or as vCard/vCalendar data so that GnomeCard and GnomeCal can be used to view & edit the data. Currently, only the phone list is supported.

Data Link Information

If you haven't already seen it, you should take a look at John Navas' site for information about using these phones in data mode. There's also some serial protocol information there.

AT Command set

I figured out the AT command protocol by firing about 500,000 AT commands at the phone, and seeing which ones returned OK. Here are the relevant results:

Date Format

Format: YYYYMMDDTHHMMSS
Example: 11/15/2000, 1:53:23pm = 20001115T131523

Programming Mode

Before the phone will accept any of these commands, 
you must issue the command:
at#pmode=1

Phone Book

Read:
at#pbokr = <n>
returns <n>,"<string>",<r>,<l>,<number>,[<l>,<number>,...]*

Write:
at#pbokw = <n>,"<string>",<r>,<l>,<number>,[<l>,<number>,...]*

where   <n> = [1-229], phone book slot
        <string> = name, 1-12 chars
        <r> = [0-12], name ringer
        <l> = [1-6], label,     1 = Home
                                2 = Work
                                3 = Mobile
                                4 = Pager
                                5 = Fax
                                6 = none
        <number> = [0123456789*#pT], phone number, 32 max

        *up to 6 [<l>,<number>] pairs

Calendar

Read:
at#pishr = <n>
returns <n>,YYYYMMDDTHHMMSS,YYYYMMDDTHHMMSS,<a>,"<string>"

Write:
at#pishw = <n>,YYYYMMDDTHHMMSS,YYYYMMDDTHHMMSS,<a>,"<string>"

where   <n> = [0-69], storage location*
              *First one entered from phone goes in slot 69, not 0!
        YYYYMMDDTHHMMSS = start, end date/times
        <a> = alarm:    0 = None
                        1 = On Time
                        2 = 10 min before
                        3 = 30 min before
                        4 = 1 hour before
        <string> = name, ? max characters

Todo List

Read:
at#pitdr = <n>
returns <n>,<?>,<p>,YYYYMMDDTHHMMSS,"<string>"

Write:
at#pitdw = <n>,<?>,<p>,YYYYMMDDTHHMMSS,"<string>"

where   <n> = [0-19], storage location*
              *First one entered from phone goes in slot 19, not 0!
        <?> = unknown
        <p> = priority, 0/1 = low/high
        YYYYMMDDTHHMMSS = date/time
        <string> = name, ? max chars

Alarms

Read:
at#piarm = <n>
returns <n>,<r>,<?>,<?>,YYYYMMDDTHHMMSS

Write:
Unknown.

where   <n> = [0-2], alarm #
        <r> = daily repeat, 0/1 = no/yes
        <?> = unknown
        YYYYMMDDTHHMMSS = date/time

Call History

Read:
at#pbrir = <n>    read incoming call history
at#pbror = <n>    read outgoing call history
at#pbrmr = <n>    read missed call history
returns <n>,YYYYMMDDTHHMMSS,"<string>",<number>

Write:  (Why would you write to history?)
Unknown.  at#pbriw, at#pbrow, at#pbrmw may work

where   <n> = [0-9], history slot <n>
        YYYYMMDDTHHMMSS = date/time
        <string> = Name of caller (if in phone book)
        <number> = number of caller

Text Messages

Read:
at#psrmr = <n>
returns <n>,<?>,YYYYMMDDTHHMMSS,"<string>"

Write:
Unknown. at#psrmw?

where   <n> = text message number
        <?> = unknown
        YYYYMMDDTHHMMSS = date/time
        <string> = text of message (formatting?)

Greeting

Read:
at#pmuna?
returns "<string>"

Write:
at#pmuna="<string>"

where   <string> = 1-12 characters

Others

There are many more commands that return "OK" - some of them are known but uninteresting, some are unknown... take a look if there's something else you need.