2008-07-05

Warm boot tool for Windows Mobile 6

Currently I'm involved in a project for the Windows Mobile Platform using the EDA MC70 from Symbol. In recent testing of my app, I've needed to warm-boot the device several times. The MC70 has a power and reboot button on it. However, it takes about 10 seconds of pressing this button until the device restarts itself.

To avoid this, I've developed a small application that can warm boot any Mobile 5 and 6 device, as simply as launching a program. The code is easy to understand. Basically it just does a call to the API function ExitWindowsEx. It is described in http://msdn.microsoft.com/en-us/library/ms893047.aspx.

[DllImport("aygshell.dll")]
extern static int ExitWindowsEx(int dwFlags, int dwReason);

function static void Main(string[] args)
{
ExitWindowsEx(2, 0);
}


In order to call the API, we just needed to PInvoke-it! The full program is no longer than the shown in the image bellow...



You can download the tool, named BootMyPhone from here:

Download Full Source
Download Install CAB (for Windows Mobile 5/6)

2008-05-04

Installing Small Business Server on ASUS AS RS120 E4A+

These days I became responsable to install a new server.

The server is an ASUS AS RS120 E4A+, good specs and from a reliable manufacturer. It is equiped with and LSI Logic MegaRAID controller.The OS that I was about to install was Microsoft Small Business Server 2003 R2.

The main problem that took me an whole weekend to resolve was that this controller was not supported natively by the SBS setup.
No problem, I thought! The ASUS CD came with an software to build a driver floppy disk... but the server did't have a floppy disk drive!!! After some googling, I found that I could emulate a floppy drive from a USB pen directly in the server.

Problem solved? Not really: although the first part of the setup could be overriden this way, after the logical RAID HD disk formating, the SBS setup required once more the drivers disk. And this second time, it could not be mistaken by the pen USB! I couldn't understand why. After hours googling the net I've found lots o people withe same problem, but very few useful tips.
Then I tried another aproach as described at http://unixwiz.net/techtips/sbs2003-driver-slipstream.html.

All I wanted was to fake an SBS setup disk with the LSI drivers included to be used by the setup with no use of FDD... After some hours trying and several CDs burned. I quited! It just didn't work out! By the way, every reboot required almost 50 seconds of screen-messaging surrounded by a killing noise from that server fans...It was time to go to take 3! And this time I was decided to win! I was going to use the brute force method: if the setup required an FDD, then I'ld get it an "real" FDD. I opened the server case, connected an internal FDD from an older server I was going to replace. Then, another problem poped up: the server didn't have extra power cables nor extra power plugs.

Here I was about to use another supply from other PC just to connect the FDD. However I couldn't turn on this supply. The solution I've found was to open another PC with spare power cables from it's power supply, connect the power from this second PC to the FDD, start it up, then startup the server, change the settings in the BIOS and, voilá! Magic!



After the first phase of the OS setup, all that stuff could be dismounted.