Discussion:
[Bitpim-devel] LG VX-10 && bitpim attempt
Alan Gonzalez
2003-09-15 19:31:04 UTC
Permalink
I just went out and purchased a Data Cable from RadioShack for my LG VX-10.
Installed the FD usb driver.

Dl'd bitpim and installed comscan (which didn't show anything on win2000).

set bitpim to com3 (where Device Manager said my usb->serial port was)

I'm a good programmer, so I can help out with supporting this particular phone.
Also i'm interested in getting outlook syncing working. I believe this can be
done too, with some help on this phone.

Here's some data on what happened.

ran 'get data' in bitpim, phonebook only
You'll see that it saw 16 entries and my phone does have 16 entries in the
phonebook. Besides that not much else happened.

Log:

15:16:38.758 com3: Opening port com3, 115200 baud, timeout 3.000000,
hardwareflow 0, softwareflow 0
15:16:38.828 com3: Open of comm port suceeded
15:16:38.858 LG-VX4400: Attempting to contact phone
15:16:41.863 com3: Timed out waiting for 7e, requested bytes 1 - 0 bytes read
15:16:41.873 com3: Changed port speed to 38400
15:16:45.378 com3: Timed out waiting for 7e, requested bytes 1 - 0 bytes read
15:16:48.383 LG-VX4400: No response to setting DM mode
15:16:48.393 com3: Changed port speed to 115200
15:16:51.907 com3: Changed port speed to 38400
15:16:52.419 LG-VX4400: Now in brew mode
15:16:52.468 LG-VX4400: Now in phonebook mode
15:16:52.478 LG-VX4400: Reading number of phonebook entries
15:16:52.529 LG-VX4400: There are 16 entries
15:16:52.529 LG-VX4400: Reading entry 0

Protocol log:

15:16:52.468 LG-VX4400: Now in phonebook mode
15:16:52.478 LG-VX4400: Reading number of phonebook entries
15:16:52.478 com3: Writing Data - 13 bytes
00000000 ff 11 01 01 00 00 00 00 00 00 cd ef 7e ............~

15:16:52.478 com3: Begin reading until 0x7e
15:16:52.519 com3: Read completed Data - 106 bytes
00000000 13 ff 11 01 01 00 00 00 00 00 00 cd ef 7d 5e 00 .............}^.
00000010 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 c7 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 00 00 00 3c 6a 2e 35 4c 47 54 4d 35 32 30 43 6f ...<j.5LGTM520Co
00000050 6e 6e 65 63 74 6f 72 5f 31 39 39 00 00 00 00 00 nnector_199.....
00000060 00 00 00 00 00 00 00 5d a8 7e .......].~

15:16:52.529 LG-VX4400: There are 16 entries
15:16:52.529 LG-VX4400: Reading entry 0
15:16:52.529 com3: Writing Data - 13 bytes
00000000 ff 13 02 01 00 00 00 00 00 00 e7 fe 7e ............~

15:16:52.529 com3: Begin reading until 0x7e
15:16:52.569 com3: Read completed Data - 106 bytes
00000000 13 ff 13 01 01 00 00 00 00 00 00 e7 fe 7d 5e 00 .............}^.
00000010 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 c7 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 00 00 00 3c 6a 2e 35 4c 47 54 4d 35 32 30 43 6f ...<j.5LGTM520Co
00000050 6e 6e 65 63 74 6f 72 5f 31 39 39 00 00 00 00 00 nnector_199.....
00000060 00 00 00 00 00 00 00 2a f7 7e .......*.~



__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
Roger Binns
2003-09-15 20:00:10 UTC
Permalink
Post by Alan Gonzalez
Dl'd bitpim and installed comscan (which didn't show anything on win2000).
A known problem. I have been sent a fix by Scott Craig. It will be part
of BitPim 0.61.
Post by Alan Gonzalez
ran 'get data' in bitpim, phonebook only
You'll see that it saw 16 entries and my phone does have 16 entries in the
phonebook. Besides that not much else happened.
There are two protocols used. One is the filesystem protocol. This seems
very consistent across all the phones. Please try the filesystem tab and
see what happens.

The thing that isn't consistent is where each phone stores stuff. Almost
every model seems to store wallpapers, index files etc in different
directories.

For everything except the phonebook, BitPim uses the filesystem protocol.
For the phonebook, I chose to use the actual phonebook protocol. One
reason is that just manipulating the approx 5 files that make up the
phonebook doesn't result in them being read after being changed (you actually
have to reboot the phone for it to notice they have changed).

The other reason is that I wasn't too sure what dependencies are gotchas there
are between the files, so it was safer to use the "correct" protocol. There
must be some subtle difference in the phonebook protocol for the VX10. Note
the VX1/TM520 responds in the same way as your VX10, so it may be the 4400
that is different.

I am currently working on a system of describing the data at a higher level
rather than the current code of taking it apart byte by byte. That should
greatly help improve the view of what is going on. (The resulting UI will
be a lot like many ethernet protocol sniffers).

The syncing stuff is being done in two stages. The first stage is being
able to read and write all entries from a data source. The second stage
will be to actually do some sort of synchronization.

The zeroth stage is rewriting the phonebook interface to be more generic
and a lot less user hostile.

Roger
Alan Gonzalez
2003-09-15 20:49:49 UTC
Permalink
Post by Roger Binns
Post by Alan Gonzalez
Dl'd bitpim and installed comscan (which didn't show anything on win2000).
A known problem. I have been sent a fix by Scott Craig. It will be part
of BitPim 0.61.
Post by Alan Gonzalez
ran 'get data' in bitpim, phonebook only
You'll see that it saw 16 entries and my phone does have 16 entries in the
phonebook. Besides that not much else happened.
There are two protocols used. One is the filesystem protocol. This seems
very consistent across all the phones. Please try the filesystem tab and
see what happens.
BTW, this is bitpim 6.0, i noticed i didn't specify that earlier.

Tried it by clicking the '+' in filesystem tab and got:

An unexpected exception has occurred.
Please see the help for details on what to do.

Traceback (most recent call last):
File "gui.pyo", line 197, in run
File "gui.pyo", line 138, in __call__
File "gui.pyo", line 1045, in dirlisting
File "com_lgvx4400.pyo", line 607, in getfilesystem
File "com_lgvx4400.pyo", line 883, in sendbrewcommand
File "com_lgvx4400.pyo", line 737, in setmode
File "com_lgvx4400.pyo", line 757, in _setmodebrew
File "com_lgvx4400.pyo", line 926, in _sendbrewcommand
BrewCommandException: Brew Error 0x13

Hmm, looks like i'm going to have to dig in a little. Any ideas on where to
begin?
Post by Roger Binns
The thing that isn't consistent is where each phone stores stuff. Almost
every model seems to store wallpapers, index files etc in different
directories.
For everything except the phonebook, BitPim uses the filesystem protocol.
For the phonebook, I chose to use the actual phonebook protocol. One
reason is that just manipulating the approx 5 files that make up the
phonebook doesn't result in them being read after being changed (you actually
have to reboot the phone for it to notice they have changed).
The other reason is that I wasn't too sure what dependencies are gotchas
there
are between the files, so it was safer to use the "correct" protocol. There
must be some subtle difference in the phonebook protocol for the VX10. Note
the VX1/TM520 responds in the same way as your VX10, so it may be the 4400
that is different.
I am currently working on a system of describing the data at a higher level
rather than the current code of taking it apart byte by byte. That should
greatly help improve the view of what is going on. (The resulting UI will
be a lot like many ethernet protocol sniffers).
The syncing stuff is being done in two stages. The first stage is being
able to read and write all entries from a data source. The second stage
will be to actually do some sort of synchronization.
The zeroth stage is rewriting the phonebook interface to be more generic
and a lot less user hostile.
Roger
-------------------------------------------------------
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
Roger Binns
2003-09-15 21:02:40 UTC
Permalink
Post by Alan Gonzalez
File "com_lgvx4400.pyo", line 926, in _sendbrewcommand
BrewCommandException: Brew Error 0x13
Unfortunately I don't know what most of the Brew errors are.
It does however seem like some of the older/simpler phones
get very confused very easily. Trying to do the phonebook
stuff may have got to it.

Try rebooting your phone (I could get a job in MS tech
support :-) and only do the filesystem stuff.

Roger
Alan Pinstein
2003-09-15 21:08:43 UTC
Permalink
I know I've been quiet for a while, but wanted to give everyone an
update:

- I haven't worked on a monolithic Mac installer, primarily because of
a combination of factors 1) I have never built a Mac OS X installer, 2)
my development kit is very out-of-date (2 years) and I am no longer a
member of ADC, and 3) because of 1 & 2, I never got around to it.

- I am *very* interested in working on 'syncing'. I long ago wrote a
vCard importer, which others have successfully adapter to work with
MS-Outlook vCard exports. At this point in time my phone is way out of
sync with my "Address Book" and I'd like to implement both Address
Syncing and Calendar Syncing now that the calendar is getting more
stable.

- I have some free time over the next few weeks, so I'd like to make
use of it with Bitpim.

Roger, How can I help with this?

Alan
Post by Roger Binns
The syncing stuff is being done in two stages. The first stage is
being
able to read and write all entries from a data source. The second
stage
will be to actually do some sort of synchronization.
The zeroth stage is rewriting the phonebook interface to be more
generic
and a lot less user hostile.
Roger
Roger Binns
2003-09-15 21:33:04 UTC
Permalink
Post by Alan Pinstein
How can I help with this?
I really would like a conventional installer for Mac that just sits along
with existing Windows and Linux ones in the SourceForge files (as well
as new releases etc built).

Anthony Tuininga is the author of cx_Freeze which is what I use on Linux
to make the monolithic installation. I did ask him about Mac, and he thinks
it should work in theory. Like me, he also has no Mac. He was trying
on the SourceForge compile farm but I vaguely remember there were issues
with the servers being down or something.

If you can help him, or give him remote access to a machine, that will
help greatly.

On the syncing front, two things have to be "designed".

The first is what fields BitPim stores for a phonebook entry itself.
This needs to be a superset of all possible import and export formats.
For example, one of the first changes is to have a single field named
"phone numbers". This will be a list of entries. Each one will then
be a dictionary of the actual number, the number type, speed dial
number, voice dial link, and potentially other things.

This will allow an unlimited number of numbers, as well as the user
being able to prioritize them (the VX4400 would take only the first
five).

The UI updates will then edit the phone numbers something like the
wxEditableListBox in the wxPython demo (in the More Windows/Controls bit).

The second thing that has to be designed is the actual syncing algorithm.
My number one criteria is I never ever want to experience again a
doubling up of all my entries. Most of the "conventional" algorithms
do result in this if the user doesn't micromanage them.

The way I believe the algorithm needs to work is to compare each
incoming entry with all the existing ones and come up with a percentage
match (the match is based on all applicable attributes of the entry).

There are obvious cases of 100% match - it is the same entry unchanged,
and 0% match - it is a new entry. It is all the cases in between that
get more interesting. For example a high percentage match will indicate
that the record is probably the same, but it has been editted either
in the existing data, or from wherever we are importing the records.

The area where you can help is documenting (use high level pseudo code
kind of thing) the actual synchronization algorithm. We can collectively
tweak it before implementation.

My plan for the UI is also to show the user a confirmation of what the
importing is going to do, and let them tweak it before hitting go. You
can think of this whole process as very similar to statement reconciliation
with Quicken/Microsoft Money style programs. (And yes, I have had them
double up all my entries too!)

The UI confirmation would need to prioritize what is being shown. ie the
top of the list would be records/fields where the computer is least
likely to make an intelligent decision on the right thing to do, with the
bottom being what it is most sure of.

Roger
Alan Gonzalez
2003-09-15 21:11:50 UTC
Permalink
I can't believe it, but rebooting did the trick. Now the filesystem works.
Post by Roger Binns
Post by Alan Gonzalez
File "com_lgvx4400.pyo", line 926, in _sendbrewcommand
BrewCommandException: Brew Error 0x13
Unfortunately I don't know what most of the Brew errors are.
It does however seem like some of the older/simpler phones
get very confused very easily. Trying to do the phonebook
stuff may have got to it.
Try rebooting your phone (I could get a job in MS tech
support :-) and only do the filesystem stuff.
Roger
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
Alan Gonzalez
2003-09-15 21:16:21 UTC
Permalink
I see that in the filesystem there is :

/pim/phonebook.dat

that contains my phonebook entries

let me look at the phonebook python code maybe i can understand what you are
doing there
Post by Alan Gonzalez
I can't believe it, but rebooting did the trick. Now the filesystem works.
Post by Roger Binns
Post by Alan Gonzalez
File "com_lgvx4400.pyo", line 926, in _sendbrewcommand
BrewCommandException: Brew Error 0x13
Unfortunately I don't know what most of the Brew errors are.
It does however seem like some of the older/simpler phones
get very confused very easily. Trying to do the phonebook
stuff may have got to it.
Try rebooting your phone (I could get a job in MS tech
support :-) and only do the filesystem stuff.
Roger
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
Roger Binns
2003-09-15 21:48:45 UTC
Permalink
Post by Alan Gonzalez
/pim/phonebook.dat
that contains my phonebook entries
On the 4400, there is pbentry.dat, pbnumber.dat and record_id.dat. The entry
file has everything except the numbers, the number file has the numbers and
the recordid is assigned to the next created entry.

The entries are all fixed sized records with fixed sized fields. All integers
are stored LSB. Phone numbers are stored in binary coded decimal! Eg 123 456
7890 is stored as hex: 12 34 45 67 89 00

The phonebook protocol grabs all the data from the files and puts it together
into one huge record of fixed size fields.
Post by Alan Gonzalez
let me look at the phonebook python code maybe i can understand what you are
doing there
I am busy writing the higher level description stuff (which will then be compiled
down into ordinary Python code). As a taster, this is what the description of
the response to reading a phonebook record will be described as:

PACKET _phonebookentryreadresponse:
1 UINT {default=0xff} command
1 UINT {default=4} commandentryread
1 UINT sequence
1 UINT flag
4 UINT serial1
2 UINT entrysize
4 UINT serial2 "always the same as serial1"
1 UINT entrynum
1 UNKNOWN
22 STRING name
1 UINT group
1 UNKNOWN
* LIST {length=3} emaillist:
48 STRING email
48 STRING url
1 UINT ringtone
1 UINT msgringtone
1 BOOL secret
32 STRING memo
1 UNKNOWN
* LIST {length=5} typelist:
1 UINT type
* LIST {length=5} numberlist:
48 STRING number
5 UNKNOWN

Roger
Fehribach, Kent
2003-09-15 21:16:01 UTC
Permalink
Be careful you may be invading M$ IP by doing that!

-----Original Message-----
From: Alan Gonzalez [mailto:***@yahoo.com]
Sent: Monday, September 15, 2003 5:12 PM
To: bitpim-***@lists.sourceforge.net
Subject: Re: [Bitpim-devel] LG VX-10 && bitpim attempt

I can't believe it, but rebooting did the trick. Now the filesystem
works.
Post by Roger Binns
Post by Alan Gonzalez
File "com_lgvx4400.pyo", line 926, in _sendbrewcommand
BrewCommandException: Brew Error 0x13
Unfortunately I don't know what most of the Brew errors are.
It does however seem like some of the older/simpler phones
get very confused very easily. Trying to do the phonebook
stuff may have got to it.
Try rebooting your phone (I could get a job in MS tech
support :-) and only do the filesystem stuff.
Roger
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
Alan Gonzalez
2003-09-15 22:04:14 UTC
Permalink
Just to let you know in my /pim i have:

emergenc.dat - 102
helpview.dat - 1
index.dat - 995
log_00.dat - 715
log_01.dat - 715
log_02.dat - 715
phonebook.dat - 48755
ringtitle.dat - 41

as far as i can tell the phonebook.dat contains all the information
though i'm still trying to figure out how it understands one entry is the
default quick call number.

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
Tim Lowery
2003-09-16 14:55:30 UTC
Permalink
Hi All,

The McMillan Installer is a "toolkit for producing standalone
executables from Python scripts. Works on Windows, Linux, most Unixen
(including, with some tweaking, Max OS X)."

http://www.mcmillan-inc.com/installer_dnld.html

I tried to get it working a while back on Mac OS X, but encountered an
immediate build problem in locating a file (libpython2.3.a). It may be
related to my use of pre-built binaries for Mac OS X framework. I
didn't have to time to confirm this, and reinstall, build, etc. I was
using version 2.3.a2 from wxWindows.org.

It might be an easy way to get standalone executables on the Mac. Just
thought I'd pass this on.

Tim
Roger Binns
2003-09-16 16:43:25 UTC
Permalink
Post by Tim Lowery
It might be an easy way to get standalone executables on the Mac. Just
thought I'd pass this on.
I deliberately chose not to use it on Linux. Every time you run the
resulting executable, it self extracts to a temp directory. This
is nasty at so many levels :-)

Roger

Loading...