deBLor Freeware Smartphone Windows Mobile
Custom Search

Tuesday, December 11, 2007

WMStorage v1.8

This program will export the flash memory card inside the smartphone as usual USB Mass Storage device (ordinary "usb disk") - effectively turning smartphone into flash reader.

Take note that speed will be dependent on your PDA/smartphone hardware - it will be high-speed USB only if your device actually high-speed capable (most are not), and also most devices have quite slow flash writers. Some devices with proper hardware support perform in spectacular speed though (for example HTC Athena works in high USB 2 speed if you export a microdrive).

WM5torage could work with different phones and PDAs, hovewer I cant be sure about compatibility with every device ever made, as I had to break some specifications to defuse "anomalies" (bugs?) in the firmware USB drivers. This just means what it means - some devices/firmwares have problems with WM5torage, and on some it won't work at all (notably on Typhoon/Feeler/C500/8010/8020 with "unofficial" WM5).

When activated, memory card must be made not be accessible to the smartphone, as all direct access to the flash card will be routed to USB. Take note that if some currently running programs have files open from the storage card, that can prevent Mass Storage from activation ("error 1f"). In that case, try to close all running programs (soft reset is needed sometimes).

Windows Mobile 5 is required. Sorry, but I cant possibly make it work on WM 2003, as only WM5 allows USB protocol implementation separate from USB hardware driver - on WM 2003 Ill have to rewrite whole USB hardware drivers, and of course its not feasible.

If you want to uninstall it, I strongly recommend to de-activate mass storage mode first.

Of course, you will also need full application unlock. Take note that some recipies do not do full unlock, they still leave some API locked. People who getting "error 57" most likely havent fully unlocked their smartphones. Try this one:
to HKLM\Security\Policies\Policies
add new value "0000101b": dword = 1

That would set security model to "one-tier" - unsigned applications/components will still ask for confirmation, but after you confirm, they will launch in full-trust access mode, like on WM5 PocketPCs.

The ability to choose different card slots to export will potentially allow you to export the system(firmware) storages/disk partitions. While it can be very powerful tool, improper use of it may damage the firmware data and will require a re-flashing, or in worst cases it may even render the device PERMANENTLY unusable. There is no 100% way to automatically determine if the given storage device is the system one, WM5torage will only try to make guesses about it and display warnings, but its not 100% proof. So if you see the "second free memory card available", dont rush with formatting it/copying data on it (especially when you know that your device have only one card slot)!! You have been warned!

Update Description:
- Added the long-awaited option to lock/dismount card only when USB cable is actually attached (so when you will disconnect the device, it will automatically see the card again, without the need to deactivate WM5torage).
- Added the troubleshooting options for different firmwares/devices (should be tweaked only if WM5torage does not work properly).
- GUI is slightly modified according to Microsoft guidelines for better support of landscape and small-screen devices.

- Many changes to the driver to allow for more invisible error recovery. Can possibly help with read/write instabilities on some devices. Also can help with preventing the complete freezes in case of USB/flash memory errors.
- Added the quick "blink" indication when choosing the LEDs/vibrators.
- Improved the checking for "system" storages. Will try to more intelligently choose the storage card device as default right after install. Can help on devices where "DSK1:" is infact an internal storage, and the storage card is for example "DSK3:".
- More compatible re-mount mechanism. Possibly can help with "Hang on deactivate" issue.

- More of bugs fixed. Restored compatibility with some devices that were supported in 1.5x.
- Moved start shortcut from "Accessories" subfolder to main Programs menu.

- Bug fixes.
- Added the command line switch -t to "flip-flop" between active and unactive states.
- Files are now compressed with UPX.

- Added ability to choose the PDA/smartphone storage device to export as USB Mass Storage. Helpful for PDAs/phones with several card slots or internal "file stores".

- Fixed a minor issue with applicaiton icon not appearing in "Accessories" Start Menu folder after installation on PDAs.
- Full compliance with USB Mass Storage Bootability Specification. Now booting PC from smartphone as USB stick should always properly work, provided your computer's BIOS is modern enough to properly USB-drive-boot. Checked it via booting FreeDOS and PuppyLinux from my 8310 - seem to work ok.
- Improved general compliance with USB Mass Storage protocol. Still not 100% compliant though, due to the built-in hardware driver limitations & bugs.
- Added command line switches to control utility "remotely", via scripting utils or batch files & shortcuts:
>> -a Activate mass storage mode
>> -d Deactivate mass storage mode
>> -q Quit
Switches can be combined, they will be executed in order. For example, "WM5torage -a -q" will launch utility, activate mass storage mode (if not active already), and quit after activation is completed.

- USB device will not appear on PC as "unnamed" anymore, but in the form of "WM5torag"(sorry only 8 chars in ID) + "device name". Helps when multiple devices are connected and you are using "safe removal".

- LED interface tweaks.
- Fix for a small issue with LED/vibrator not going off.

- Added ability to choose indication LEDs on Read and Write operations (you can set both to same LED). Take note that there only LEDs that system reports to be available, and on many platforms only one LED (and vibrator) is actually reported as application-controllable.
- Another change to "suspend-prevention" code to prevent some PDAs to going into sleep in the middle of transfer and interrupting the transfer

- If there is Inbox window open in background, and "activation error 1f" happens, will try to automatically close Inbox window to prevent activation error. This just requests Inbox to close as user can do, so you need not to worry for it - it shouldnt cause any problems with messaging.

- Driver revamp, added asynchronous processing. If device can do USB transfers and read/write from card simultaneously, there will be significant speed increase - up to limit of either USB controller or Flash memory (what is slower). For my 8310 / SanDisk 2Gb setup it gave about 20% speed increase.

- Moved all natural language strings/messages into resource string tables, to allow for resource i18n/translation.

- On deactivate, switch will be made not just to RNDIS, but to previously remembered driver. I.e. if you will set ActiveSync to Serial mode, it will not revert to RNDIS anymore on Mass Storage deactivation, it should remain Serial.

- Restart will not be suggested if installation wasnt successful.

- Added possiblie explanations to most common activation errors (1f and 57).

- Added prompt to soft-restart the device after installation.
- When storage is attached to USB host, mobile device USB controller and flash disk are ordered to be kept in "Power On" state.
- Added switch to choose between "Removable" and usual ("Hard Disk") device classes. Will affect how the host OS treats the device - for instance, it will not create System Restore and Recycle Bin if class is Removable.

- Added some additional diag checks to help evaluate possible problems.

- Added write-protection switch.
- Added checks for ability to actually open memory card (card existance).
- If "storage card" installation chosen, will install to main memory anyway, as it cant properly run from storage card.

- Smartphone Windows Mobile 5.0

More information:
WMStorage v1.8

Download #1
Download #2

WM5torage v1.9