Brocade Java Problems

Brocade Fiber Channel switches running FabricOS, in particular the DS-300B switches suffer from problems when trying to make use of the web based Switch Explorer. This usually results in getting an error something like the following:

The version of Java plugin needed to run the application is not installed. The page from where the plugin can be downloaded will be opened in a new window. If not, please click here: Download correct Java version.

One solution is to install Java 1.6, which is now outdated and not receiving security updates. A better approach is to use Java 1.7 and simply bypass the version check. This can be achieved by visiting the following URL:

http://IP ADDRESS/switchExplorer_installed.html

You will need to make sure the URL is added to either the Local Intranet or Trusted Sites zone in internet explorer for this to work. Unfortunately this solution will only work with Java 1.7, Java 1.8 introduces some additional security requirements which I’ve not looked into yet.

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).