[HOWTO] Speed Fix! (variant of mimocan fix)

Search This thread

NukaCola

Senior Member
Jul 23, 2010
137
0
This is a quick walkthrough of how to apply my variant of "Mimicans speedfix" using my kernels on the Captivate. The speedfix essentially consists of making an ext3 or ext4 filesystem on an sdcard, and using that as our /data directory. This method is different from the original method in many of the details, but the underlying basis is that the stock /data partition is slow as molasses so we replace it.

This method should be pretty safe. As you will notice we dont copy around stuff and create a symlink mess. We just mount a partition over the current one. Yes we still mount the old one as well, even though it wont be used unless you take your card out. If that happens the phone will mount your old /data (that will probably be very out of date at the time) but itll get you up and running right away.

Right now there are two kernels, these mount the default partition, ext3 or ext4 on the second sdcard partition, the two options are:
Stock clock speed and Overclocked.
The overclocked kernel will clock from 100 to 800 Mhz as stock, then skippinig 1Ghz going to 1.2 Ghz.

Also, before we begin make sure you have this version of Odin. I used Samsung windows drivers that I found here.

You'll also want to read this thread about download mode. here you'll learn that you will have to try real hard to actually brick these phones, and even then it may still boot.

Ofcourse you also want to have root on your captivate.

You'll also need the android sdk.

If you are on Windows or Mac you will need some software to partition and format the sdcard, this live cd will work. You could also just get an ubuntu live cd or similar.

So, now we have the necessary tools and our new kernels and can get started.

Partition the disk:
There were reports from the modaco forums when mimocan first released his fix that ext3/4 partitions larger than 2gb were a problem, so keep your 2nd partition 2gb or smaller.

Use your favorite partitioning sofware to create 2 partitions on your sdcard. the first one will be formated FAT32 (vfat), and the second one ext3 or ext4. Make sure both are 'primary partitions'. You may want to make the second partition have partition type 83 (linux native).

Copy data files to sdcard:

If you are coming from stock, (eg without an existing a2sd /data partition on your sdcard) boot the phone without your formatted card and hotplug it before starting this process.

Using the sdk you need to connect the phone and use 'adb shell' to get a prompt on the phone.
Then follow these steps:
Code:
$
$ su -
# mkdir /sdcard/mnt
# mount -t ext4 /dev/block/mmcblk1p2 /sdcard/mnt
# busybox cp -a /data/* /sdcard/mnt
# umount /sdcard/mnt
# exit
$ exit

Flashing the kernel

1) Disconnect USB cable.

2) Open up odin.

3) Put your phone into download mode.

4) Connect USB cable, wait a second Odin should detect your phone, if not fiddle about with your drivers and reboot windows or something. This can be a real PITA.

5) In Odin load the kernel tarfile as "CSC"

6) Click "Start" in Odin, flashing should only take a few seconds.
You may run into issues here randomly and have a phone with the phone-!-computer image (I did!). Just go read up on the 'download mode' thread linked above it tells you how to proceed.

7) When you have booted your new kernel and /data partition you may have some issues with a few widgets/apps. Reinstalling or waiting/fiddeling with them seems to solve the issue. Maps was slow to open the first time after a new /data partition was mounted for me a few times, but subsequent launches were snappy.

If you want you may donate to my beer fund. It is not necessary but much appreciated :)
 
Last edited:

Postal76

Senior Member
Mar 26, 2009
83
5
Didn't work for me. I partitioned my external SD card, flashed the speedup2 kernel, then ran the commands you posted, replacing 'ext3' with 'ext4'. My quadrant score is still in the low 900's.

Can you explain exactly what those commands do? The mimocan fix makes a lot more sense to me. Why did you decide to take a different approach?

Thanks for your help and effort!
 

ranova

Senior Member
Jul 19, 2010
1,436
255
I get 1716 scores in quadrant, but with real world running tests Touchdown and Dolphin HD browser still lag like holy hell.

I originally had the "method 2" hack (moving apps to the NAND) and that worked wonders, especially with these apps.

Can anyone test these two applications and see if there is lag for you?

Dolphin - try opening a new tab, closing it, and goto a large page and scroll with the volume buttons - it should all be smooth and quick

Touchdown - It should be very quick going between emails, I get a 5+ second delay before showing the email

Also in Quadrant, even though I get 1700 scores, do you guys get stuck at I/O Database writes for a good 3+ minutes?
 
Last edited:

spyz88

Senior Member
Oct 28, 2008
428
33
The captivate speedup kernel link is dead. Can soneone please post a mirror? Thanks
 

_Opiate_

Senior Member
Jun 1, 2010
473
12
Worked great for me using ext4 partition/kernel. It brought my quadrant to 1817! Thats with a poor little 4gig, class 2 micro sd card. Im also running the i9000 JM2 firmware with Samset 1.6.

Thank you for all your hard work!!!! My phone is now complete (for now lol).
 

_Opiate_

Senior Member
Jun 1, 2010
473
12
I get 1716 scores in quadrant, but with real world running tests Touchdown and Dolphin HD browser still lag like holy hell.

I originally had the "method 2" hack (moving apps to the NAND) and that worked wonders, especially with these apps.

Can anyone test these two applications and see if there is lag for you?

Dolphin - try opening a new tab, closing it, and goto a large page and scroll with the volume buttons - it should all be smooth and quick

Touchdown - It should be very quick going between emails, I get a 5+ second delay before showing the email

Also in Quadrant, even though I get 1700 scores, do you guys get stuck at I/O Database writes for a good 3+ minutes?

Might be tome for you to pick up a new SD card. I have used both fix's and find this fix to be way better. I get no lag in Dolphin HD.
 

NukaCola

Senior Member
Jul 23, 2010
137
0
Didn't work for me. I partitioned my external SD card, flashed the speedup2 kernel, then ran the commands you posted, replacing 'ext3' with 'ext4'. My quadrant score is still in the low 900's.

Can you explain exactly what those commands do? The mimocan fix makes a lot more sense to me. Why did you decide to take a different approach?

Thanks for your help and effort!

All you do is copy the files from your original /data partition onto the root of your ext{3|4} partition on the sdcard. Then that is mounted on reboot ontop of /data so you can use the new data partition from your card.

I feel this is a MUCH cleaner method than the original Mimocan fix, that copis a full copy of data into the root of the device (unnecessary backup since you still have your original /data partition as well), then it mounts your sdcard on /disk and symlinks that to /data.

I just don't see the need for the symlinks and stuff and honestly I thought this was a simpler method, no symlinks or anything.

If you arent seeing any speedups I'm betting something didn't go right, you are probably still running of the old /data partition. Are you sure you are running the speedup2 kernel and not the ext4 only kernel?
 

NukaCola

Senior Member
Jul 23, 2010
137
0
.....
Also in Quadrant, even though I get 1700 scores, do you guys get stuck at I/O Database writes for a good 3+ minutes?

yeah database I/O takes forever still.

Like I said in the other thread, try to reinstall the apps, Dolphin is very very fast here (thanks for getting me a new browser btw.)
 

SlimJ87D

Senior Member
Jan 16, 2008
2,326
424
Nuke, after doing the ext4 only method, I only get quadrant scores of 900.

Am I doing something wrong? I go through all the steps fine and everything seems like it went well but it seems like I'm doing something wrong down the line.

one thing I do notice is that I have A LOT MORE AVAILABLE MEMORY in advanced task killer. I use to only have 100 now I have 180MB.

Is it crucial to have to flash the Speedfix2?
 
Last edited:

SlimJ87D

Senior Member
Jan 16, 2008
2,326
424
WOW! Okay... So now I'm getting 1756...

You just have to leave Quadrant on for like 15 minutes sometimes! This is very strange!
 

Fortune090

Senior Member
Jun 26, 2008
916
179
Notice the period after the asterisk. In the old forum, someone had a problem with that.

I did this fix last night after countless times of my messing up and figuring out how to partition with my phone still being able to read the card, flash problems with Odin, etc etc. I'm using an 8gb Classic 6 and just got an 1805 in Quadrant, and the phone is incredibly, noticeably faster. Did have some weird app problems when it was first applied, but some reinstalls fixed it. Thanks again Nuka! :)

Sent from my SAMSUNG-SGH-I897 using XDA App
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Here is my compiled kernel, and static utils for creating nilfs2 filesystems. The mount/umount utils are not called by the stock or busybox mount/umount at present, and all they actually do is start/stop the cleaner daemon for you on mount/unmount. Without stopping the daemon you can't actually umount the filesystem, so even "graceful" shutdowns will stop your nilfs2 filesystems hard. This has not caused any trouble for me at all, the filesystem has been very resilient.

    The kernel includes my race-free user init solution. Save your user init as /system/bin/user_init, and make sure it is executable and has a proper interpreter line at the top if it is a script. If you can not run it with just /system/bin/user_init, it will not work. user_init is run after mounting /data and /dbdata as rfs, but before the part of init that sets up directory structures and permissions in them. If you wish, it can unmount an already-mounted /data or /dbdata and mount a new one stored on another partition in its place.

    I don't have a pretty package ready here, but the easiest way to convert is to boot clockwordmod recovery, create a new backup, and start a shell in adb without restarting. You can then format the partition of your choice with nilfs2, mount it, cd into it, and restore your backup with
    Code:
    unyaffs /sdcard/clockworkmod/backup/<backup name>/data.img

    You'll need to install the cleaner daemon somewhere in /systems - it is responsible for deleting old checkpoints, since nilfs2 is an auto-checkpointing fs, and without it your filesystem will fill up even if you try to delete things to make room. Install the included nilfs_cleanerd.conf to /system/etc, it is set up to keep between 20-30% of your space free and not remove any checkpoint under 30 minutes old.

    A sample user_init is included. It logs operations to /system/data_mount.log, and uses time to time the mount. If you do not have busybox installed, just remove the "time" from the start of the line with the mount command. You can also use an external /data partition if you want, but I chose to use an internal one so that I can remove my external flash without shutting down.

    I may eventually get around to producing a nice package for this, but I won't complain if somebody else gets to it first. Also, backup/restore via recovery is problematic for now - if you use internal sd you will need to modify CM's /etc/fstab to use auto for /data rather than rfs, or it will not be able to mount it. You may also want to format /data before restoring to it, or else manually run the cleaner once /data starts restoring, to ensure that it does not just fill up with old checkpoints.

    Good luck, have fun, make sure you have backups before you do anything with this, etc. I'll try to help if there are problems but you are ultimately responsible for what you do to your phone, so if it breaks all I can promise is that you get to keep the pieces. :D

    EDIT: in the interest of helping the community and complying with the GPL, I'm adding a diff for my kernel and initrd modifications. The kernel patch can be applied to the Samsung source release kernel, and the initrd patch should apply cleanly to an extracted stock initrd. Nilfs2 utility sources can be obtained at the NILFS website.