Go Back   Android Forums > Android Phones > HTC Droid Incredible > Incredible - Support and Troubleshooting
Gamers - Check out our new sister sites!
Nintendo Wii U!    |    OUYA - $99 Android System!

test: Reply
 
LinkBack Thread Tools
Old June 3rd, 2011, 02:15 AM   #1 (permalink)
New Member
Thread Author (OP)
 
Join Date: Apr 2010
Posts: 6
 
Device(s):
Carrier: Not Provided

Thanks: 0
Thanked 2 Times in 1 Post
Default Internal Phone Storage becomes read-only

After some searching, I wasn't able to find anyone who described quite exactly my problem, and no one had a solution. So, after days of fighting this, I finally fixed it, and decided to post my solution.

HTC Droid Incredible running OEM 2.2 on Verizon

Problem:
My Internal Phone Storage was getting mounted as "read-only" and I couldn't write to it.

Symptoms:
  • Whenever I booted the phone it would say "There's a problem with your SD card" in the notification bar. However, going to settings > SD & phone storage -> it revealed that my SD card was fine, and my internal storage was "read-only"
  • Astro File Manager Clearly showed my emmc folder as unwritable (and nothing happened when I tried to write to the folder)
  • My photo gallery would only show photos taken since the problem began. This symptom was the same as in this post (with no solution): Internal phone storage read-only after 2.2 update?
Back story:
I had my phone connected via USB as a Mass Storage Device to a windows machine and was transferring a folder called "BensPictures" that contained approximately 400 megs of photos to the root of the Internal Storage. About 50% of the way through, windows made the device disconnect sound, and alerted me that the USB storage device was no longer available, and that data had been lost in the transfer. I've seen the error before, but never when actually transferring anything. I just popped in a USB thumb drive (wish I did this first...) and used that to complete my file transfer.

A few hours later I realized that my phone was doing some odd things, such as the gallery problem described above. And then I started getting these messages about something being wrong with my SD card in my notification bar.

After a few hours of poking around, I discovered that my Internal Memory was now "read-only" and there was what astro was calling a file called "BensPictures" in the emmc folder. This "file" had no permissions, and tapping and holding on it did nothing.


Solution:
I fired up my TerminalEmulator (my phone was NOT rooted at this point) and began to poke around. Trying to remove anything from the emmc folder gave me a "filesystem read-only" error, but trying to remove this "BensPictures" file gave me error: "Unable to remove file: I/O error"

I started playing around with the mount command, and quickly learned that I couldn't do anything without rooting my phone.

The only thing useful I was able to do at this point was list out the existing mounts by running "mount" in my terminal.

Doing this, I saw that one of the mounts was this:
Code:
/dev/block/vold/179:3 /mnt/emmc vfat ro,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
I knew that was the internal memory. The important part there is
Code:
/dev/block/vold/179:3
Since I couldn't do everything I needed to (like change the mounts), I rooted my phone.

Everything that took place from this point on was with my phone rooted.

The next thing I did was install SSHDroid so I could run commands from my computer over SSH.

Once I had SSH working, the first thing I tried was to remount the internal memory with read/write enabled using this command:

Code:
mount -o remount,rw,errors=continue -t vfat /dev/block/vold/179:3 /mnt/emmc
The command appeared to work, but the mount was still read-only. I tried unmounting using:
Code:
umount /mnt/emmc
And then re-mounting using a similar command like above (minus the "remount" option). The device did remount, and was accessible, but it was still read-only.

I tried mounting the device to a different location, and it was still read-only.

I tried a lot more things here. Honestly, I don't remember a lot of them. But I tried everything I could think of.

Finally, I started thinking about fsck. I discovered that Android has a fsck_msdos command, and since the internal memory on the Droid Incredible is vfat, this was perfect.

I mounted the internal storage (still in read-only mode) and copied everything to my SD card as a backup, and then ran:
Code:
fsck_msdos /dev/block/vold/179:3
I got this output:

Code:
** /dev/block/vold/179:3
** Phase 1 - Read and Compare FATs
Attempting to allocate 845 KB for FAT
Attempting to allocate 845 KB for FAT
** Phase 2 - Check Cluster Chains
** Phase 3 - Checking Directories
/BensPhotos starts with free cluster
Remove? [yn]
It found my broken directory! I said 'y'es and it continued to tell me about several Lost Cluster Chains, and finally finished with a
Code:
***** FILE SYSTEM WAS MODIFIED *****
I thought to myself, "This bad directory couldn't cause all those problems...could it?" and I then rebooted my phone, and the Internal Phone Storage was back to it's good-ol' self. Readable and Writable

I'm a couple reboots later (although only a couple hours) and it appears to be working still!

I sincerely hope that if someone else is having an issue like this, this helps them at least get on the right track!

ben.mcfadden is offline  
Reply With Quote
The Following 2 Users Say Thank You to ben.mcfadden For This Useful Post:
bmorearty (July 13th, 2011), scotty85 (January 15th, 2012)
Sponsors
Old July 13th, 2011, 12:35 AM   #2 (permalink)
New Member
 
Join Date: Jul 2011
Posts: 1
 
Device(s):
Carrier: Not Provided

Thanks: 1
Thanked 0 Times in 0 Posts
Default This worked for me

I love you!

Thank you for posting these detailed instructions. My Droid Incredible's internal storage recently became read-only too. After trying several things I found these instructions. They worked perfectly.

I had never rooted a phone before and was a little intimidated, but the 'unrevoked' tool made it simple.

The only things I did differently from your instructions (after rooting the phone) were:
  • Instead of downloading SSHDroid I ran the fsck_msdos command from Terminal Emulator.
  • After rooting the phone and running Terminal Emulator, I typed "su" to run in SuperUser mode before running fsck_msdos.
  • fsck_msdos was asking me to verify a TON of changes so I hit ^C (hold down the scroll button and hit C) to stop it, then I ran fsck_msdos with the -y option to automatically answer "yes" to every question:

Code:
fsck_msdos -y /dev/block/vold/179:3
bmorearty is offline  
Reply With Quote
Old July 13th, 2011, 09:58 AM   #3 (permalink)
New Member
Thread Author (OP)
 
Join Date: Apr 2010
Posts: 6
 
Device(s):
Carrier: Not Provided

Thanks: 0
Thanked 2 Times in 1 Post
Default

Great! I'm glad it worked for you too. I was beginning to wonder if I was the only person who ever experienced this. :-)
ben.mcfadden is offline  
Reply With Quote
Old November 17th, 2012, 06:31 PM   #4 (permalink)
New Member
 
Join Date: Jun 2010
Posts: 12
 
Device(s):
Carrier: Not Provided

Thanks: 0
Thanked 5 Times in 3 Posts
Default Useful Thread is still Useful

Another borked Incredible w/ "read-only" emmc, "SD Card problem" and thousands of missing photos fixed with fsck & terminal emulator... thanks, OP!
cantare is offline  
Reply With Quote
Reply
Tags
droid incredible, fsck, fsck_msdos, internal phone storage, read-only


Go Back   Android Forums > Android Phones > HTC Droid Incredible > Incredible - Support and Troubleshooting
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -5. The time now is 12:52 PM.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.