Out of the blue, my Palm Pre started to panick, telling me that its application database was full,
and that it needed to restart - and wipe out everything on the phone in the process. And so it did.
At this point, I noticed once more how dependent I have become on my phone. Losing all my contacts,
calendar entries and other data I entrusted my phone with: Most frightening!
After rebooting, the phone tried to connect to my webOS account. Fortunately, this connection
worked as expected, and I was able to bootstrap the recovery process.
The first major hurdle was that I had to reinstall HP's
root certificate patch on the phone. (The tricky part is that
I had to change the date to July 1st 2013 before the patch could be installed.)
After this, most recovery steps went fine, but then trying to sync my contacts and calendar with my
Gmail account, I got nothing but "unknown error" messages. It took me a while to find this gem
of an article:
"ALERT: Google account sync broken on webOS devices (and a fix)"
It turns out that Google started to redirect contact requests to https a while ago, and a
patch needs
to be installed on webOS devives to accommodate for this change.
The rough sequence of installation steps was:
- Switch the phone into developer mode
- Download and run webOS Quick Installer on my Mac
- Using Quick Installer, install Preware, Internlz Pro, GNU Patch, Lsfiff and AUSMT on the phone
- Run Internlz Pro on the phone; in its settings, register the Internlz Pro text editor as a "standard application"
- Copy the patch file to the phone (via USB, sending the file via email might work as well)
- Open the file in Internalz Pro, which will offer to install the file as a patch
Update August 2014: I noticed that Google syncs were failing again with "unknown error" messages. Turns out
that others have noticed this, too, and that there is a new version of the sync patch.
Here are the symptoms of the problem as they showed up in
/var/log/messages
:
./messages:2014-08-25T19:46:20.053649Z [2288]
webos-device user.err contacts.google.js: [com.palm.service.contacts.google]
Error: 301
<HTML> <HEAD> <TITLE>Moved Permanently</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Permanently</H1>
The document has moved <A HREF="https://www.google.com/m8/feeds/contacts/default/full?max-results=50&updated-min=2014-06-25T15:16:16.044%2B02:00&showdeleted=true&group=http://www.google.com/m8/feeds/groups/XXXXXXXXXXXgmail.com/base/6&user-agent=palm+GData-JavaScript/3.0+1408995877676-139&alt=json">here</A>.
</BODY>
</HTML>
at [object Object].<anonymous> (javascript/google/gdata_lib.js:121:339)
at javascript/google/gdata_lib.js:8:285
at clazz.onreadystatechange (javascript/google/gdata_lib.js:95:440)
at clazz.<anonymous> (javascript/utils/xhr.js:84:9)
at Future._maybeDispatch (/usr/palm/frameworks/foundations/version/1.0/javascript/control/future.js:300:17)
at Future.setResult [as result] (/usr/palm/frameworks/foundations/version/1.0/javascript/control/futu
This time, I first had to uninstall the previous version of the patch (start Preware, list installed patches,
select gsync patch, uninstall). Then I
downloaded the patch,
copied to the phone by connecting it as a USB drive, and installed the patch using Internalz Pro.
This fixed the sync issue for the calendar, but it took a few attempts until the error message disappeared for my contacts. Hmmm.
While I was at it, I
learned that it is trivially easy to run a shell on the Palm phone:
ovacom open tty://.