It all started simple. My sister owns a Samsung galaxy captivate i897. It is a nice phone considering its release time line. It had good specifications, fast camera, good build and light weight. She was using it mainly as a phone and as a primary camera. Like every non tech person she never bothered to add an additional sd card and kept all her beloved photos within the built in phone memory.
Problem 1 – Broken screen
First problem started when she broke the screen by dropping it. Everything was functional but nothing on the screen. All the photos and memories are locked inside this device and after all possible tries I couldn’t get the photos out (usb debugging was turned off). So I decided to change the screen myself and ventured out to buy one from the market. Since this phone is from AT&T and we currently reside in Bangalore India, I couldn’t get the replacement screen. I finally bought it from USA through one of my friend. Thanks to youtube, I changed the screen myself. I took a backup of all the photos and as an additional step installed cyanogen mod 10.2. The phone did get a fresh air and started to look more like a modern phone. Everything was fine.
Problem 2 – Failed internal sdcard
Second problem showed up after some months. The phone refused to boot up now. I thought it was because of firmware corruption and tried to reinstall it. Again the phone always booted into recovery. Then I cleared up my mind and read the error message that the system showed patiently. I understood the internal sdcard has failed. Again I tried a lot and finally gave the mobile to service center. They mentioned it is a hardware failure and they won’t service it. I took that to the local cellphone repair service. They too mentioned that the phone cannot work without the internal sd card.
Now being an engineer one always try to solve a problem when everyone else says it’s impossible. After some thought I felt if I can switch the external sdcard and the internal sdcard at the software level then the system should be able to boot using the external sdcard. Now I am just going to list the solution and not the full story
- The external sdcard should have the same partitions like the internal one or else the system refused to use it. So I partitioned the external sdcard into 2 partitions. 2gb & 6gb each of type vfat.
- The custom firmware didn’t pick up this card as a replacement for the internal sdcard. But the stock firmware picked up this card for its /data partition and the phone booted up.
Problem 3 – The phone doesn’t have a sdcard
The phone was functional but if one tried to open any of the application that needs to store data, it would close with an error there is no sdcard. I checked the settings>storage and found the 2gb partition has been mounted but the 6gb partition was not. I again started a search and from my little linux background I know that the mounting can be changed by modifying the fstab file. But the fstab structure has changed a lot in the recent times and also I should have root privileges to change it. Again I am going to list down the solutions here and not the full story
- I used to superoneclickroot from the xda forum and rooted the phone.
- I used adb and downloaded the /etc/vold.fstab file.
- I modified the mount point of the sdcard to the external sdcard partition.
Voila the phone works and also the sdcard was scanned during the bootup. I gave the phone back to my sister. The moral of the story is “If you build a system from open technologies then there are people with time and effort to fix the problem on their own”.