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. Its completely free, but if you find it useful, you can show your gratitude by donating to author:
If you want to uninstall it, I strongly recommend to de-activate mass storage mode first.
WARNING. 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!
FAQ - Please Read before you ask questions in the support topic to avoid repetition
Q - Why WM5torage isn't working on my device while it works on other devices while WM version is the same?
A - To access the USB hardware, WM5torage uses the USB controller driver contained in the PDA/smartphone firmware. This driver is very poorly made on many devices. Many device manufacturers originally make this driver to properly work with ActiveSync protocol only (breaking the full specifications from Microsoft). Even with ActiveSync it often works poorly and require several firmware patches to be polished (that what happens when hardware engineers do the programming work, hehe ) USB Mass Storage uses some functions of USB controller that ActiveSync doesn't - and so firmware bugs not apparent with ActiveSync often appear and prevent WM5torage from working properly.
Take note that problems with device USB hardware driver can manifest in a different ways - and that PC will actually see the "USB disk" means nothing - problems can arise when it will try to actually access it - and it can vary from instant "USB device error" to sporadic "failure to write/read" errors, depending on severity of driver protocol glitches.
Q - But why Softick CardExport works on my device while WM5torage does not?
A - CardExport installs own USB controller drivers that work directly with every kind of USB controller chips/interfaces out there that CardExport supports. These drivers are written from scratch with proper support of USB Mass Storage protocol in mind. Also, because CardExport works directly with USB hardware, it works on WM2003 while WM5torage does not (there are no suitable built-in driver in WM2003 firmware). Of course writing a direct hardware access for every kind of chip/IO around is a very big amount of work - too much for a free software done in spare time. I try to ingeniously bypass the various non-fatal glitches in firmware drivers, but this is not always possible and always device-dependant.
On the other hand, often when a new device/chipset appears, CardExport do not know how to access it correctly, and you have to wait for new CardExport version, while WM5torage uses the driver that in the firmware from the start and works instantly. For example, such situation existed for quite a time for OMAP-based devices, and also for WM Smartphones (that was actually the original motivation for WM5torage project).
Q - Why does it complain about the lack of the needed system permissions when I try to activate it?
A - Most likely you need to properly and fully application unlock your device. 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.
Q - Can the support for WM2003 be added?
A - Unfortunately, at least Windows Mobile 5 or 6 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 I'll have to rewrite whole USB hardware drivers, and this would be too much for a tiny and free utility
Q - What exactly the "Lock card on attach only" option does?
A - When smartphone device functions as USB disk, it must not see the storage card to prevent simultaneous access from device and USB cable. On default (if lock card on attach is off), the card is locked/dismounted when you activate WM5torage and place the smartphone into USB disk mode - and if card can not be locked on activation, you will see instant error message.
If you enable "lock card on attach", activating WM5torage will put device into "ready mode" - it will know that when cable is attached, it should appear as USB disk. But card will not be instantly dismounted (and made unavailable to device) when cable is not attached, it will be locked only if cable is attached already, or later when you actually attach it. When you will disconnect the device USB cable, the Windows Mobile will automatically see the card again, without the need to deactivate WM5torage. If you re-connect cable, the card will disappear again, and so on. If there will be an error in dismount (for example due to programs using the card), you will not see the error message - but you will see "no disk" error on the host PC instead.
Q - What exactly the "Two-way" option does?
A - "Two-way" is an ability to simultaneously access the card both from Windows Mobile and from USB, so when you connect USB the card will not disappear on the phone! This however has one limitation - one of them always must be read only access, to prevent corruption.
So two scenarios are possible:
1. Enable "Read-Only". The card will be read-only from USB. However, Windows Mobile will still have full access to the card.
2. Disable "Read-Only". The card will be writeable from USB. Windows Mobile will still see the card, but will be unable to write to it.
Important - Two-way is not a replacement for ActiveSync! Its primary purpose is to allow people to still use some semi-static data (ringtones/etc) from storage card while using it in mass drive mode. Files written by USB will not immediately visible by Windows Mobile, and vice versa - this is not a bug. Filesystem changes will re-sync when you activate/deactivate WM5torage, causing file system remount(refresh).
Q - What exactly the troubleshooting options do?
A - The troubleshooting options alter the internal behaviour of WM5torage USB mass storage protocol driver in attempt to bypass various device-specific quirks and make it work. Generally you should not tweak them, if WM5torage works properly already. Hovewer if it does not work properly on your device/firmware, you can try tweaking troubleshooting options to see if they will help.
Now on what each option actually does:
"Disable concurrency" - by default, WM5torage tries simultaneously to transfer data on the USB bus and write/read data to/from flash memory. Since in many cases USB controller and SD/flash controller are separate devices, it makes perfect sense to utilize them simultaneously - this will squeeze the best possible overall transfer speed. Hovewer, sometimes it causes problems and instabilities (ie sporadic read/write errors). In that case you may try to disable concurrency, and WM5torage will first transfer whole block of data on USB, then write it to flash, in series.
"Disable RNDIS on activate" - apparently due to the lack of their driver programmer's skills, on some devices high-speed activesync transfer mode (networked, RNDIS) conflicts with USB Mass Storage protocol. In that case it helps to revert device into legacy (δεrial, slower speed) ActiveSync mode, then WM5torage works. For example, on most devices with Samsung processors its called "Enable Advanced Network Functionality" in control panel, and should've been unchecked. This troubleshooting option is for such devices - to remove the need for you to manually enable slower mode. WM5torage will do the needed action automatically when you activate it, and when you deactivate it, it will restore the ActiveSync setting back.
Q - I want to translate WM5torage in my native language, can I do that?
A - Of course, volunteer translations are totally welcome, just retain the original copyright notice (and you can add your own translation credit, like "Translated by ..."). To translate GUI of WM5torage you will need some expertise though - I assume that you know how to unpack/repack CAB files and edit the Windows resources/dialogs/strings. You will need to unpack WM5torage.exe file from CAB. Then unpack it via UPX (http://upx.sourceforge.net/). Then you can translate the UI dialog and all text strings using any resource editor (resource hacker utility). Then repack WM5torage.exe back to cab, and share it with the world
Q - Why the big files are copied fast, but many small ones - a lot slower?
A - By default, PC Windows disables the write cache for USB disks. When the PC Windows finishes the file copying, it refreshes the directory and FAT, and figures - when files are very small, it will write a lot more of this system data than of actual file data. But this can be mitigated easely - just enable the "Optimize for Performance" in the Device Manager | WM5torag disk properties | Policies. Just remember that with this mode you better always use the "safe removal" PC Windoes icon before you detach/deactivate the WM5torage disk, to prevent data corruption.
Q - Why only the memory card allowed to be exported and not the whole filesystem(internal memory)?
A - First, USB Mass Storage protocol does export of the disk(card) as the set of sectors - basically as the low level disk. Partition, filesystem, and actual files - this all are recognized on the PC side, and only sectors travel over the USB cable and into/from the mobile device. Obviously, the usual Windows PC understands only FAT or NTFS file systems, while the smartphone internal storage is usually formatted by very special Windows Mobile file systems - PC will not recognize it and either will see it as "empty disk" or as "unregognized partition/filesystem". Just remember, there are still useful data/firmware there, even when PC sees it as "empty/wasted space" - so dont try to reformat it, or you can damage the internal filesystem/firmware!
Second, USB Mass Storage protocol requires the exclusive disk access - so when disk/card is accessible from PC side via USB, it must be made unaccessible from the PDA/smartphone side. Otherwise PC and PDA will try to access the card simultaneously and interrupt each other, corrupting the data and filesystem. Obviously memory card can be "switched off", because removability and absence of it the design feature from the start. The internal storage, on the other hand, designed as always available and non-removable from the start - even if WM5torage will be able to persuade OS to "dismount" the internal storage, most likely Windows Mobile will not like the fact that all system files suddenly are disappeared
Q - Can the USB 2.0 (high speed) be implemented?
A - It can not be "implemented" by WM5torage, as this is a hardware-dependent feature, for example, it needs the high-speed USB tranceiver chip. And high-speed flash memory or the microdrive. On (rare) devices which already have such hardware and this harware is properly accessible via built-in firmware driver, WM5torage will work very quickly and in proper USB 2.0 high-speed. For example, this was reported on USB Athena. Sadly, I dont know any other devices with such functionality, as most of manufacturers use cheap built-in low speed USB controllers and slow δεrial Flash memory controllers.
Q - I see that some people with Samsung CPU-based devices use WM5torage ok, but it does not work for me, why?
A - Try to switch on the "Disable RNDIS on activate" troubleshooting option. This seem to be the particular quirk of the Samsung USB controller driver. It seem have no effect on some firmware/device versions, but still worth to try.
Q - I have deinstalled the WM5torage, now the PC does not see the PDA/smartphone and I can not synchronize via ActiveSync!
A - This happens sometimes after the freeze or improper deinstallation without the proper WM5torage deactivation. Do the soft-reset. Install wm5torage again. Activate/Deactivate it. Also you can try to enable/disable the "USB modem" mode if your device has one.
Q - PDA/smartphone do not see the memory card anymore! (or memory card is moved to the "Storage Card 2" folder).
A - This sometimes happen on some devices, when you activate WM5torage while some programs have the open files on the card (some devices will display "error 1f", some not). Deactivate the WM5torage. Remove the memory card physically. Do the soft-reset. Delete the "Storage Card" folder (if its visible with memory card removed, this is abnormal and it must be deleted). Then when you re-insert the memory card, it should properly appear under "Storage Card" or other proper name again.
0 comments:
Post a Comment