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' #########################################