RE: Playing with a VX3300

"Simon C" <[email protected]>
Newsgroups gmane.comp.mobile.bitpim.devel
Message-ID <002001c64b9b$429d3190$0201a8c0@HOME>
Greg,

I had started to work with an owner of a 3300.
I did not get very far, but here is what I have, I can help you debug the
phone if you like.
Add the files attached to the phones directory (or the bitpim root if you
are using the older code structure)
You will also need to edit __init__.py in phones and add the 3300 to the
list.
Remember to run protogen.py to generate the protocol code..

Simon



> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf 
> Of Greg Pratt
> Sent: Sunday, March 19, 2006 12:36 PM
> To: [email protected]
> Subject: [BitPim-devel] Playing with a VX3300
> 
> I've already de-lurked myself in part, but this post is what 
> I was originally writing before I jumped in with the issue of 
> icons (with Mac OS X) and with Subversion.  I've been reading 
> the list for about a month now, as I didn't want to just jump 
> in with a newbie question.
> 
> At the beginning of February, I replaced my LG VX4400 phone 
> with one of its descendants, the VX3300.  It seems more 
> stable than the 4400, but as some of you already realize, 
> BitPim doesn't support it.  In reviewing the list archives, 
> people have inquired about this a couple of times, but none 
> of the developers seems to have a working 3300 in their hands.
> 
> Since I still use my 3300 for day-to-day use, and don't have 
> another piece of hardware as backup, I can't loan it out - 
> unless one of the developers lives in the New York City area 
> and could make do with just one or two weekend days to play 
> with it. :)  Unfortunately, I suffer from a lack of knowledge 
> about Python, so my experiments have so far been limited to 
> just playing with the phone over its serial port, and using 
> the released version of BitPim (presently 0.8.08).
> 
> I've made some observations about the phone.  Everything I've 
> been doing is on a Mac OS X 10.4.x system, using the 
> USB/Serial cable that comes with the Verizon connectivity 
> kit.  The driver for this is the current one available from 
> the Prolific Technology web site (PL-2303 driver version 
> v1.1.0b1).  I spare readers from the verbose exceptions at 
> this point, since I don't know how useful they would be (yet).
> 
> 1.  It has an easily accessible modem that responds to normal AT
>     commands.  I connected to my ISP, which still supports serial
>     connections on a terminal server in its modem pool, and used it
>     without any problems.  This was a nice surprise. :)
> 
> 2.  The serial connection only works properly with hardware 
> flow control
>     (CTS/RTS) turned OFF on the serial connection to the 
> phone.  Trying
>     to enable it will cause all output -- even from the 
> command-mode AT
>     commands -- to choke after just 2-4 characters.  Sending one
>     additional character will cause another 2-4 characters to pop out,
>     but this clearly isn't practical.  I suspect the phone itself
>     doesn't know how to do this, or even XON/XOFF "software" flow
>     control, as it doesn't recognize AT&K0, AT&K1, etc.  
> (See?  That old
>     Hayes Smartmodem Optima manual *did* come in handy!)
> 
> 3.  If the phone seems to lock up after some kind of transaction
>     failure, it's because the phone has switched off the data port.
>     It can usually be re-enabled the normal way (Menu, 6, 6, 1 [PC
>     Connection], USB/RS-232C, select port speed).
> 
> 4.  Setting the serial port speed to 230400 bps will work when talking
>     to the phone via ZTerm or other terminal emulation software, but
>     BitPim seems to choke.  Dropping the speed down to 115200 
> bps allows
>     the phone to operate normally.  I can't help but wonder if this is
>     due to the aforementioned flow control issue.
> 
> 5.  The only way you can get BitPim to talk to the phone is to tell it
>     that you're talking to the VX3300's older brother, the VX3200.
>     This introduces some other problems, however (see below).
> 
> 6.  When getting/setting phonebook data to/from the phone, an 
> exception
>     gets thrown.  While the traceback differs between these two
>     functions (i.e. writephonebook vs. getphonebook), the error is
>     always the same:
> 
>           File "p_lgvx3200.pyo", line 254, in readfrombuffer
>           File "p_lgvx3200.pyo", line 547, in readfrombuffer
>           File "prototypes.pyo", line 208, in readfrombuffer
>         ValueError: The value read should be a constant of 
> 514, but was 546 instead
> 
> 7.  Reading and writing the calendar entries seems to work, although I
>     didn't test it extensively.
> 
> 8.  The SMS access sort of works - my outbox shows the messages I've
>     sent, but the inbox only includes the callback number (or 
> a name, if
>     the number mapped to a phonebook entry at the time it was 
> received).
>     The messages themselves have blank "From" and "Subject" 
> values, are
>     missing the message contents, and have the "Locked" flag 
> set.  (None
>     of the messages are locked on the phone, AFAIK.)
> 
> It's worth noting that in this version of BitPim (8.0.08), 
> the application will stop talking to the phone after the 
> exception is thrown.  In some previous version (probably 
> whatever was current on
> 2-6 February 2006), BitPim would keep talking to the phone 
> and appear to succeed in writing data.  Upon examining the 
> contact list on the phone, however, I found that (1) only 
> e-mail addresses -- no phone numbers -- had been copied to 
> the phone; and (2) only entries containing an e-mail address 
> were copied at all.  This suggests that the phone book format 
> is similar, but not identical, to that of the VX3200.  This 
> probably applies to the SMS problems as well, although these 
> can still be read and written to on the phone with 8.0.08.
> 
> --
> Gregory Pratt                                               
> [email protected]
> East Rutherford, NJ, USA                       
> http://www.panix.com/~gp/
> "The only good spammer is a dead spammer."
> PGP Key Fingerprint:  DC60 FCDE 91E2 3D41 91A3  45DB B474 
> 3D3A 3621 AAFE
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking 
> scripting language that extends applications into web and 
> mobile media. Attend the live webcast and join the prime 
> developer group breaking into this new coding territory!
> http://sel.as-us.falkag.net/sel?cmd=k&kid0944&bid$1720&dat1642
> _______________________________________________
> BitPim-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bitpim-devel
>
com_lgvx3300.py (text/plain, 4.4 KB)
### BITPIM
###
### Copyright (C) 2003-2005 Roger Binns <[email protected]>
### Copyright (C) 2005 Simon Capper <[email protected]>
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of the BitPim license as detailed in the LICENSE file.
###
### $Id: com_lgvx3300.py,v 1.6 2005/11/06 23:46:33 djpham Exp $

"""Communicate with the LG VX3300 cell phone

The VX3300 is somewhat similar to the VX4400

"""

# standard modules
import time
import cStringIO
import sha
import re

# my modules
import common
import copy
import p_lgvx3300
import com_lgvx4400
import com_brew
import com_phone
import com_lg
import prototypes
import phone_media_codec
import conversions

class Phone(com_lgvx4400.Phone):
    "Talk to the LG VX3300 cell phone"

    desc="LG-VX3300"

    wallpaperindexfilename="download/dloadindex/brewImageIndex.map"
    ringerindexfilename="download/dloadindex/brewRingerIndex.map"

    protocolclass=p_lgvx3300
    serialsname='lgvx3300'

    # more VX3300 indices
    imagelocations=(
        # offset, index file, files location, type, maximumentries
        ( 11, "download/dloadindex/brewImageIndex.map", "download", "images", 3) ,
        )

    ringtonelocations=(
        # offset, index file, files location, type, maximumentries
        ( 27, "download/dloadindex/brewRingerIndex.map", "user/sound/ringer", "ringers", 30),
        )


    builtinimages= ('Sport 1', 'Sport 2', 'Nature 1', 'Nature 2',
                    'Animal', 'Martini', 'Goldfish', 'Umbrellas',
                    'Mountain climb', 'Country road')

    builtinringtones= ('Ring 1', 'Ring 2', 'Ring 3', 'Ring 4', 'Ring 5', 'Ring 6',
                       'Ring 7', 'Ring 8', 'Annen Polka', 'Pachelbel Canon', 
                       'Hallelujah', 'La Traviata', 'Leichte Kavallerie Overture', 
                       'Mozart Symphony No.40', 'Bach Minuet', 'Farewell', 
                       'Mozart Piano Sonata', 'Sting', 'O solemio', 
                       'Pizzicata Polka', 'Stars and Stripes Forever', 
                       'Pineapple Rag', 'When the Saints Go Marching In', 'Latin', 
                       'Carol 1', 'Carol 2') 
                       
    def __init__(self, logtarget, commport):
        com_lgvx4400.Phone.__init__(self,logtarget,commport)
        self.mode=self.MODENONE
        self.mediacache=self.DirCache(self)



    my_model='VX3300'

parentprofile=com_lgvx4400.Profile
class Profile(parentprofile):
    protocolclass=Phone.protocolclass
    serialsname=Phone.serialsname
    phone_manufacturer='LG Electronics Inc'
    phone_model='VX3300'

    # use for auto-detection
    phone_manufacturer='LG Electronics Inc.'
    phone_model='VX3300'

    _supportedsyncs=(
        ('phonebook', 'read', None),  # all phonebook reading
        ('calendar', 'read', None),   # all calendar reading
        ('wallpaper', 'read', None),  # all wallpaper reading
        ('ringtone', 'read', None),   # all ringtone reading
      #  ('phonebook', 'write', 'OVERWRITE'),  # only overwriting phonebook
      #  ('calendar', 'write', 'OVERWRITE'),   # only overwriting calendar
     #   ('wallpaper', 'write', 'MERGE'),      # merge and overwrite wallpaper
        ('wallpaper', 'write', 'OVERWRITE'),   # merge and overwrite wallpaper
        ('ringtone', 'write', 'MERGE'),      # merge and overwrite ringtone
        ('ringtone', 'write', 'OVERWRITE'),
        ('call_history', 'read', None),
        ('memo', 'read', None),     # all memo list reading DJP
     #   ('memo', 'write', 'OVERWRITE'),  # all memo list writing DJP
        ('sms', 'read', None),
        ('sms', 'write', 'OVERWRITE'),
        )

    WALLPAPER_WIDTH=128
    WALLPAPER_HEIGHT=128
    MAX_WALLPAPER_BASENAME_LENGTH=19
    WALLPAPER_FILENAME_CHARS="abcdefghijklmnopqrstuvwxyz0123456789 ."
    WALLPAPER_CONVERT_FORMAT="bmp"

    MAX_RINGTONE_BASENAME_LENGTH=19
    RINGTONE_FILENAME_CHARS="abcdefghijklmnopqrstuvxwyz0123456789 ."

    imageorigins={}
    imageorigins.update(common.getkv(parentprofile.stockimageorigins, "images"))

    def GetImageOrigins(self):
        return self.imageorigins

    # our targets are the same for all origins
    imagetargets={}
    imagetargets.update(common.getkv(parentprofile.stockimagetargets, "wallpaper",
                                      {'width': 128, 'height': 128, 'format': "BMP"}))

    def GetTargetsForImageOrigin(self, origin):
        return self.imagetargets
    
    def __init__(self):
        parentprofile.__init__(self)
p_lgvx3300.p (application/octet-stream, 10.9 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.