Synchronizing an HTC Touch 3G PDA/phone to an Ubuntu GNU/Linux machine

From Wasteland

Jump to: navigation, search

Contents

Summary

These notes document what to do with an HTC Touch 3G (a.k.a. Jade) PDA/phone for people who don't run Windows in their PCs, e.g. I run Ubuntu (Jaunty) GNU/Linux on my machine.

Project status:

  • Synchronization with PC:
    • All attempts failed so far
  • Over-the-air (OTA) synchronization (using Wi-fi):
    • Contacts and (multiples) calendars synchronized with Google Mail and Google Calendar... OK
      • Annoyances: All calendars share the same colour on the device, regardless of the Google colours, and events created on the device are all assigned to the main calendar
    • Tasks synchronized with Google Mail/Calendar... Not available with NuevaSync
    • Pushing email... Paid option available from NuevaSync
    • Read and send email via University IMAP account... OK
    • Read and send email via GMail IMAP account... OK

Data connections

While synchronizing the HTC Touch 3G to linux is proving to be challenging, the device seems perfectly usable taking advantage of the WiFi connection. I suppose that this is the same case with the 3G data connection. Broadly speaking:

  • WiFi networks are very common in universities, businesses, cafés, airports, hotels... Some examples useful for Oxford
    • Most of the University of Oxford is covered by the Oxford Wireless LAN (OWL). Typically you can connect to the eduroam network using your Herald login (e.g. orie1234) and a password you get when you open a remote access account in the OUCS Self-Registration Home Page
    • The Oxford Tube and Oxford Espress buses to London offer WiFi.
    • The G&D's and Café Costa in Cowley Road, and the Oxford Blue pub in Magdalen St have WiFi connections for free for customers. Many other cafés and pubs in the city offer free WiFi too
    • WiFi is very common in airports, although you need to buy credits from a provider
  • 3G data connections require that you sign a contract or buy some kind of pack from a mobile phone operator. As of this writing, typical fees can be something like 50p a day, £5 a month, etc. Once you have signed a contract, you can connect from wherever you have mobile phone reception, i.e. you don't need to find a café with WiFi to use it.

HTC Touch 3G Specs

The specs for the HTC Touch 3G are:

  • Windows Mobile 6.1 Professional
  • SO CE 5.2.19974
  • Proc. MSM7225-528 MHz
  • Mem 123.54 MB

Synchronization HOWTO

As I haven't been unable to synchronize the HTC Touch 3G with the PC, this section refers only to synchronization of the data you have on the device (contacts, email, calendar...) with external services. This is usually know as "Over-the-air" (OTA) synchronization. In particular, we are going to synchronize the HTC Touch 3G with different Google services.

Google has made available an OTA service (Google Sync), but as of this writing Google Sync does not support multiple calendars. Therefore, we are going to use a third-party service to synchronize our Google data with the HTC Touch 3G.

First, create a Google account from your desktop or laptop if you don't have already one. This gives you access to email and a contacts list (Gmail) and multiple calendars (Google Calendar).

Contacts list and calendars

The following assumes that you have managed to get access to the Internet from your HTC Touch 3G, whether using WiFi or a 3G data connection (see above). Also, that you have backed up your data before attempting any synchronization.

There are 3 main third-party synchronization services: GooSync, OggSync and NuevaSync. This comparison between GooSync, OggSync and NuevaSync notes that only NuevaSync offers multiple calendar synchronization for free (up to 11 calendars).

Another advantage of NuevaSync is that you don't need to install any software on your device or PC, only sign up in their website. The main drawback for some people is that you have to use the Microsoft Exchange server configuration in ActiveSync. As ActiveSync only allows one server configuration, if you also want to sync with the Exchange server at work, then you need to be constantly changing the settings.

This is not my case, so I decided to use NuevaSync. The Windows Mobile Setup Instructions for NuevaSync are straightforward and simple, so I don't copy them here.

Note: One day, if Google Sync starts supporting multiple calendars, it'll be worth considering whether to use it instead of NuevaSync. The instructions to Set Up Your Windows Mobile Phone for Google Sync are also straightforward and simple.

Once you have configured NuevaSync, go to the ActiveSync screen in the HTC Touch 3G, and click on Synchronize. This will synchronize the list of contacts on your HTC Touch 3G with the contacts in your GMail account, and the calendar in your HTC Touch 3G with all your Google Calendars.

Known problems

  • Birthdays need to have all 3 fields filled in. Gmail can deal without having a year, but the HTC Touch 3G will silently fail to import any contact with an incomplete date. A workaround is to give incomplete dates the year 1900
  • Both Gmail and the HTC Touch 3G need to have their interfaces configured in the same language. Otherwise, you will get for example a field "Spouse" in Gmail, and the corresponding "Cónyuge" in the HTC Touch 3G, and they don't map onto each other
  • Each contact in Gmail needs to have either an email address or a telephone number, or it won't be imported by the HTC Touch 3G

GMail (IMAP)

You don't need NuevaSync, Google Sync or even a configured Microsoft Exchange Server configuration to read IMAP email (and send it with SMTP). You just need to be able to connect to the Internet, as seen above, and configure an email account.

On the HTC Touch 3G, go to Start -> Messaging -> Setup email.

Assuming that you have enabled IMAP in your GMail account, enter a fake email address. This is important, because if you enter your GMail address, then the system will recognize it and give you a POP3 configuration that you cannot later change.

Enter your GMail password, tick the "Remember password" box, and click on Next. Clear the "Attempt to obtain email settings automatically from the Internet" box.

In the provider menu, select "Internet email".

Enter your real name, e.g. "John Doe". Give a name to the account, e.g. "Gmail", and click on "Next".

Your incoming IMAP server is imap.gmail.com:993. The account type is "IMAP4". Click on "Next".

Enter your gmail username, e.g. john.doe@gmail.com.

Your outgoing email server is smtp.gmail.com:587, it requires authentication and uses the same username and password as the incoming server.

Set the frequency to send and receive. I prefer setting it to manual. I also like to set the message format to "Plain Text" instead of "HTML".

Don't try to download your email yet. First, you need to correct the fake email address from the beginning of the process. Go to Start -> Messaging again, select the new Gmail account, and click on Menu -> Options. Click on Gmail, and "Edit account settings". Correct the fake email address for the true one, e.g. john.doe@gmail.com.

Then keep going until you get to the outgoing server screen. You need to minimize the keyboard, to see the "Advanced server configuration" link at the bottom of the screen. Click on the link, and check "SSL connection for incoming email" and also for outgoing email. For "Network connection" select "Internet", and finish the configuration.

Now you can go back to the messaging interface, and try to "Send and receive" to access your GMail account.

Other resources

Some links to projects and discussions that may be useful to get the HTC Touch 3G synchronize with a linux PC.

Z-Push

Z-push is an open-source application to synchronize ActiveSync compatible PDAs and mobile phones.

It works with the Apache webserver and PHP.

I had a quick go at installing it, but I'm not quite there yet. I installed the application in /var/www/z-push, but the HTC Touch 3G is not synchronizing.

SynCE project

SynCE is an open source project to "provide a means of communication with a Windows Mobile device from a computer running Linux, *BSD or other unixes".

The SynCE project has a page for installing SynCE on Ubuntu to interoperate with Windows Mobile 5/6/6.1. There are two modes of connection, using:

  • the ipaq kernel driver to communicate via PPP over serial over USB (legacy)
  • the RNDIS driver, which is actually ethernet over USB

Basically, you need the packages synce-hal, librra-tools and librapi2-tools. Before going any further, you have to be able to connect the PDA/phone, run

$ synce-pls

and get a list of the files in it. For the test, remember to:

  • remove the PIN password from the device, otherwise the connection would be blocked by it. It'll be later possible to look into making it work with the password, but first let's get the basics right

This didn't work for me, so I followed the SynCE Connection Problems instructions:

  • Remove password protection from the device
  • blacklist ipaq kernel driver from trying to setup connection
  • prevent network manager from trying to handle the connection
  • I have no firewall running, so it was not necessary to configure it

There is information about SynceSetup and the SyncEngine.

MultiSync project

For the actual data synchronization, MultiSync is used, a "free modular program to synchronize calendars, addressbooks and other PIM data between programs on your computer and other computers, mobile devices, PDAs or cell phones. MultiSync works on any Gnome platform, such as Linux".

loongye blog

The blog loongye has a post about How to configure Ubuntu 8.10 Intrepid to work with HTC Touch Pro (or any WM6 device), which is a previous version of Ubuntu, and another HTC device.

Following this instructions doesn't work for me.

HittingSmoke thread in Ubuntu forums

HittingSmoke started a thread in Ubuntu forums about "HOW TO: Windows Mobile sync with Intrepid". This is not working for me either.

Trab thread in Ubuntu forums

Trab started a thread in Ubuntu forums about "How-To: Set up and use Synce". This is not working for me either.

kaefert66014235 thread in Ubuntu forums

kaefert66014235 started a thread in Ubuntu forums about Ubuntu 8.10 + Synce + Windows Mobile 6.1. He claims that he got everything to work, but synchronizing. This is not working for me either.

Notes about connection

With advanced network functionality in ActiveSync

This can be activated by ticking the corresponding box in the menu "Start" -> "Configuration" -> "Connections" -> "USB to PC".

When the device is connected, it appears as a USB device

$ lsusb 
...
Bus 001 Device 040: ID 0bb4:0b28 High Tech Computer Corp.
...

This creates some links in /dev:

$ ls /dev -1
...
usbdev1.41_ep00
usbdev1.41_ep03
usbdev1.41_ep81
usbdev1.41_ep82
...

dmesg reports:

[148717.792018] usb 1-7: new high speed USB device using ehci_hcd and address 41
[148717.933656] usb 1-7: configuration #1 chosen from 1 choice
[148718.028242] rndis_host 1-7:1.0: RNDIS_MSG_QUERY(0x00010202) failed, -47
[148718.049016] eth1: register 'rndis_host' at usb-0000:00:1d.7-7, RNDIS device, 80:00:60:0f:e8:00
[148718.091346] type=1503 audit(1248025238.403:104): operation="inode_permission" requested_mask="r::" denied_mask="r::" fsuid=0 name="/usr/share/synce-hal/dhclient.conf" pid=12854 profile="/sbin/dhclient3"
[148718.091376] type=1503 audit(1248025238.403:105): operation="inode_create" requested_mask="a::" denied_mask="a::" fsuid=0 name="/var/run/dhclient-synce-eth1.lease" pid=12854 profile="/sbin/dhclient3"
[148719.175451] type=1503 audit(1248025239.487:106): operation="inode_create" requested_mask="a::" denied_mask="a::" fsuid=0 name="/var/run/dhclient-synce-eth1.lease" pid=12854 profile="/sbin/dhclient3"

Without advanced network functionality in ActiveSync

It also shows up as a USB device

$ lsusb 
...
Bus 001 Device 043: ID 0bb4:0a28 High Tech Computer Corp. PocketPC Sync
...

with links in /dev

$ ls /dev -1
...
usbdev1.42_ep00
usbdev1.42_ep02
usbdev1.42_ep81
...

And dmesg reports:

[150368.532519] usb 1-7: new high speed USB device using ehci_hcd and address 42 [150368.673878] usb 1-7: configuration #1 chosen from 1 choice

Alternatives to synchronizing with the computer

Alternatively, instead of synchronizing with the computer via the USB cable, it's possible to buy data access from your mobile phone operator, and then use one of the following systems:

A comparison between GooSync, OggSync and NuevaSync.

Hacking the HTC Touch 3G

The XDA developers forums is a group of developers that 'reverse-engineered' HTC devices, find a lot of information, and shared it with the world. They have copies of HTC ROMs for different devices and in different languages. This is where I found out that the HTC Touch 3G is also known as the HTC Jade.

Personal tools