Turn an old Google Appliance into an ESX server

So, you’ve got an old Google Appliance kicking around? Maybe from an expired Google Enterprise Partner Program (GEP) agreement? Why not turn it into an ESX/vSphere server.

Once your license has expired, you’ll want to do is check with Google and make sure they don’t want the hardware back (they never do, but best to check). It’s safe to say that doing this is going to void your warranty.

The first thing you’re going to need to do is reset he password on the BIOS so that you can change the boot order. The easiest way to do this is to open the chassis and remove the jumper labelled PWRD_EN. The jumper is located just behind the memory towards the rear of the server. The next time you boot you can hit F2 to get into the BIOS.
Continue reading Turn an old Google Appliance into an ESX server

Blackberry calendar not synchronising from device to Exchange

An issue was recently escalated to me where BES users were experiencing problems with their Blackberry calendar synchronisation. Appointments would appear on the device if they were created in Outlook, but not the other way around.

Blackberry Enterprise Server (BES) was running 5.0.3 on a Windows 2003 Virtual-Machine (VMware ESX).

Looking back over the logs on the server, the problem could be traced back to the installation of BES 5.0 Service Pack 3. The Changes in 5.0 SP3 didn’t show anything that could obviously cause this, so the first task was to update MAPI CDO to the latest version.

Digging throught the Messaging Agent log files yielded the following:

[40000] (01/06 00:00:04.871):{0x268} Failed to start CDO helper 070FD658 in StartCalHelper, retcode = 128
[40000] (01/06 00:00:04.871):{0x268} {dave.hope@example.net} StartCalHelper() failed in RunCalHelper
[40000] (01/06 00:00:04.871):{0x268} {dave.hope@example.net} CDO helper 078FD658 returned error '100' failed for LongTermEntryId=0 in LaunchCalHelper
[40000] (01/06 00:00:04.950):{0x268} {dave.hope@example.net} Unable to launch CDO helper in SynchronizeHelper
[40000] (01/06 00:00:04.950):{0x268} {dave.hope@example.net} Unable to process message with LongTermEntryId=0 in SynchronizeHelper
[20216] (01/06 00:00:04.950):{0x268} {dave.hope@example.net} Synchronize() failed: ERR_FAIL, Tag=2242466
[40000] (01/06 00:00:04.950):{0x268} {dave.hope@example.net}-UserControl::SlowSyncComplete-Entering SessID=4fce8f76
[40000] (01/06 00:00:04.950):{0x268} {dave.hope@example.net}-UserControl::SlowSyncComplete-Exits result=OK
[40000] (01/06 00:00:04.950):{0x268} {dave.hope@example.net}-HandleAppointmentToSynchronize-Exit-rc=Error
[40279] (01/06 00:00:04.950):{0x268} {dave.hope@example.net} SubmitToRelaySendQ, Tag=2242466

After trying everything I could possibly think of, the problem turned out to be outdated NIC drivers. BES was running under VMware ESX using an emulated e1000 NIC which shows up in Windows as an “Intel PRO/1000 MT”. The out-the-box driver was version 6.3.6.31 (from 2002). The latest version 8.10.3.0 (from 2008) can be downloaded from the Intel website.

Updating to the latest driver resolved the problem (amazingly).