Title: motorola Razr2 V9x phonebook sync with Evolution (on Linux).
Subject: Howto syncronize Evolution Addressbook with Razr2 V9x Phonebook over usb.
Date: Sun Jun 14 22:20:35 PDT 2009
#---------------------------------------------
#
# These notes are from a Gentoo system
# and use gentoo package managmenet and configuration.
# This created the device file
#
ls -laF /dev/ttyACM0
crw-rw---- 1 root uucp 166, 0 2009-06-14 23:50 /dev/ttyACM0
lsmod |grep acm
cdc_acm 13408 0
usbcore 124688 11 btusb,moto_modem,usbserial,cdc_acm,usbhid,ohci_hcd,uhci_hcd,usb_storage,libusual,ehci_hcd
#
# Needed the ACM device drier
#
cd /usr/src/linux/
make menuconfig
#
# Type /
# Search for USB_ACM
# Thats is what you need
# Set USB_ACM, save, and exit
#
genkernel --menuconfig --no-clean --splash=livecd-2007.0 --splash-res=1440x900 all
reboot
#
#
#
modprobe usbserial
modprobe cdc-acm
ls -tlr /dev/ttyACM*
# Now I see /dev/ttyACM0
#
# AT-Commands to Access the Motorola V-Series Phonebook
# http://www.csparks.com/MotoBackup/MotorolaAT.xhtml
#
# Configure minicom to use: /dev/ttyACM0
#
minicom -s
at+cgmi
+CGMI: "Motorola CE, Copyright 2006"
ctrl-A z
#
# Create overlay for libopensync-plugin-moto
#
echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf
mkdir -p /usr/local/portage/app-pda/libopensync-plugin-moto
pushd /usr/local/portage/app-pda/libopensync-plugin-moto
wget http://bugs.gentoo.org/attachment.cgi?id=156973 -O libopensync-plugin-moto-0.36.ebuild
EDIT
KEYWORDS="~amd64 ~x86"
ebuild libopensync-plugin-moto-0.36.ebuild digest
echo 'app-pda/libopensync-plugin-moto' >> /etc/portage/package.keywords
update-eix
#
# unmask
#
cat >> /etc/portage/package.use <<'EOF'
sys-auth/pambase consolekit
app-pda/multisync evo bluetooth kde kdepim
app-mobilephone/gammu bluetooth mysql nls debug irda
app-pda/libopensync python debug doc
EOF
#
# Mask libopensync-plugin-syncml to pre 0.5
#
# http://bugs.gentoo.org/show_bug.cgi?id=269187
# bug says dep on < app-pda/libsyncml-0.5
#
echo '>app-pda/libsyncml-0.5' >> /etc/portage/package.mask
#
# Emerge every kind of tool I can think of.
# You pick what works best for you.
#
emerge -ta \
app-pda/libopensync \
app-pda/msynctool \
app-pda/libsyncml \
app-pda/libopensync-plugin-syncml \
app-pda/libopensync-plugin-moto \
app-pda/libopensync-plugin-syncml \
app-pda/libopensync-plugin-vformat \
app-pda/libopensync-plugin-sunbird \
app-pda/libopensync-plugin-python \
app-pda/libopensync-plugin-palm \
app-pda/libopensync-plugin-irmc \
app-pda/libopensync-plugin-gpe \
app-pda/libopensync-plugin-google-calendar \
app-pda/libopensync-plugin-gnokii \
app-pda/libopensync-plugin-file \
app-pda/libopensync-plugin-evolution2 \
dev-python/pybluez \
net-wireless/bluez \
net-wireless/bluez-firmware \
net-wireless/bluez-gnome \
net-wireless/bluez-hcidump \
app-mobilephone/kmobiletools \
app-mobilephone/gammu
app-pda/multisync \
app-pda/multisync-gui \
app-pda/synce-multisync_plugin
#
# Set the Phone correctly for the Phonebook sync
#
# The Phone USB Setting changes it's usb ID
# Phone setting:
# settings->Connections->USB Settings->
# Setting: USB id
# Data Connection 22b8:6402
# Memory Card 22b8:6410
# Media Sync 22b8:6415
# USB Printing 22b8:6411
#
# Set Phone:
# settings->Connections->USB Settings->Data Connection
#
#
# Plug in:
#
--------------------------
==== Data Connection =====
--------------------------
dmesg
CE: hpet increasing min_delta_ns to 15000 nsec
CE: hpet increasing min_delta_ns to 22500 nsec
usb 5-2: new full speed USB device using uhci_hcd and address 2
usb 5-2: New USB device found, idVendor=22b8, idProduct=6402
usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 5-2: Product: Motorola Phone (MOTORAZRV9x)
usb 5-2: Manufacturer: Motorola Inc.
usb 5-2: SerialNumber: 595354BA0F101F
usb 5-2: configuration #1 chosen from 1 choice
lsusb
Bus 005 Device 003: ID 22b8:6402 Motorola PCS
lsusb -v -d 22b8:6402
Bus 005 Device 003: ID 22b8:6402 Motorola PCS
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x22b8 Motorola PCS
idProduct 0x6402
bcdDevice 0.02
iManufacturer 1 Motorola Inc.
iProduct 2 Motorola Phone (MOTORAZRV9x)
iSerial 3 595354BA0F101F
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 4 Motorola Communication Class
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 5 Motorola Communication Interface
CDC Header:
bcdCDC 1.01
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 1
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC ACM:
bmCapabilities 0x02
line coding and serial state
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 6 Motorola Data Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
#-----------------------
# List plugins
#-----------------------
msynctool --listplugins
Available plugins:
gpe-sync
python-sample
google-calendar
evo2-sync
syncml-obex-client
file-sync
kdepim-sync
palm-sync
Available plugins:
gpe-sync
python-sample
moto-sync
google-calendar
evo2-sync
syncml-obex-client
file-sync
kdepim-sync
palm-sync
#-----------------------
# show version
#-----------------------
msynctool --version
This is msynctool version "0.36"
using OpenSync version "0.36"
#-----------------------
# List formats
#-----------------------
msynctool --listformats |grep vcard
Format: vcard21
Format: vcard30
#-----------------------
# Configure new connetion
#-----------------------
msynctool --addgroup evolution-razr2v9x
# Show groups
msynctool --listgroups
Available groups:
evolution-razr2v9x
#-----------------------
# Add evolution
#-----------------------
msynctool --addmember evolution-razr2v9x evo2-sync
#-----------------------
# Configure profile:evolution
#-----------------------
msynctool --configure evolution-razr2v9x 1
OPENS:
default
default
default
default
EXIT EDITOR
#-----------------------
# Add moto-sync evolution-razr2v9x
#-----------------------
msynctool --addmember evolution-razr2v9x moto-sync
msynctool --configure evolution-razr2v9x 2
BEGIN:
/dev/ttyACM0
END
#-------------------------------------------------------
# MUST RUN --discover BEFORE SYNC AFTER CONFIG CHANGE
# Before this command must connect USB
#-------------------------------------------------------
msynctool --discover evolution-razr2v9x
Discovered Objtypes:
contact
Format: vcard30
conversion config: VCARD_EXTENSION=Evolution
Format: vcard21
conversion config: VCARD_EXTENSION=Evolution
Traceback (most recent call last):
File "/usr/lib/opensync-1.0/python-plugins/motosync.py", line 2357, in discover
comms.connect()
File "/usr/lib/opensync-1.0/python-plugins/motosync.py", line 793, in connect
self.__fd = os.open(self.devstr, os.O_RDWR)
OSError: [Errno 22] Invalid argument: '/dev/ttyACM0'
ERROR: discover failed: no objtypes returned
jstile@genx ~ $ msynctool --discover evolution-razr2v9x
Discovered Objtypes:
contact
Format: vcard30
conversion config: VCARD_EXTENSION=Evolution
Format: vcard21
conversion config: VCARD_EXTENSION=Evolution
Discovered Objtypes:
event
Format: xmlformat-event-doc
conversion config: (null)
contact
Format: xmlformat-contact-doc
conversion config: (null)
msynctool --showobjtypes evolution-razr2v9x
Member 1 Objtypes:
Objtype contact: Enabled
Format: vcard30
conversion config: VCARD_EXTENSION=Evolution
Format: vcard21
conversion config: VCARD_EXTENSION=Evolution
Member 2 Objtypes:
Objtype event: Enabled
Format: xmlformat-event-doc
conversion config:
Objtype contact: Enabled
Format: xmlformat-contact-doc
conversion config:
Objtypes for the group:
contact: Enabled
#########################################################
# Now for the reason for all this work
# SYNC phone to evolution
msynctool --sync evolution-razr2v9x
---------------------------------------------------
APENDIX:
To unlock phone, I called tech support with AT&T.
They gave me unlock code.
From minicom, print IMEI
at+cgsn
+CGSN: IMEI
They gave me the code for free.
I need too boot sim with SIM card form other provider.
Then enter code to unlock.
---------------------------------------------------------------
#########################################
# USELESSS SECTION
# Motobackup
## configure wine com port
pushd ~/.wine/dosdevices
ln -s /dev/ttyACM0 com2
http://www.csparks.com/MotoBackup/
wegt http://www.csparks.com/MotoBackup/MotoBackup-1.8.zip
unzip MotoBackup-1.8.zip
cd MotoBackup-1.8
wine MotoBackup.exe com2:115200
# this doesn't want to work on my system.
Error: Could not read phonebook enteries.
#########################################
#########################################
# USELESSS SECTION
# wine can't run Motorola Phone Tools
#########################################
#########################################
# USELESSS SECTION
# Perl AT-Commands
http://search.cpan.org/~cosimo/Device-Modem-1.50/docs/FAQ.pod
g-cpan -i 'Device::Modem'
#########################################