Motorola Defy and Exchange ActiveSync

Motorola Defy cell phoneI’m working on a problem right now involving a Motorola Defy phone and Exchange 2003 Activesync. Posting this as a means of gathering my thoughts, and in the hopes that if anyone else if having this problem they find this for discussion.
About 15 of these phones have been brought in for our field staff since they’re rugged and reliable. We’ve broken too many HTC Desires out in the field to continue throwing away money like that.

 

The problem is, using the “Corporate Sync” application on the Defy, we can’t send email. Here’s what I know so far:

 

  • Only using an Exchange connection, not POP3 or IMAP
  • Attempting to send email over cell network fails
  • Attempting to send email over wifi (on the same network as our Exchange server) is successful
  • Attempting to send email over wifi (external network) fails (unconfirmed)
  • The Defy reportedly used to work properly, but haven’t since mid-September
  • This coincides with the network upgrades I made around that time, where I replaced our firewall with a Sonicwall NSA 2400 and replaced our Reverse Proxy (running Apache) at the same time.
  • All Exchange traffic goes through the reverse proxy
  • No other ActiveSync devices are having a problem (Windows Mobile 6.5, iOS, Android)

 

I’ve disabled all the security features on the Sonicwall in the hopes that was causing the problem to no avail. I’ve looked over the Apache logs on the reverse proxy, but don’t see anything unique to the Defy. I’ve compared my reverse proxy config between the new an old servers, with no difference.

 

This is frustrating because it seems to only be a problem with the Motorola Corporate Sync app, but its only a problem when traffic flows through my reverse proxy or firewall. Its such a specific set of circumstances and I can’t figure out what is causing it.

If I do come upon a solution, I’ll definitely post an update.

 

Adobe Flash “InstallAx.exe” Update

This is an update to my earlier post on December 6th, 2010 here.Adobe Flash Player

Since the original post, a few developments have been made through personal findings and the comments.

The “Installax.exe is not marked for installation” issue is still occurring with the latest versions of Flash, so I have decided to abandon GPO deployment through software assignment altogether.

Instead, I will be using the following batch script in a startup script GPO, and keep it updated accordingly. Thanks to Chris Deeming who made some improvements to the original script and posted it in the comments on my original post.

I have tried to be as verbose as possible in the comments so that this is easy to follow along with.


:: Adobe flash giving "installax" errors when updating from GPO
:: This batch file will remove those errors and install latest version
:: This batch file should be run from a shutdown or startup script
 
@echo off

:: These are the only changes that need to be made for an updated version. 
:: Simply put in the new version number, and the path to the new MSI file. 
Set "LatestVersionNumber=11.0.1.152"
Set "LatestVersionMSI_Path=\\domain\Public\General\adobeflash\install_flash_player_11.0.1.152.msi"

 
:: Check Windows Version
ver | findstr /i "5\.1\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_XP
ver | findstr /i "6\.1\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_Win7
 
 
:ver_Win7
::Run Windows 7 specific commands here
Set "AdobeVersion=" & setlocal & Set "$V="
:: Look in the Uninstall area of registry, where the installed version of Flash player is listed
Set "RegKey=HKLM\SOFTWARE\Wow6432Node\Macromedia\FlashPlayerActiveX"
Set "RegItem=Version"
:: Take the output of a REG QUERY to the location above, and put it into the AdobeVersion variable
For /f "tokens=3*" %%! in (
   '2^>nul Reg.exe QUERY "%RegKey%" /v "%RegItem%" ^|(
   Findstr.exe /ri "\<%RegItem%\>"^)') Do Set "$V=%%!"
endlocal & call Set "AdobeVersion=%$V%"

:: If what is currently installed matches latest version, exit. Otherwise, go to install section
IF DEFINED AdobeVersion (goto :Win7vercheck) ELSE (goto :install)
:Win7vercheck
if %AdobeVersion% == %LatestVersionNumber% goto :exit
goto :Install
 
 
:ver_XP

::Run Windows XP specific commands here
Set "AdobeVersionXP=" & setlocal & Set "$T="
:: Look in the Uninstall area of registry, where the installed version of Flash player is listed
Set "RegKeyXP=HKLM\SOFTWARE\Macromedia\FlashPlayerActiveX"
Set "RegItemXP=Version"
:: Take the output of a REG QUERY to the location above, and put it into the AdobeVersion variable
For /f "tokens=3*" %%! in (
   '2^>nul Reg.exe QUERY "%RegKeyXP%" /v "%RegItemXP%" ^|(
   Findstr.exe /ri "\<%RegItemXP%\>"^)') Do Set "$V=%%!"
endlocal & call Set "AdobeVersionXP=%$V%"

:: If what is currently installed matches latest version, exit. Otherwise, go to install section
IF DEFINED AdobeVersionXP (goto :WinXPvercheck) ELSE (goto :install)
:WinXPvercheck
if %AdobeVersionXP% == %LatestVersionNumber% goto :exit
goto :Install
 
:Install

 
::Uninstall current versions of Flash from DFS share
msiexec /uninstall %LatestVersionMSI_Path% /quiet

:: Remove offending registry entries causing the error
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\4E867BFF724E3554CB631AF1E5269AD4 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\6D98A6046E9005543B07D873D6BD65EB /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\4E867BFF724E3554CB631AF1E5269AD4 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\6D98A6046E9005543B07D873D6BD65EB /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\00B86459180C72B4CA69A0A21353E906 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\00B86459180C72B4CA69A0A21353E906 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\68AB67CA7DA73301B744AA0000000010 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\A42FBB8140D64AC46B4BC13F2761E2CE /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\C460100B160DEAB4091314A638D85563 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\4195BD842778D2748BFD2E90B25E896F /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\B0E390BD43903814AB06C5A1CDF94642 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\4195BD842778D2748BFD2E90B25E896F /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\B0E390BD43903814AB06C5A1CDF94642 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\D9D09CCDD8F460A40905DABD82F49FAF /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\D9D09CCDD8F460A40905DABD82F49FAF /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\2DAEED307B3FFB5409602AD510F5002D /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features\5258E229E7CA4924CAAA3417D244320C /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\2DAEED307B3FFB5409602AD510F5002D /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\41699E6F240F9544287BB8832B063165 /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products\5258E229E7CA4924CAAA3417D244320C /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Features3797D32A1CEE534388FAABEEF25730B /F
REG DELETE HKEY_CLASSES_ROOT\Installer\Products3797D32A1CEE534388FAABEEF25730B /F

 
:: Install latest version of Flash
msiexec /i %LatestVersionMSI_Path% /quiet

:: Copy mms.cfg to disable auto-update
copy /Y \\domain\Public\General\adobeflash\mms.cfg %systemdrive%\windows\system32\Macromed\Flash
copy /Y \\domain\Public\General\adobeflash\mms.cfg %systemdrive%\windows\SysWOW64\Macromed\Flash
goto :exit
 
:exit

 

 

Recent performance testing and results

I’Intel i7ve just completed some performance testing for an OrthoPhotography component within PCI Geomatica and thought I’d share the results. The results aren’t very surprising based on past experiences, but a little disappointing.

After repeated discussions, we purchase the following system from Dell specifically for this purpose:

Precision T5500

2 x Intel Xeon E5607 2.27 GHz
24 GB (6x4GB – 1600 MHz DDR3)
2 x 256 SSD – RAID1
2 x 1.5 TB SATA – RAID 1
2 x nVidia Quadro 2000 1GB

Total Cost: $5700

We insisted on benchmarking this desktop before it was put to production use, because we didn’t think it would perform as well as the manager thought. This desktop was considered as our baseline.

Using OrthoEngine with a 4.5GB .pix file, our existing computers (Pentium 4, 2006 era) were taking over 5 hours to complete an epipolar generation. The latest version of Geomatica is 2012, was just released, and promised support of x64 systems, and increased utilization of multiple cores and processors.

Our baseline system completed the data operation in 40 minutes, which while a huge improvement over our previous systems, isn’t surprising considering its 5 years newer.

The following table illustrates some of the findings while changing around the hardware configuration.

Setup Start Time End Time Duration (minutes) % Change from baseline
Baseline 9:48 10:28 40 0.0%
Baseline test # 2 (no change in settings) 1:27 2:09 42 5.0%
SATA Drive (2 year old 160 GB) 2:31 3:26 55 37.5%
Remove 1 processor 3:47 4:26 39 2.5%
Baseline (set affinity to 1 core) 7:23 8:05 42 5.0%
8 GB RAM (2 x 4.0 GB RAM) 8:31 9:13 42 5.0%

From the results, we can see that there is around a 2 minute margin of error, and that:

  • Older SATA drive greatly reduces performance
  • Additional processor provides no benefit
  • Additional cores provide no benefit
  • Additional RAM above 8 GB provides no benefit

 

It was clear after these tests that the value of the purchased desktop was terrible. I figured it was worth doing the same benchmarking on our current standard CAD system:

Optiplex 990

Intel Core i7-2600 – 3.4 GHz
8.0 GB (2x4GB – 1333MHz DDR3)
500 GB SATA 7200rpm
ATI Radeon HD6450 1GB

Total Cost: $1480

The following are the results compared to the baseline 40 minute process:

Setup Start Time End Time Duration (minutes) % Change from baseline
Test on Optiplex 4:45 5:15 30 25.0%
Test on Optiplex (processor priority on high) 7:19 7:48 29 27.5%
Optiplex (Geomatica 10.3) 9:29 10:01 32 20.0%
Optiplex (4GB RAM – 1 stick) 10:47 11:28 41 2.5%
Optiplex (with SSD) 4:33 4:57 24 40.0%

Here’s where it gets interesting. It is clear that our CAD desktop is much faster than the baseline, and this is solely by having a faster CPU clock speed.

I tried using the previous version of the software (10.3) to see if there were any improvements in the 2012 release, however at only 2 minutes slower it is effectively the same.

Dropping to 4 GB of RAM did produce a difference, but this makes sense as the data set is 4.5 GB. We can see from previous tests that having more than 8 GB of RAM made no difference.

Best overall performance was with the faster processor and an SSD.

We did another test called DEM Extraction with the resulting files from the epipolar creation process above. These were 2.5 GB files, which I’m told took multiple days to do a DEM Extraction on in our current systems.

Setup Start Time End Time Duration (minutes) % Change from baseline
Baseline (Precision) 2:09 7:21 (15th) 1032
Optiplex 1:23 11:08 (14th) 585 43.0%

The baseline system did the job in 17 and a bit hours, while our CAD Desktop finished in 9 hours 45 minutes!
Since then, we’ve returned the Precision, and I’ve convinced the department manager to let us bring in a custom desktop with an Intel i7-2600k, which we’ll overclock to 4.x GHz for the best performance.

 

Overall, we’ve seen similar performance needs with our AutoCAD Civil 3D benchmarking where the largest performance gains were seen by having a high clock-speed CPU.

The problem now is finding 8 GB DIMMs that are unregistered, non-ECC to go into a P67 motherboard.

 

 

 

 

 

 

 

ReportViewer doesn’t take full width in Internet Explorer

I’ve been struggling with an issue with a ReportViewer control in an aspx page for a while now, and finally dedicated some time to getting it resolved.

My control looks like this:

rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="1em"
          ProcessingMode="Remote" AsyncRendering="False" SizeToReportContent="True" ShowBackButton="True"
          EnableViewState="True" Width="100%"

 

With these attributes, the report displayed correctly in Firefox, but not in Internet Explorer 9. There was a small area to the right of the report body that the report wouldn’t expand into. I’ve seen this reported elsewhere such as this stackoverflow topic.

Here’s what it looked like:

Comparison of width
Firefox display vs. Internet Explorer display

 

After digging a little deeper with the developer tools, I’ve found that the report body is broken into two cells in a table.

The first has a unique identifier, with no width specified. The second has a width of 100%, but is empty. It’s this empty TD that is causing the space:

HTML code showing the problem TD

For some reason Firefox ignores width on the second TD, but IE gives it space.

I wasted a lot of time trying to use javascript, report server attributes and c# code to get rid of this, but finally discovered an easy way to fix it using CSS.

That first TD uses a unique identifier, but always ends with “oReportCell”. So I used wildcard CSS selectors to give it a width value:

 td[id*='oReportCell'] {width:100% !important;}

 

Now the width appears correctly within IE!

VMware Server Bridged networking not working

I recently had a problem where I restarted a server that is running VMWare Server 2, but when the server came back up, there was no network connectivity for any of the virtual machines.

 

At first I began troubleshooting within the VM itself, thinking it was something to do with Ubuntu on the VM’s I have. This didn’t produce any results, but I did notice the VM could reach the host IP, but not outside the host.

 

Eventually I discovered that the vmnet0 had bound itself automatically to one of the physical adapters on my server, rather than the Team adapter that is set up through our Broadcom NIC’s.

To resolve this, you need to make sure that vmnet0 isn’t auto-bound.

In the Start Menu, under VMWare, open “Manage Virtual Networks”.

Turn off automatic binding:

 

And then manually bind vmnet0 to the proper interface:


After applying, you should see connectivity return immediately.