Introduction
Transcend and several other manufacturers make 4GB SD cards these days. They're great if you use your HTC device as MP3 player or Camera, as they offer enough space for thousands of songs and pictures.
My device, the HTC Universal, handles them just fine. However some applications, most notably the Camera application, don't like it.
Why some apps don't like it
The main problem here is the way in which they calculate the free space.
the processor is 32-bit, which means it can handle numbers ranging from 0 to 2^32. 4GB is exactly 2^32 bytes, so that shouldn't be the problem.
The problem is that applications sometimes handle the number as signed, which means that it differentiates between negative and positive numbers.
With signed numbers, the last bit is actually used as the sign (positive or negative), and the new range stretches from -2^31 (-2GB) to 2^31 (2GB).
Up to 2^31, the unsigned numbers and signed numbers are the same, but after that the last bit is set in unsigned numbers, which means that if treated as signed it will be seen as a negative number.
So if you have more than 2GB free, and the application mistreats the number of bytes free as being signed, the application actually thinks you have less than 0 bytes free
How to fix this?
There are several ways to fix this. The most simple one would be to have a simple dummy file so you always have less than 2GB free. This works for the camera application, but any miscoded application taking a look at the actual size of the disk will still screw up
The other solution is partitioning your SD-card. This means that you actually split the SD-card up into several virtual SD-cards of smaller sizes. So one SD-card of 4GB could be seen as four of 1GB (my set up).
This way you still have 4GB of storage, but applications will not get confused as it's split up into several chunks.
WARNING
Before you start remember to back up the current data on your SD-Card. the procedure will completely erase your SD-card. You might be able to retain the data by using partitionmagic's resize partition features, but you'd have to test yourself.
Also I'd like to mention that although I tested this procedure myself, I can't garantuee it will work for you. If it renders your SD-card useless, I can not be held responsible.
My set-up
This tutorial was written using:
- T-Mobile MDA Pro (HTC Universal)
- Windows XP SP2 MCE (equivilant to Pro)
- Transcend 150x 4GB SD-Card
It might work with a different set-up, but I can't garantuee anything
Requirements
- Windows Mobile 5
- WM5Storage (do not use CardExport2, you need the ability to turn off "Removable Class"!)
- Big SD-Card
Let's get started
Just follow the following steps
First, make a backup of your SD-card! the following procedure will erase it!
Next, install WM5Storage. I will attach a copy of version 1.53 with this post, but you can get the latest version here.
Just copy the .cab file to your device, and execute it from the file explorer. Just make sure you install on the main memory, as the SD-card becomes inaccessible during the procedure
Start WM5Storage. On my device, WM5Storage did not put anything in the start menu or the today screen, so I had to launch it through the file-explorer. You can find it at My Device\Program Files\WM5Storage\.
Be sure to untick both "Read-Only" and "Removable Class". Optionally you can set it to light a LED on read/write, but that's not neccesarry for this procedure.
Disconnect your device from your computer.
Insert the SD-Card if you haven't done so already
Hit "Activate" (bottom, right)
Re-connect your device to your computer.
From now on all steps are done from the PC
Wait until windows has recognized all "new hardware", and you have new a new hard-drive listed in "My Computer".
Open the control panel (Start -> Control Panel)
Go to either Performance and Maintenance -> Administrative Tools (category view) or directly to Administrative Tools (Classic View)
Double-Click Computer Management
Go to Computer Management (Local) -> Storage -> Disk Management (might take a little while to find all drives)
In the bottom view, find the disk that has your SD-card in it (You can find out by looking at the contents through "My Computer", or by seeing which disk is added once you plug in your WM device)
Right click the partition (white block ), and choose for Delete Partition
In the just created "Unallocated" space, right click, and choose for New Partition
In the wizard:
choose for a Primary Partition
For size, enter 1024MB (or if there is no more remaining, just the remainder). Ofcourse you can also choose your own size
Assign any drive-letter you want (or none if you only want it to be accessible on the WM Device).
Format the partition as Filesystem FAT32, Allocation unit size Default, and pick any volume label you want (You will only see the volume label on the PC, on the WM Device it will just be "Storage Card X". Also tick "Perform a quick format"
Wait until the bottom line in the new partition reads "Healthy" (wait for it to format basically )
Create as much partitions as you'd like (just resume from right-clicking and picking New partition)
You're done partitioning! If you want, you can fill the contents of the SD-Card now before you deactivate WM5Storage
Disconnect the device from the computer
Next few steps on the Device
Click "Deactivate" (same place as "Activate" was before )
Close WM5Storage
You're all done! have fun with the multiple storage cards you have now
Afterword
I've put quite a bit of time in this tutorial, I'd appreciate if you at least told me if it worked
If you can spare a few coins, I'd also appreciate a donation. You can donate with PayPal to "[email protected]".
nice post, i'm bloging it right away 8)
I have a 2GB SD card. My o2 mini prompt me to format it when inserted. After formatted. o2 mini shows 0.01 MB only.
"My computer using card reader shows 14KB and from Disk Management, it shows 1.86 GB Free. I believe this "1.86GB Free" means unallocated space.
I right click on the unallocated space, but there is no option for me to choose a Primary Partition. It only has 3 options.
"New Logical Drive...",
"Delete Partition...", which is grayed out and
"Help".
Help! How to allocate this 1.86GB and format it to fat32?
Any kind soul please help me get this 2GB SD card to work with my o2 mini. 1.86GB and not 0.01MB.
Thanks
is there anyway to rename the partition with a different name? i've tried a lot of ways but in vain... the 2nd partition always follow the name of the 1st partition... any help please?
thanks in advance...
non
After having lots of problems with my SD card, I already thought that partitioning possibly could solve the problem and, using your howto, I can use my 2 GB SD-card without any problems.
Thanks!
ive done this on a 512 sd and using wm03, used a card reader to do the partition.
actualy worked well for a while if you have alot of files to store in one of the partitions, but ended up being a real pain when you wanted to re-do it
Really nice post and easy too.
thanks
hi i tried it.....realyy wonderful....thanks a lot for posting this one...keep posting things lik tis.....
cheers,
Siva....
thx for this tips!
I used it for my 2GB MiniSD card, but now I would like to keep my TomTom maps on the second partition, but TomTom can't recognize the map. (Storage Card2\)
I tried by editing the 'CurrentMap.dat' file and set the path to the Storage Card2 but still TomTom doesn't want to read this second partition. Anyone a solution for that?
thx!!
Nice tutorial. I have problem with reading of my 4GB SD card. Now I'm using two partitions (1GB for cameras and 3GB for my PocketPC). Thank you
I have been trying this but all I seem to be able to do is partition the card but only able to format the first partition s the rest of the card is rendered useless
Any help appreciated
Great tutorial, will link it up from my related articles!
partitioning 4GB help
Hi,
I've followed you instructions (great job, btw) HOWTO partition SD card....using the file download WM5torage.cab For some reason, I cannot get past the part after clicking on ACTIVATE immediately after inserting the SD Card. My MDA (TMobile Wiz) keeps locking up and I have to do a soft reset. I've tried reformatting the 4GB Mini SD card a few times and I've actually gotten different results. My last format (FAT32) shows (on PC) 1930MB free and 1931MB used which befuddles me. I formatted it again and it showed 3.78 GB free. Perhaps you or someone could assist me if possible. I bought the Mini SD card off eBay from a reputable seller. It was suppossed to be a Samsung 4GB Mini SD card and I was a bit surprised when it arrived as a SanDisk. Any idea as to why the phone keeps locking up? I also wonder if there might be an issue with the card...I examined the back of the card where the contacts are with magnification and the sides of the black composite show traces of perhaps an epoxy or bonding agent...I think SanDisks QC is better than that. To make things easier, you can also email me at [email protected]
I have cingular 8125 and vista. I tried to use the program wm5storage but when I go to computer management there is not recognition of the 4 gig sd, nor is there any recognition of an sd when using my pda. Anyone know how to get the phone to recognize it (I tried reformatting) so that I can partition. Thanks
I have had some success with 4 GB cards from IntegrityElectronics and TopRam on my T-Mobile MDA running latest TMO ROM.
The problem I am running into a when using apps that are installed on the card and write dat to the card, other files get corrupted and render those applications unsuable. If I limit use to playing MP3 and videos, thing tend to stay stable.
Has anyone else observed this behavior?
Ok, I used the storage program to access the card. Then with the disk
management on XP I formatted the card as FAT for the entire 4gb card.
It looks like it worked. I copied all my files to it. Everything is running.
I have done several restarts with no problems...
Hope it stays so.
Good luck folks. I will report back if anything weird happens.
Ok. So it all got completely screwed.
I guess it got corrupted. My guess is when
I started using the camera. All of a sudden
there are only blank folders on the storage
card with a period as the names. Tons of them.
Nothing else. Any ideas?
And now I cannot get wm5storage to work.
It keeps telling me that something is accessing
the card. Any help would be greatly appreciated.
Thanks.
It seems the problem was that there was a hidden Recycler folder on the storage card that would not let me use wm5storage. Probably from
Resco File Explorer... Deleted that with my PC...
Somehow magically my pc read the card. I don't know how to explain
that seeing as it was formatted in FAT not FAT32...
Then wm5storage worked and I paritioned it into 2 halves.
Lets see how that goes.
I hope, well.
This may be a silly question but...
Can't you plug the micro SD into a card reader and use Windows XP Disk Management tool (or any other partintioning tool) to create the partition on the storage card? What's WM5Storage actually doing?
SG
Anyone? Can't one just soley use the Disk Management tool in Windows to partition a SD card?
For some reason I cannot mount my G1 in Ubuntu/Intrepid....the SD Card reads just fine through a USB reader, but when I plug in the G1 and touch "Mount," nothing happens on the desktop. I get a lot of garbage when I run dmesg which concludes with:
Code:
[ 4246.867266] end_request: I/O error, dev sdc, sector 0
[ 4246.867562] ldm_validate_partition_table(): Disk read failed.
[ 4246.867685] Dev sdc: unable to read RDB block 0
[ 4246.867887] unable to read partition table
If I try to manually mount with mount -t vfat, it says "Can't read superblock". I can mount successfully using -t usbfs so it is "seeing" the device...
I also tried formatting one of the cards with mkdosfs
Same behavior with both the factory 1GB card and a Kingston 8GB.
I read somewhere that perhaps it ONLY works with a USB 2.0 host controller (I have only 1.1 in this old box), but it was on the t-mobile forum which I do not consider to be all that reliable.
Can anyone corroborate the USB 2.0 theory or offer any suggestions?
Thanks!
Heya, I was in #android trying to help earlier .
As I said in IRC, USB 1.1 is flaky. It's not just T-Mobile forums that say this. Try a 2.0 port and it should work.
Edit: is the Windows machine you tried it on on the same PC? I remember you saying it mounted fine in Windows, but if it's on a separate machine with a 2.0 port that's kinda moot.
Must have been someone else in IRC, but thanks for trying to help both of us
Perhaps I will see if I can find USB2.0 controller laying around somewhere and then I could at least rule out that issue. Until then I can use the USB reader at least.
This is not really any help for you, but I run Kubuntu Intrepid and have had no trouble mounting my G1's SD-card over USB. It's a relatively new computer, though, so I know it's got a USB 2.0 controller on board.
If the controller is the issue, new ones can be found for less than $12 in whatever card format your desktop or laptop requires.
jzerocsk said:
For some reason I cannot mount my G1 in Ubuntu/Intrepid....the SD Card reads just fine through a USB reader, but when I plug in the G1 and touch "Mount," nothing happens on the desktop. I get a lot of garbage when I run dmesg which concludes with:
Code:
[ 4246.867266] end_request: I/O error, dev sdc, sector 0
[ 4246.867562] ldm_validate_partition_table(): Disk read failed.
[ 4246.867685] Dev sdc: unable to read RDB block 0
[ 4246.867887] unable to read partition table
If I try to manually mount with mount -t vfat, it says "Can't read superblock". I can mount successfully using -t usbfs so it is "seeing" the device...
I also tried formatting one of the cards with mkdosfs
Same behavior with both the factory 1GB card and a Kingston 8GB.
I read somewhere that perhaps it ONLY works with a USB 2.0 host controller (I have only 1.1 in this old box), but it was on the t-mobile forum which I do not consider to be all that reliable.
Can anyone corroborate the USB 2.0 theory or offer any suggestions?
Thanks!
Click to expand...
Click to collapse
I had this problem too, and it seems that when you write files to it, they disappear...try formatting on a windows box and see what happens...
pdspatrick said:
I had this problem too, and it seems that when you write files to it, they disappear...try formatting on a windows box and see what happens...
Click to expand...
Click to collapse
Yikes...i at least haven't had any disappearing files I will also try formatting the card in Windows just to see if it helps.
I'm feeling a bit silly here, but how is everybody mounting their Internal Card in Linux in command line? Slackware 13.1
dmesg spits out a HUGE amount of data. I found this for the external sd.
usb 1-5: new high speed USB device using ehci_hcd and address 2
usb 1-5: configuration #2 chosen from 1 choice
scsi7 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
scsi 7:0:0:0: Direct-Access SAMSUNG SGH-T959 Card 0000 PQ: 0 ANSI: 2
usb-storage: device scan complete
sd 7:0:0:0: [sdg] Attached SCSI removable disk
I mount that and well that's my External SD
I don't use slackware, I use Ubuntu, but try the following:
dmesg | grep sd?
You should see things like sg1 and sf1. The 's' stands for SCSI, which is the susbsystem that handles the SD cards, the second letter is the letter of the drive, and the number is the number of the partition.
You can use fdisk to check /dev/sd? as well, where the? is various letters.
Hope that helps.
Sent from my SGH-T959 using XDA App
Thanks yeah its showing
sda - sdg
Of coursse sda-sdf are all my drives and sdg seems to be the 2gig drive, but no sign of the 16gig internal.
Same results in Debug mode.
Unmount the 2 gig and try to mount the 16 manually.
kizer said:
Thanks yeah its showing
sda - sdg
Of coursse sda-sdf are all my drives and sdg seems to be the 2gig drive, but no sign of the 16gig internal.
Same results in Debug mode.
Click to expand...
Click to collapse
Is your phone in USB Debugging mode? If so, turn that off and try again.
Settings->Applications->Development->USB Development
NoDataFound said:
Unmount the 2 gig and try to mount the 16 manually.
Click to expand...
Click to collapse
I'll try that later when I get home. I was hoping I could avoid that, but I just can't get dmesg to even see the 16gig.
IDtheTarget said:
Is your phone in USB Debugging mode? If so, turn that off and try again.
Settings->Applications->Development->USB Development
Click to expand...
Click to collapse
I've tried it off and on. I know some mac users reported not being able to see it unless it was in debugging mode.
I normally only use windows for things, but I have this unRAID server and figured why not run some scripts so I could just plug in my phone and back it up and/or sync files one way or both. Just kinda stumping me why it doesn't like to see the 16gig LOL.
have you tried:
Code:
df -h
that should list all file systems and relevant sizes so it should be easy to identify (i think).
hope this helps.
Here is how “I” solved the mounting problem with my Android based Asus TFP Tablet. You might try it.
I found today that XDE creates VHD file located here C:\Users\a.sorokoletov\AppData\Local\Microsoft\XDE which is named {GUID}NandFlash.vhd
Does anybody know what is it?
vhd file is harddrive image for microsoft virtual machine..
I know
But for what it's being used?
For microsoft virtual machine... Its virtual hard drive, like your physical harddrive in PC...
http://en.wikipedia.org/wiki/VHD_(file_format)
Persistent storage?
If it's in VPC format indeed, you should be able to mount it and access files inside, using, for example: http://www.freewarefree.net/utility/5888/vhd-attach-150/
Hi.
Im running wp7 by nand/magldr 1.12.
There is a "fake"/emulated SPL (wp7 with sd-card) and Cotulla points out that sd cards are formatted with 2 partitions: one in UNKNOWN format: that it RAIDs it with RAM!!! Could this be connecte to VHD?
You can access new wp7 spl after magldr 1234-5-6. boot. press vol down around 4 or 5 before go go go.