<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Miia Ranta &#187; Symbian</title>
	<atom:link href="http://myrtti.fi/blog/tag/symbian/feed/" rel="self" type="application/rss+xml" />
	<link>http://myrtti.fi/blog</link>
	<description>Nerdette ravings</description>
	<lastBuildDate>Sun, 29 Apr 2012 22:02:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>HOWTO: sync s60v3 phone to Google Calendar and make backups of contacts/calendar/notes (in Ubuntu/Linux)</title>
		<link>http://myrtti.fi/blog/2009/03/25/howto-sync-s60v3-phone-to-google-calendar-and-make-backups-of-contactscalendarnotes/</link>
		<comments>http://myrtti.fi/blog/2009/03/25/howto-sync-s60v3-phone-to-google-calendar-and-make-backups-of-contactscalendarnotes/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 15:29:03 +0000</pubDate>
		<dc:creator>myrtti</dc:creator>
				<category><![CDATA[ICT]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Tips'n'Tricks]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[s60v3]]></category>
		<category><![CDATA[schedule]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[SyncML]]></category>

		<guid isPermaLink="false">http://myrtti.fi/blog/?p=458</guid>
		<description><![CDATA[I&#8217;ve used a SyncML capable phone since May 2006. SyncML is a great way to synchronize my phone and some of its data to outside sources. I also try to put all my events and happening to my calendar either &#8230; <a href="http://myrtti.fi/blog/2009/03/25/howto-sync-s60v3-phone-to-google-calendar-and-make-backups-of-contactscalendarnotes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve used a SyncML capable phone since May 2006. SyncML is a great way to synchronize my phone and some of its data to outside sources. I also try to put all my events and happening to my calendar either by the phone itself or by Google Calendar. I&#8217;ve subscribed to several Internet calendars in addition to my own in Google Calendar, notable ones are:</p>
<ul>
<li>Ubuntu Fridge Events</li>
<li>Facebook friends birthdays</li>
<li>Facebook event invitations</li>
<li>Finnish Open source events</li>
<li>Finnish public holidays and events</li>
<li>My friends travel schedule</li>
</ul>
<p>I also hate Evolution, and have a dislike for Sunbird after using both for several years. Currently my desktop calendar system is mainly Google calendar, my phone and for quick looks while offline, orage. Orage doesn&#8217;t currently come with an option of subscribing to online calendars, but that can be easily solved.</p>
<p>What I don&#8217;t like is synchronizing these by hand. Things should be automatic, easy and happen without me noticing a thing. Here in picture comes my home server, bluetooth dongle, crontab, msynctool and wget.</p>
<p>Most important part of this setup is msynctool. I use it to synchronize my phone with Google cal automatically with cronjobs.<br />
<code>53 */8 * * * msynctool --conflict n --sync google-phone 2>/dev/null 1>/dev/null</code><br />
msynctool needs configuration:</p>
<ol>
<li>first of all, you need multisync-tools and some plugins for opensync, and of course software for bluetooth. My pesky Dell Optiplex GX50 running as my homeserver runs with Ubuntu Hardy 8.04.1 LTS, to which I&#8217;ve installed multisync-tools from a PPA:<br />
<code>deb http://ppa.launchpad.net/debian-opensync/ubuntu hardy main</code><br />
and have installed atleast <code>opensync-plugin-file opensyncutils opensync-plugin-google-calendar opensync-plugin-irmc opensync-plugin-syncml multisync-tools</code><br />
In Intrepid the needed tools are available from the normal intrepid repositories.</li>
<li>figure out your phone settings. Make sure your phones bluetooth is visible to outside queries, and do a scan to acquire the bluetooth MAC address:<br />
<code>myrtti@kengu:~$ hcitool scan<br />
Scanning ...<br />
        00:1C:D4:4C:93:AA       Nasu</code><br />
and check the channel for SyncML:<br />
<code>myrtti@kengu:~$ sdptool search --bdaddr 00:1C:D4:4C:93:AA SYNCML<br />
Searching for SYNCML on 00:1C:D4:4C:93:AA ...<br />
Service Name: SyncMLClient<br />
Service RecHandle: 0x1000b<br />
Service Class ID List:<br />
  UUID 128: 00000002-0000-1000-8000-0002ee000002<br />
Protocol Descriptor List:<br />
  "L2CAP" (0x0100)<br />
  "RFCOMM" (0x0003)<br />
    Channel: 10<br />
  "OBEX" (0x0008)<br />
Language Base Attr List:<br />
  code_ISO639: 0x454e<br />
  encoding:    0x6a<br />
  base_offset: 0x100<br />
Profile Descriptor List:<br />
  "" (0x00000002-0000-1000-8000-0002ee000002)<br />
    Version: 0x0100</code></p>
<p>In this case the channel is 10.
</li>
<li>Try if the connection to your phone works with:<br />
<code>syncml-obex-client -b 00:1C:D4:4C:93:AA 10 --slow-sync text/x-vcalendar Calendar --identifier "PC Suite" --wbxml</code></li>
<li>you need to configure the synchronization group. As stated in man msynctool, this is done by:<br />
<code>msynctool --addgroup &lt;groupname&gt;</code><br />
in this case, let&#8217;s do two groups, google-phone and file-backup.</p>
<p>After creating the groups, you need to add members to them:<br />
<code>msynctool --addmember google-phone google-calendar<br />
msynctool --addmember google-phone syncml-obex-client</code></p>
<p><code>msynctool --addmember file-backup syncml-obex-client<br />
msynctool --addmember file-backup file-sync</code>
</li>
<li>Now that you have members added, you need to configure them. For the first group we added, google-phone, the configuring happens with commands
<ol>
<li><code>msynctool --configure google-phone 1</code><br />
which will open up a file in your favorite editor that looks roughly like this:<br />
<code>&lt;config&gt;<br />
&lt;url&gt;http://www.google.com/calendar/feeds/USER@gmail.com/private/full&lt;/url&gt;<br />
        &lt;username&gt;USER@gmail.com&lt;/username&gt;<br />
        &lt;password&gt;PASSWORD&lt;/password&gt;<br />
&lt;/config&gt;<br />
</code><br />
Replace the USER and PASSWORD with your own.</li>
<li><code>msynctool --configure google-phone 2</code><br />
which will open up a file in your favorite editor that looks roughly like this:<br />
<code>&lt;?xml version="1.0"?&gt;<br />
&lt;config&gt;<br />
  &lt;!-- (Only for bluetooth) The bluetooth address if the bluetooth mode is selected --&gt;<br />
  &lt;bluetooth_address&gt;00:1C:D4:4C:93:AA&lt;/bluetooth_address&gt;<br />
  &lt;!-- (Only for bluetooth) The bluetooth channel to use. `sdptool browse $MAC` to search for the correct channel --&gt;<br />
  &lt;bluetooth_channel&gt;10&lt;/bluetooth_channel&gt;<br />
  &lt;!-- (Only for USB) The usb interface number of the SYNCML-SYNC target. use syncml-obex-client -u (you will need access to the USB raw device) to find it. --&gt;<br />
  &lt;interface&gt;0&lt;/interface&gt;<br />
  &lt;!-- The string that the plugin will use to identify itself. Some devices need a special string here. --&gt;<br />
  &lt;identifier&gt;Google Calendar&lt;/identifier&gt;<br />
  &lt;!-- The syncml version to use: 0 for 1.0, 1 for 1.1 and 2 for 1.2 --&gt;<br />
  &lt;version&gt;1&lt;/version&gt;<br />
  &lt;!-- if the plugin should use wbxml --&gt;<br />
  &lt;wbxml&gt;1&lt;/wbxml&gt;<br />
  &lt;!-- The username to use. Leave empty to not require a username --&gt;<br />
  &lt;username&gt;&lt;/username&gt;<br />
  &lt;!-- the password for the username --&gt;<br />
  &lt;password&gt;&lt;/password&gt;<br />
  &lt;!-- sets the connection type to use. 5 means obex over usb, 2 means obex over bluetooth --&gt;<br />
  &lt;type&gt;2&lt;/type&gt;<br />
  &lt;!-- If wbxml is enabled, defines wether the wbxml should use string tables --&gt;<br />
  &lt;usestringtable&gt;0&lt;/usestringtable&gt;<br />
  &lt;!-- Never send ADD command, but send REPLACE (not needed normally) --&gt;<br />
  &lt;onlyreplace&gt;0&lt;/onlyreplace&gt;<br />
  &lt;!-- Workaround around for mobile phones which only use local timestamps and _no_ UTC timestamps! --&gt;<br />
  &lt;onlyLocaltime&gt;0&lt;/onlyLocaltime&gt;<br />
  &lt;!-- Sets the maximum allowed size in bytes of incoming messages (some device need this option set). Example: 10000 --&gt;<br />
  &lt;recvLimit&gt;0&lt;/recvLimit&gt;<br />
  &lt;maxObjSize&gt;0&lt;/maxObjSize&gt;<br />
 &lt;!-- The name of the contacts db. Must be the same as the phones sends --&gt;<br />
   &lt;contact_db&gt;Contacts &lt;/contact_db&gt;<br />
   &lt;!-- The name of the calendar db. Must be the same as the phones sends --&gt;<br />
   &lt;calendar_db&gt;Calendar &lt;/calendar_db&gt;<br />
   &lt;!-- The name of the note db. Must be the same as the phones sends --&gt;<br />
   &lt;note_db&gt;Notes &lt;/note_db&gt;<br />
&lt;/config&gt;<br />
</code><br />
<strong>Save this file to your home directory or somewhere else accessible, because we&#8217;ll need this for configuring the file-backup group!</strong>
</li>
</ol>
<p>and for the second group, file-backup, with</p>
<ol>
<li>
<code>msynctool --configure file-backup 1</code><br />
which will require the exact same configurations as google-phone member 2 did, so now just replace the dummy file with the one you saved in the previous step <strong>WITH ONE EXCEPTION:</strong><br />
<code>&lt;identifier&gt;File Backup&lt;/identifier&gt;</code>
</li>
<li><code>msynctool --configure file-backup 2</code><br />
which will be a XML file a bit like this:<br />
<code>&lt;?xml version="1.0"?&gt;<br />
&lt;config&gt;<br />
  &lt;!-- directory path for file-sync --&gt;<br />
  &lt;path&gt;/home/myrtti/.phonebackup&lt;/path&gt;<br />
  &lt;!-- should care of subdirectories (TRUE or FALSE) --&gt;<br />
  &lt;recursive&gt;FALSE&lt;/recursive&gt;<br />
&lt;/config&gt;<br />
</code><br />
<strong>Note that you need to create a directory for the filesync, in this case it would be /home/myrtti/.phonebackup</strong>
</li>
</ol>
</li>
<li><a href="http://www.flickr.com/photos/myrtti/3384404167/" class="tt-flickr tt-flickr-Medium" title="Main-Tools" style="float:right;"><img style="float:right;" class="alignnone" src="http://farm4.static.flickr.com/3455/3384404167_48bb94c557.jpg" alt="Main-Tools" width="240" height="320" /></a><a style="float:right;" href="http://www.flickr.com/photos/myrtti/3385219062/" class="tt-flickr tt-flickr-Thumbnail" title="New-sync-profile"><img style="float:right;" class="alignnone" src="http://farm4.static.flickr.com/3600/3385219062_5a07b00891_t.jpg" alt="New-sync-profile" width="75" height="100" /></a>  To configure your phone, go to Menu &#8211; Tools &#8211; Sync and add:
<ol>
<li>Synchronization profile for File Backup
<ol style="list-style-type:none;">
<li><a href="http://www.flickr.com/photos/myrtti/3385219126/" class="tt-flickr tt-flickr-Thumbnail" title="File-backup-profile"><img class="alignnone" src="http://farm4.static.flickr.com/3640/3385219126_3aab5261f4_t.jpg" alt="File-backup-profile" width="75" height="100" /></a> </li>
<li><a href="http://www.flickr.com/photos/myrtti/3384404367/" class="tt-flickr tt-flickr-Thumbnail" title="Connection-settings-filebackup"><img class="alignnone" src="http://farm4.static.flickr.com/3657/3384404367_4cd02372f3_t.jpg" alt="Connection-settings-filebackup" width="75" height="100" /></a> </li>
<li><a href="http://www.flickr.com/photos/myrtti/3384404677/" class="tt-flickr tt-flickr-Thumbnail" title="Connection-settings-general"><img class="alignnone" src="http://farm4.static.flickr.com/3651/3384404677_80fce8a62b_t.jpg" alt="Connection-settings-general" width="75" height="100" /></a> </li>
<li><a href="http://www.flickr.com/photos/myrtti/3384404785/" class="tt-flickr tt-flickr-Thumbnail" title="Define-datasources-filebackup"><img class="alignnone" src="http://farm4.static.flickr.com/3457/3384404785_2997261774_t.jpg" alt="Define-datasources-filebackup" width="75" height="100" /></a> </li>
</ol>
</li>
<li>Synchronization profile for Google Calendar
<ol style="list-style-type:none;">
<li><a href="http://www.flickr.com/photos/myrtti/3385219274/" class="tt-flickr tt-flickr-Thumbnail" title="Google-calendar-profile"><img class="alignnone" src="http://farm4.static.flickr.com/3644/3385219274_02c64a57ce_t.jpg" alt="Google-calendar-profile" width="75" height="100" /></a> </li>
<li><a href="http://www.flickr.com/photos/myrtti/3384404593/" class="tt-flickr tt-flickr-Thumbnail" title="Connection-settings-gcal"><img class="alignnone" src="http://farm4.static.flickr.com/3629/3384404593_64541dea7c_t.jpg" alt="Connection-settings-gcal" width="75" height="100" /></a> </li>
<li><a href="http://www.flickr.com/photos/myrtti/3384404677/" class="tt-flickr tt-flickr-Thumbnail" title="Connection-settings-general"><img class="alignnone" src="http://farm4.static.flickr.com/3651/3384404677_80fce8a62b_t.jpg" alt="Connection-settings-general" width="75" height="100" /></a> </li>
<li><a href="http://www.flickr.com/photos/myrtti/3384404509/" class="tt-flickr tt-flickr-Thumbnail" title="Define-datasources-gcal"><img class="alignnone" src="http://farm4.static.flickr.com/3647/3384404509_6207558bf4_t.jpg" alt="Define-datasources-gcal" width="75" height="100" /></a> </li>
<li><a href="http://www.flickr.com/photos/myrtti/3386587823/" class="tt-flickr tt-flickr-Small" title="Calendar Synchronization settings"><img class="alignnone" src="http://farm4.static.flickr.com/3424/3386587823_415114388f_m.jpg" alt="Calendar Synchronization settings" width="180" height="240" /></a> </li>
</ol>
</li>
</ol>
</li>
<li>now you should be able to synchronize your phone using the commands<br />
<code><br />
 msynctool --conflict n --sync google-phone<br />
 msynctool --conflict n --sync file-backup<br />
</code><br />
and add it them to your cronjobs as in the example in the beginning of this entry.
</li>
<li>As the final touch for those of you who use Orage, do a cronjob:<br />
<code>10 * * * * wget -O ~/.personal.ics http://www.google.com/calendar/ical/USER%40gmail.com/private-eaq193204802357106916067/basic.ics</code><br />
where the URL fetched is the private iCal URL that you can get from your Google Calendar sharing settings. Similar procedure can be done with other iCal&#8217;s you find on the web, after which you can import them to your Orage with the foreign file import:<br />
<a href="http://www.flickr.com/photos/myrtti/3384505607/" class="tt-flickr tt-flickr-Small" title="orage-ics-import"><img class="alignnone" src="http://farm4.static.flickr.com/3549/3384505607_54df2436c8_m.jpg" alt="orage-ics-import" width="192" height="240" /></a></p>
<p><em>those of you who use Gnome and have evolution-data-server installed, but don&#8217;t use Evolution itself for your calendar events (and use Sunbird/Lightning or some other calendar application instead) and still want to make the events to show up in the Gnome clock when you click it, try and enter on your terminal prompt:<br />
<code>/usr/lib/evolution-webcal/evolution-webcal http://www.google.com/calendar/ical/USER%40gmail.com/private-eaq193204802357106916067/basic.ics</code><br />
where the URL is again the one acquired from the Google Calendar settings (thanks to <a href="http://www.siltala.net">topyli</a> for this one!)</em>
</li>
</ol>
<p><strong>BWUH!</strong> I&#8217;m fairly sure this HOWTO contains more than one mistake, so you might need to fiddle around with your phone and computer more than this lets you assume. I&#8217;ve managed to make mine work though with this. <strong>A word of warning, though!</strong> Keep a good copy of your stuff elsewhere too, and study the meaning of the<br />
<code>[--conflict 1-9/d/i/n]			Resolve all conflicts as side [1-9] wins, [d]uplicate, [i]gnore, or keep [n]ewer</code></p>
<p><em>The theme I currently use on my phone is <a href="http://www.babinokia.com/2008/02/21/glamur-v3-update/">Glamurv3</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://myrtti.fi/blog/2009/03/25/howto-sync-s60v3-phone-to-google-calendar-and-make-backups-of-contactscalendarnotes/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

