20 Mar
Posted by mnielsen in Development, Windows Mobile
After writing up my last blog article about Windows Mobile troubleshooting and logging utilities (see it again here), I was more closely at the lookout for other tools and tricks that might help assist in a similar fashion.. Of course I found some more good additional information and have included it in this round..
Especially the memory management information I don’t think has been that well communicated in the past..
.NET Compact Framework Logging
On Steve Hegenderfer and Reed Robinson’s excellent blog Reed posted a great article about how to enable .NET CF loader logs and what to look out for. Specifically referencing this MSDN information on how to enable the logging: http://msdn.microsoft.com/en-us/library/ms229650.aspx. It is all controlled in specific registry keys on the device to enable 6 different flavors of .NET CF logging: "Interop", "Error", "Loader", "Network", "Finalizer", or "Trace".
The Power Toys for .NET Compact Framework v3.5 download gives you additional tools to make this easier. One is the Remote Logging Configuration Tool:
So the most interesting for non-developers trying to troubleshoot .NET CF applications is probably the "Loader" logging. This is where you can see if the application even makes it off the ground and why. As Reed suggests in the article I mentioned it could be referencing a .NET assembly not present on the device for whatever reason..
Additional details on how to read the "Loader" logging can be found here: http://msdn.microsoft.com/en-us/library/ms229667.aspx.
File System Logging
This is a type of extreme logging that can really slow down a working operating system. But it can also show you exactly what is going on at the file I/O level. Specifically what files are being accessed or written to. This could be useful to trace back missing files or folders, or figuring out the last file access a specific application did before failing.
I only recently found a tool called MobileMon v0.5 by Brian Dunn. His website, http://www.mobilmon.com/, has more information and you can download the .CAB file there.
Basically you can install and run it in the background while it logs file activity.
Once you are done you can save it to a log file. Be aware however that the file name "mobilmon.log" may be hard to open on the device itself unless you install a tool (Like Voyager or Total Commander) to rename the file to mobilmon.txt. Then you can open it with the native Word Mobile.
Memory Management and Monitoring
Another important area of concern for current Windows Mobile troubleshooting is available memory on the device. Memory leaks, multiple running applications, and garbage heaps can all attribute to doing frequent soft-reboots to get a device functional again. A little known fact that I wasn’t fully aware of is that only 32 applications (actually processes) can run at the same time and each can at a maximum access 32mb of virtual memory..
An excellent resource of a virtual memory management overview is William Blanke’s article: http://www.codeproject.com/KB/mobile/VirtualMemory.aspx
In it he also has a small (12Kb) Virtual Memory tool (must register to download, the compiled .exe in included with the source code) you can run and visually see available memory (in red) for each of the 32 process slots.
Issue #1: One key thing apart from seeing how many of the slots are being used and if they are full, is finding the “device.exe” process. This process is responsible for loading up all the device drivers and William points out the potential issues if memory is low for this slot. Specific device features may simply not work.
Issue #2: Another area of concern could be applications that load up .DLL files. These can be loaded up in *any* processing slot and can be accessed by any process. This can be bad if your process or application running in the slot needs the memory and doesn’t use the particular DLL.
However William doesn’t address that in Windows Mobile 6.1 specific changes were made to better accommodate DLL files over 64Kb. These will now be loaded into specific slots higher and away from the process slots. Thus freeing up application space and reducing this potential worry. Please see more information on this 6.1 feature from Doug Boling here.
How sure if anything has/will change in Windows Mobile 6.5 as of yet. What we can look forward to is Windows Mobile 7.0 (which is based upon Windows CE 6.0) and it’s larger scale advanced memory management, explained in more detail here or here. But basically a little like Windows XP, and a limit of 32K processes and 2GB per process, compared to 32 and 32Mb per process.
Issue #3: Careful on the usage of storage cards to install or run applications from. If the device goes into hibernation or sleep mode, it could power down the storage card and render any application housed there non-functional. See more tips here.
Some older reference links on Windows Mobile memory management:
- RAM, ROM and Task Managers
- How WM 5.0 Shell Handles Low Memory Situations
- Memory Management on WM 6.x
- MSDN Webcast: Memory Management for Windows Mobile
- DumpMem Utility
If you are using a Motorola/Symbol ruggedized device you also may want to ask your Motorola rep about their “Private SDK” and a tool called the “Remote Memory Viewer”. It may also be beneficial as Raffaele Limosani states here..
Hope this article further assists in troubleshooting Windows Mobile issues you might run into!
|\\arco..
http://marco.blogsite.org
12 Mar
Posted by mnielsen in Device Management, SCMDM, Windows Mobile, security
A quick heads up on some interesting new Microsoft webcasts coming up early next month on Windows Mobile Device Management and Security that may be of interest to many of you:
TechNet Webcast: Windows Mobile 6.1 and Mobile Device Manager 2008: The Gateway to Your Corporate Network (Level 200)
Tuesday, April 7, 2009
10:00 A.M.-11:00 A.M. Pacific Time
TechNet Webcast: Management Lockdown of Windows Mobile Devices (Level 300)Thursday, April 9, 2009
11:30 A.M.-12:30 P.M. Pacific Time
Register now and get it on your calendar!
|\\arco..
11 Mar
Posted by mnielsen in Device Management, Mobile IE, SCMDM, Windows Mobile
I’ve been compiling a running alphabetical list of which devices now have official supported upgrades available for them since the summer of 2008. This may be useful for many of you as well implementing SCMDM and researching which devices are compatible.
Several links fixed, and several devices purchased with WM 6.1.x builds now listed as reference as well. Interesting to see the slow uptake of devices having the 6.1.4 build finally that has the Internet Explorer Mobile 6 (IE6on6).
Included is the specific OS/AKU build for each device for SCMDM 2008 SP1 support.
| MO/OEM | OS/AKU | Build Number |
| Alltel: | ||
| Alltel HTC PPC8600 | WM 6.1 | ? |
| Alltel HTC Touch | WM 6.1 | ? |
| Alltel Palm Treo Pro | WM 6.1.4 w/AKU 1.4.4 | Build 20765.1.4.4? |
| ASUS: | ||
| ASUS PDA Phone P527 | WM 6.1 w/AKU 1.0.4 | Build 19214.1.0.4 |
| ASUS PDA Phone P750 Patch | WM 6.1 | ? |
| ASUS P565 | WM 6.1 | ? |
| AT&T: | ||
| AT&T Motorola Q9h | WM 6.1 w/AKU 1.0.2? | Build 19209.1.0.2? |
| AT&T Tilt | WM 6.1 w/AKU 1.0.4 | Build 19214.1.0.4 |
| AT&T Pantech C810 Duo | WM 6.1 w/AKU 1.1.8 | Build 19597.1.1.8 |
| AT&T BlackJack II (SGH-i617) | WM 6.1 w/AKU 1.0.1 | Build 19208.1.0.1 |
| AT&T Fuze (HTC Touch Pro) | WM 6.1 w/AKU 1.2.6 | Build 19971.1.2.6 |
| AT&T Epix (SGH-i907) | WM 6.1 w/AKU 1.3.2 | Build 20276.1.3.2 |
| AT&T LG Incite (CT810) | WM 6.1 w/AKU 1.2.8 | Build 19974.1.2.8 |
| Bell: | ||
| Bell HTC Touch | WM 6.1 | ? |
| Fido: | ||
| Fido BlackJack (SGH-i616) | WM 6.1 w/AKU 1.0.1 | Build 19208.1.0.1 |
| HTC: | ||
| HTC TyTN II (unlocked) | WM 6.1 w/AKU 1.0.3 | Build 19212.1.0.3 |
| HTC Touch Diamond (unlocked) | WM 6.1.4 w/AKU 1.4.3 | Build 20764.1.4.3 |
| HTC Touch Pro (unlocked) | WM 6.1.4 w/AKU 1.4.3 | Build 20764.1.4.3 |
| HTC Touch Cruise | WM 6.1 | ? |
| HTC Touch Dual | WM 6.1 | ? |
| HTC Touch HD | WM 6.1.4 w/AKU 1.4.0 | Build 20757.1.4.0 |
| i-mate: | ||
| Ultimate 6150 | WM 6.1 w/AKU 1.2.1 | Build 19959.1.2.1 |
| Ultimate 8150 | WM 6.1 w/AKU 1.2.1 | Build 19959.1.2.1 |
| Ultimate 8502 | WM 6.1 w/AKU 1.1.2 | Build 19585.1.1.2 |
| Ultimate 9502 | WM 6.1 w/AKU 1.1.2 | Build 19585.1.1.2 |
| JAMA 101 (Pending) | ||
| Intermec: | ||
| Intermec CN3 | WM 6.1 w/AKU 1.1.1 | Build 19581.1.1.1 |
| Intermec CK3 | WM 6.1 | ? |
| Motorola (Symbol): | ||
| Motorola MC55 | WM 6.1 w/AKU 1.1.1 | Build 19581.1.1.1 |
| Motorola MC70 (BSP 0.01.09.00) | WM 6.1 w/AKU 1.1.5 | Build 19590.1.1.5 |
| O2: | ||
| O2 XDA Stellar (HTC TyTN II) | WM 6.1 | ? |
| O2 XDA Orbit 2 (HTC Touch Cruise) | WM 6.1 | ? |
| O2 XDA Mantle (HTC P6500) | WM 6.1 | ? |
| Orange: | ||
| Orange HTC TyTN II | WM 6.1 | ? |
| Orange HTC P6500 | WM 6.1 | ? |
| Palm: | ||
| Palm Treo Pro (unlocked/GSM) | WM 6.1 w/AKU 1.0.5 | Build 19216.1.0.5 |
| Rogers: | ||
| Rogers BlackJack (SGH-i616) | WM 6.1 w/AKU 1.0.1 | Build 19208.1.0.1 |
| Samsung: | ||
| Samsung SCH-i200 | WM 6.1 w/AKU 1.0.4 | Build 19214.1.0.4 |
| Samsung BlackJack II (SCH-i617) | WM 6.1 w/AKU 1.0.1 | Build 19208.1.0.1 |
| Samsung SCH-i760 | WM 6.1 w/AKU 1.0.0 | Build 19202.1.0.0 |
| Samsung Omnia SCH-i900 (non-US) |
WM 6.1 w/AKU 1.3.1 |
Build 20270.1.3.1? |
| Samsung SGH-i780 (IT, NL, Nordic, Singapore, UK only) |
WM 6.1 | ? |
| Sprint: | ||
| Sprint Motorola Q9c | WM 6.1 w/AKU 1.0.2? | Build 19209.1.0.2? |
| Sprint Mogul | WM 6.1 w/AKU 1.0.2 | Build 19208.1.0.2 |
| Sprint HTC Touch | WM 6.1 w/AKU 1.0.1 | Build 19208.1.0.1 |
| Sprint Samsung Ace (SPH-i325) | WM 6.1 w/AKU 1.0.0 | Build 19202.1.0.0? |
| Sprint HTC Touch Diamond (Pending) |
WM 6.1.4 w/AKU 1.4.3? | Build 20764.1.4.3? |
| Sprint Palm Treo 800w | WM 6.1 w/AKU 1.0.5 | Build 19216.1.0.5 |
| Sprint Palm Treo Pro | WM 6.1.4 w/AKU 1.4.4 | Build 20765.1.4.4 |
| Telus: | ||
| Telus HTC Touch | WM 6.1 | ? |
| Telus HTC S720 | WM 6.1 | ? |
| Telus HTC P4000 | WM 6.1 | ? |
| Verizon: | ||
| Verizon Samsung SCH-i760 | WM 6.1 w/AKU 1.0.0 | Build 19202.1.0.0 |
| Verizon UStarcom XV6800 | WM 6.1 w/AKU 1.0.3 | Build 19212.1.0.3 |
| Verizon HTC XV6900 | WM 6.1 w/AKU 1.0.3 | Build 19212.1.0.3 |
| Verizon Motorola Q9c | WM 6.1 w/AKU 1.1? | Build 19704.1.1.50 |
| Verizon HTC Touch Pro | WM 6.1 w/AKU 1.2.7 | Build 19972.1.2.7 |
| Verizon Samsung Omnia (SGH-i910) | WM 6.1 w/AKU 1.3.1 | Build 20270.1.3.1 |
| Verizon Samsung Saga (SCH-i770) | WM 6.1 w/AKU 1.3.2 | Build 20276.1.3.2 |
| Vodafone: | ||
| Vodafone v1615 | WM 6.1 w/AKU 1.0.3 | Build 19212.1.0.3 |
If you know of others, updates or corrections, please let me know!
|\\arco..
mnielsen(at)enterprisemobile.com
http://marco.blogsite.org
Windows Mobile security best practices are a key component of Enterprise Mobile’s expertise and services, but recently we’ve been much more vocal about it! First off, there’s the excellent WM Application Security White Paper that my colleague Dave Field just published. Here’s a brief synopsis:
This technical paper recommends how enterprises can take advantage of the powerful security features of Windows Mobile to defend against malicious and unsupported application use. Taking a very pragmatic approach, the paper describes how various features work and how to implement them to protect devices based on Windows Mobile 5.0, 6.0 and 6.1.
Go ahead, download the WM Application Security White Paper now, I highly recommend it for any IT professional who’s interested in Windows Mobile security. Dave has put incredible detail into this paper, making it invaluable for an organization who is currently using (or planning to deploy) Windows Mobile devices and applications.
Next up, there’s an interesting Network World article by John Cox about Mobile browser security that Dave and I are quoted in. The article focuses on the impact that a new generation of mobile web browsers will have on how enterprise IT organizations handle mobile device security. John sums up the three key areas that enterprises should focus on:
IT departments, according to experts, need to focus on three areas: assessing the security architecture and features in the mobile browser and the underlying operating system; working with users on smart and safe browsing practices; and creating a solid handheld device management system.
In fact, choosing a mobile platform with a strong and flexible security model in hand with a solid device management system can help you minimize the headaches that users have to endure. With those first two handled, educating users on smart and safe browsing practices is something that is applicable to both traditional desktop web browsers as well as the new crop of full-featured mobile browsers. Read the full article, titled “Mobile browsers bring new security headaches” now for more information.