# How to install jonprys SOD fix *OBSOLETE*



## ne0phyte (Oct 17, 2011)

Hi,

this are the necessary steps to install the SOD fix.

*This fix is obsolete now that alpha 2.1 is out*

*I'M NOT RESPONSIBLE FOR YOUR MISTAKES! DO AT YOUR OWN RISK!
I'M NOT RESPONSIBLE FOR YOUR MISTAKES! DO AT YOUR OWN RISK!*

*EDIT: I updated the steps since the webOS 3.0.4 stock kernel is way bigger than the <= 3.0.3 kernels and the fixed uImage wont fit onto the boot partition without moving/removing the alpha 1 uImage*.

*To revert the changes do the following steps*

1. Connect through adb: 
adb shell

2. Create a mount point. This step is only needed if you removed /data/boot after unmounting or rebooting in step 9 of the installation guide:
# mkdir /data/boot

3. Mount /boot:
# mount /dev/block/mmcblk0p13 /data/boot

4. Remove the fixed uImage:
# rm /data/boot/uImage.CyanogenModSODFix

5. Move the alpha 1 kernel back from sdcard to /boot. If you dont have this file anymore just reboot and run the ACME Installer with the cm7 zip again. 
# mv /sdcard/uImage.CyanogenMod /data/boot/uImage.CyanogenMod

6. Make the alpha 1 kernel the default boot image: 
# rm /data/boot/moboot.default
# echo CyanogenMod >> /data/boot/moboot.default

7. Unmount /boot:
# umount /data/boot

8. After reboot the CyanogenModSODFix wont show up in moboot anymore.

*SOD fix installation instructions*

First download jonprys fixed uImage .

1. Copy the file to the root of the media/sdcard partition

2. Rename it to *uImage.CyanogenModSODFix*

3. Connect through adb: 
adb shell

4. Create a mount point:
# mkdir /data/boot

5. Mount /boot:
# mount /dev/block/mmcblk0p13 /data/boot

6. Move the android alpha 1 kernel to the sd card:
# mv /data/boot/uImage.CyanogenMod /sdcard/uImage.CyanogenMod

7. Copy the uImage to /boot:
# cp /sdcard/uImage.CyanogenModSODFix /data/boot/uImage.CyanogenModSODFix

8 Make the fixed image the default boot image: 
# rm /data/boot/moboot.default
# echo CyanogenModSODFix >> /data/boot/moboot.default

9. Unmount /boot:
# umount /data/boot

10. Reboot and you will see the CyanogenModSODFix option in moboot.


----------



## onetootreefor (Oct 18, 2011)

works like a charm thanks!


----------



## dark_angel (Sep 2, 2011)

Any other way/s to install besides adb for an average user like Novacom or ACME or Internalz Pro??? If yes, written steps will be a big help.


----------



## ne0phyte (Oct 17, 2011)

dark_angel said:


> Any other way/s to install besides adb for an average user like Novacom or ACME or Internalz Pro??? If yes, written steps will be a big help.


To be honest I dont know about webOS and I doubt that it comes with the required yaffs2 filesystem driver to mount the android partitions. Just download the android SDK and use ADB. It isnt that hard at all.


----------



## hypermetalsonic (Aug 25, 2011)

Thanks for this. Ill get around to installing.. raising that one thing has gotten me by since then


----------



## Macmee (Oct 13, 2011)

Thanks for this!


----------



## ironman (Oct 17, 2011)

ne0phyte said:


> To be honest I dont know about webOS and I doubt that it comes with the required yaffs2 filesystem driver to mount the android partitions. Just download the android SDK and use ADB. It isnt that hard at all.


does ADB have driver issues with win 7 64bit? like everything else?


----------



## Zaphod-Beeblebrox (Jun 21, 2011)

> 7.1 Optional to make this default at boot:
> # rm /boot/data/moboot.default
> # echo CyanogenModSODFix >> /data/boot/moboot.default


Shouldn't that be rm /data/boot/moboot.default??


----------



## ne0phyte (Oct 17, 2011)

ironman43 said:


> does ADB have driver issues with win 7 64bit? like everything else?


It worked for me on W7 x64 but a lot of people seem to have problems. Here is a fix for the adb problems on x64.


----------



## Redflea (Jun 7, 2011)

ne0phyte said:


> Hi,
> 
> this are the necessary steps to install the SOD fix.
> 
> ...




My DOH moment...so thereafter when you boot up the fixed version will be the default boot option, listed along w/the current CM7 option, or will it replace it and become the only CM7 boot option?


----------



## ne0phyte (Oct 17, 2011)

Zaphod-Beeblebrox said:


> Shouldn't that be rm /data/boot/moboot.default??


Whoops, thanks for pointing this out. Its correct now.


----------



## Zaphod-Beeblebrox (Jun 21, 2011)

ne0phyte said:


> Whoops, thanks for pointing this out. Its correct now.


I have a bad habit of cut-n- paste those command sequences ... couldn't figure out why I was getting file not found


----------



## Redflea (Jun 7, 2011)

Getting error on:

Command: mount /dev/block/mmcblk0p13 /data/boot

response: mount: not found

Ran the mkdir command again just in case and it does report the directory is there: can't create directory '/data/boot' : file exists

I'm copy/pasting commands into the DOS box, so not an issue w/typos.

Any suggestions?


----------



## ne0phyte (Oct 17, 2011)

Redflea said:


> [/B]
> 
> My DOH moment...so thereafter when you boot up the fixed version will be the default boot option, listed along w/the current CM7 option, or will it replace it and become the only CM7 boot option?


It will be listed along with the uImage from Alpha 1. Step 7.1 just changes the default. Moboot will pick up any files named uImage.SOMETHING and show them in the list.


----------



## Redflea (Jun 7, 2011)

ne0phyte said:


> It will be listed along with the uImage from Alpha 1. Step 7.1 just changes the default. Moboot will pick up any files named uImage.SOMETHING and show them in the list.


Thanks, that's what I thought. Any ideas on why the mount command is failing for me?


----------



## ne0phyte (Oct 17, 2011)

Redflea said:


> Getting error on:
> 
> Command: mount /dev/block/mmcblk0p13 /data/boot
> 
> ...


It seems as this was a bug in the early ACME Installer. See here for description and fix .


----------



## MicroChip (Jul 13, 2011)

After step 7, I'm getting: cp: write error: No space left on device

Any idea why?

MC


----------



## Redflea (Jun 7, 2011)

ne0phyte said:


> It seems as this was a bug in the early ACME Installer. See here for description and fix .


Thanks...dalingrin appears to imply that rerunning the CM7 install from CWR will fix the symlinks - have I got that right?

Comment 3 by project member [email protected], Oct 13 (4 days ago)
"Please reinstall CM7 with Clockwork recovery. You don't need to wipe anything so this won't lose anything."


----------



## ne0phyte (Oct 17, 2011)

MicroChip said:


> After step 7, I'm getting: cp: write error: No space left on device
> 
> Any idea why?
> 
> MC


*EDIT: Added these instructions to the OP since the webOS 3.0.4 stock kernel is way bigger and theres no space for the fixed kernel AND the alpha 1 kernel.*

Did you install any custom kernel (uber, f4 phantom, etc) in webOS? Android and webOS share the boot partition. You could try to remove a custom kernel or delete the alpha1 android kernel and try to copy it. 
*Try to remove a custom kernel for webOS first, if it still doesn't work try the following:*

1. Move the android alpha 1 kernel to the sd-card so you can copy it back if that doesn't free up enough space:
# mv /data/boot/uImage.CyanogenMod /sd-card/uImage.CyanogenMod

2. Copy the fixed uImage to /boot
# cp /sdcard/uImage.CyanogenModSODFix /data/boot/uImage.CyanogenModSODFix

*If it still doesn't work copy the original uImage back or you wont be able to boot CyanogenMod after reboot:
*# mv /sdcard/uImage.CyanogenMod /data/boot/uImage.CyanogenMod

Hope that helps.


----------



## ne0phyte (Oct 17, 2011)

Redflea said:


> Thanks...dalingrin appears to imply that rerunning the CM7 install from CWR will fix the symlinks - have I got that right?
> 
> Comment 3 by project member [email protected], Oct 13 (4 days ago)
> "Please reinstall CM7 with Clockwork recovery. You don't need to wipe anything so this won't lose anything."


Yes this should work and it won't wipe your apps or data.


----------



## Redflea (Jun 7, 2011)

Thanks...I ran the command lines for now to symlink mount and got the same out of space error that MicroChip got - not running any custom kernels, but am updated to 3.0.4 so maybe the stock kernel in .4 webOS is bigger than 3.0.2 stock.

What a PITA...


----------



## Redflea (Jun 7, 2011)

Interesting. when I look in data/boot, the updated file is there: CyanogenModSODFix is listed:

uImage-2.6.35-palm-tenderloin
uImage.ClockworkMod
uImage.CyanogenMod
uImage.CyanogenModSODFix
uImage.moboot
uImage.webOS
update-uimage
updatefs-info

So is the out of space message "real"? du -s -h shows the file as 604k.

oops - nope - original is 3.5 MB!


----------



## Tekz08 (Oct 7, 2011)

When running 'adb shell':

"error: device not found"


----------



## ne0phyte (Oct 17, 2011)

Redflea said:


> Thanks...I ran the command lines for now to symlink mount and got the same out of space error that MicroChip got - not running any custom kernels, but am updated to 3.0.4 so maybe the stock kernel in .4 webOS is bigger than 3.0.2 stock.
> 
> What a PITA...


You might want to try this. I can't help you otherwise I still have webOS 3.0.3


----------



## ne0phyte (Oct 17, 2011)

Tekz08 said:


> When running 'adb shell':
> 
> "error: device not found"


Read the thread...


----------



## Redflea (Jun 7, 2011)

Completed the changes manually, had to move the stock uImage out to the Sdcard, booted up fine on CyanogenModSODFix.

Thanks for all the help, ne0phyte!

For others on 3.0.4, these instructions a few posts up from ne0phyte are what you need to follow to get the existing default out of the way:

http://rootzwiki.com/showthread.php...onprys-SOD-fix&p=179006&viewfull=1#post179006


----------



## johnvan (Oct 15, 2011)

Will this be the same fix as in Alpha 2? If you install this will it mess up a possibly better, different fix in Alpha 2?
Anyone know what it actually does?


----------



## ironman (Oct 17, 2011)

boot failed, oh well but can still boot into cyanogenmod.

*how do I remove the new entry from moboot menu?*


----------



## ne0phyte (Oct 17, 2011)

ironman43 said:


> boot failed, oh well but can still boot into cyanogenmod.
> 
> *how do I remove the new entry from moboot menu?*


Repeat the steps but instead of copying the uImage to /boot you type
# rm /data/boot/uImage.CyanogenModSODFix


----------



## ironman (Oct 17, 2011)

ne0phyte said:


> Repeat the steps but instead of copying the uImage to /boot you type
> # rm /data/boot/uImage.CyanogenModSODFix


well this is exciting, now I dont have a cyanogenmod option in boot,
how do I add it again :angel: ?

edit>tried reinstalling moboot, still no cyanogenmod option. someone help me please. thanks.


----------



## ne0phyte (Oct 17, 2011)

ironman43 said:


> well this is exciting, now I dont have a cyanogenmod option in boot,
> how do I add it again :angel: ?


I guess you copied the original uImage to the sdcard? If you did you should have copied it back to the boot partition. Run the ACME installer with the cm7 zip again to get the uImage back.


----------



## Redflea (Jun 7, 2011)

neophyte:

Since we're moving the stock kernel, doesn't that mean this step should probably be "required"?

7.1 Optional to make this default at boot:
# rm /data/boot/moboot.default
# echo CyanogenModSODFix >> /data/boot/moboot.default

Having it set to a default that isn't there seems odd...might it also cause issues?


----------



## ne0phyte (Oct 17, 2011)

Redflea said:


> neophyte:
> 
> Since we're moving the stock kernel, doesn't that mean this step should probably be "required"?
> 
> ...


Tbh I didn't try what happens when it does not find the default image to boot :/ But you're right - I will make it a required step.


----------



## Redflea (Jun 7, 2011)

johnvan said:


> Will this be the same fix as in Alpha 2? If you install this will it mess up a possibly better, different fix in Alpha 2?
> Anyone know what it actually does?


I'd skip it if I were you, as yes, this fix will be in Alpha 2, and you can use tools like Softlocker from the market for now to block SOD (at least that was my experience). Unless you have experience w/ADB and have the Android SDK installed this is going to be a lot of work/learning/risk for a very short-term gain once Alpha 2 comes out. I just installed it to help w/testing it out...


----------



## bridges86406 (Oct 16, 2011)

Has anyone actually verified that Jonpry created this file? If so is there a post on the project with him posting it?


----------



## ironman (Oct 17, 2011)

ne0phyte said:


> I guess you copied the original uImage to the sdcard? If you did you should have copied it back to the boot partition. Run the ACME installer with the cm7 zip again to get the uImage back.


ACHMInstaller for everything and working now again. life is good sometimes.

will re-attempt this later, I believe I skipped a line which messed it up.


----------



## bluediablito (Aug 28, 2011)

sorry for being a noob
what is SOD ?
and will this rom hit nightly status or only alpha and then rc.x


----------



## hussdawg (Aug 25, 2011)

I think it's an acronym for "Sleep Of Death". I believe they are referring to when the touchpad goes to sleep and then won't wake back up.


----------



## Redflea (Jun 7, 2011)

hussdawg said:


> I think it's an acronym for "Sleep Of Death". I believe they are referring to when the touchpad goes to sleep and then won't wake back up.


Yes, that's correct. The patch is not working for me so far. The first time I put my TP asleep for 15-20 minutes and tried to wake it up, I got the SOD.


----------



## Redflea (Jun 7, 2011)

bridges86406 said:


> Has anyone actually verified that Jonpry created this file? If so is there a post on the project with him posting it?


See comment 86 - that's the best we have:

http://code.google.com/p/cmtouchpad/issues/detail?id=75


----------



## ingenue007 (Oct 15, 2011)

i can't get past this step: 
5. Mount /boot:
# mount /dev/block/mmcblk0p13 /data/boot

keeps saying mount not found.

huh?


----------



## ironman (Oct 17, 2011)

maybe this is why mine failed:


> Comment 100 by [email protected], Today (38 minutes ago)
> 
> FYI - the kernel on 3.0.4 is large enough that you can't copy the updated uImage file to the boot directory w/out first moving the existing uImage.CyanogenMod to the SD card to free up space. Don't think that affects the actual patch implementation in Alpha 2, but just wanted to pass this info on.


----------



## Redflea (Jun 7, 2011)

ingenue007 said:


> i can't get past this step:
> 5. Mount /boot:
> # mount /dev/block/mmcblk0p13 /data/boot
> 
> ...


Read back through the thread...simplest solution is to reinstall CM7 using ClockworkMod (from the boot menu). Put the CM7 file back on the SD card again, boot into ClockworkMod and use install zip from sd card to install CM7. That will fix the problem w/the mount command.


----------



## Turge (Oct 14, 2011)

FYI.. this command will mount /boot in ClockWorkMod:


```
/sbin/busybox mount boot
```
you could also mount system, data and sdcard with this command...


----------



## Redflea (Jun 7, 2011)

My TP has rebooted on its own several times in the past 15 or so minutes...sitting there on its own on the home screen, then I look over and notice that it's rebooting. I may be backing this "fix" out in the near future. 

Any thoughts, ne0phyte? You're not having any issues?

I've minimum CPU set to 192 in SetCPU, running nothing special in the background.


----------



## ironman (Oct 17, 2011)

help... the file is in the root of _sdcard_ and its called CyanogenModSODFix.

cp /sdcard/uImage.CyanogenModSODFix /data/boot/uImage.CyanogenModSODFix
cp: can't stat '/sdcard/uImage.CyanogenModSODFix': No such file or directory
#


----------



## ne0phyte (Oct 17, 2011)

Redflea said:


> My TP has rebooted on its own several times in the past 15 or so minutes...sitting there on its own on the home screen, then I look over and notice that it's rebooting. I may be backing this "fix" out in the near future.
> 
> Any thoughts, ne0phyte? You're not having any issues?
> 
> I've minimum CPU set to 192 in SetCPU, running nothing special in the background.


I didn't experience random reboots as far as I can say. Minimum CPU set to 192 in SetCPU aswell. I hope the alpha 2 wont be long in coming with the worst bugs fixed


----------



## ingenue007 (Oct 15, 2011)

ok i reinstalled CM7 via clockwork.

i ran this command: 6. Move the android alpha 1 kernel to the sd card: # mv /data/boot/uImage.CyanogenMod /sdcard/uImage.CyanogenMod

it said can't preserve ownership of the uImage so I just skipped it and copied the SODFix file and ran the rest of the commands and it worked. I have webos 3.0.3 btw.

hope this fixes it


----------



## Redflea (Jun 7, 2011)

ne0phyte said:


> I didn't experience random reboots as far as I can say. Minimum CPU set to 192 in SetCPU aswell. I hope the alpha 2 wont be long in coming with the worst bugs fixed


Just wiped cache/dalvik cache to see if that helps...if not I'll have to revert to stock, as this fix isn't doing it for me.

<Update> Since I cleared caches things have settled down, maybe this will be OK.

<Update2> Let it go to steep, and got another SOD. So it does seem this isn't working for me. Going to raise minimum CPU to 384.


----------



## jmandawg (Oct 15, 2011)

so now instead of getting the SOD, it just reboots instead of sleeping.


----------



## lane32x (Aug 1, 2011)

ironman43 said:


> help... the file is in the root of _sdcard_ and its called CyanogenModSODFix.
> 
> cp /sdcard/uImage.CyanogenModSODFix /data/boot/uImage.CyanogenModSODFix
> cp: can't stat '/sdcard/uImage.CyanogenModSODFix': No such file or directory
> #


Well. If you named it "CyanogenModSODFix" instead of "uImage.CyanogenModSODFix" then you need to change your above command.
to something like this:

cp /sdcard/CyanogenModSODFix /data/boot/uImage.CyanogenModSODFix


----------



## angellsl (Oct 14, 2011)

jmandawg said:


> so now instead of getting the SOD, it just reboots instead of sleeping.


Did you clean your cache partition and dalvik cache after flash?


----------



## rdoearth (Oct 14, 2011)

ingenue007 said:


> ok i reinstalled CM7 via clockwork.
> 
> i ran this command: 6. Move the android alpha 1 kernel to the sd card: # mv /data/boot/uImage.CyanogenMod /sdcard/uImage.CyanogenMod
> 
> ...


I'd like to mention the fact I had this problem as well, and skipped moving the old file.

Trouble is, I would like to give webOS .4 a whirl, but I know if I fail to move the old file first there won't be room to move the SODFix .

btw: I just installed the patched and haven't noticed any ill effects as of yet.
Does anyone know how to get it to move the file if we get "can't preserve ownership"?


----------



## altimax98 (Jul 14, 2011)

Great mod...


----------



## neeraj (Oct 18, 2011)

any1 make noob tutorial please [with pictures or video]


----------



## Redflea (Jun 7, 2011)

I'm still getting random reboots on this mod when my TP is just sitting there, so I'm gonna un-mod it. Not working for me.


----------



## lane32x (Aug 1, 2011)

neeraj said:


> any1 make noob tutorial please [with pictures or video]


Yes. Wait for Alpha 2....lol

OK. No pictures, no video, but I can give you the rundown somewhat hurried since I'm going to bed.

Assuming you are in windows...
1) Download Android SDK
2) Open the SDK and Install ADB (Platform tools) (you can google it, or there is a mini guide in the file "Tools\adb_has_moved.txt")
3) Install the ADB drivers ( open ADB "SDK Manager" ->Available Packages -> Third Party Add-ons -> Google USB Driver...)
4) Plug your touchpad into the computer, find it in your Device Manager (if it's the only USB "drive" plugged into the computer it will be the only thing called "USB Mass Storage Device" under "Universal Serial Bus Controllers)
5) Right-click on that device, remove
6) Click Action-> Scan for Hardware Changes
7) It should re-install the drivers for your touchpad, now the drivers have ADB support
8) Open the command prompt, change directory to wherever you installed ADB (mine is G:\Downloads\Android\android-sdk_r13-windows\platform-tools)
(example: 
g:\
cd "G:\Downloads\Android\android-sdk_r13-windows\platform-tools"
)
9) go to the beginning of this thread (page 1) and follow his guide exactly.
(copy and paste commands from the first page if you have to)


----------



## dptgator (Oct 18, 2011)

Applied this fix to my touchpad and then cleared cache and dalvic cache. Will plug it in overnight and see if I get the SOD in the morning.


----------



## supermatt9 (Jun 20, 2011)

Alpha 2 just go released and has an SOD fix!! Go download it now!

http://rootzwiki.com/showthread.php?4011-RELEASE-ALPHA2-Discussion-CyanogenMod-team-Touchpad-port


----------



## ufoboi (Sep 1, 2011)

Whenever the Alpha 2 version release, will we able to apply the upgrade without copying back the original boot file?


----------



## Phryxus (Oct 18, 2011)

So will installing Alpha 2 over this mess up boot? I assume we should go through the initial steps, but remove the SOD Fix uimage first?


----------



## ne0phyte (Oct 17, 2011)

Phryxus said:


> So will installing Alpha 2 over this mess up boot? I assume we should go through the initial steps, but remove the SOD Fix uimage first?


I just updated to Alpha 2.1 using CWM and didn't encounter any problems. But I renamed the uImage to CyanogenMod so it might have been overwritten.

Yes, to be on the safe side I would remove the SOD fix image first.


----------



## Zaphod-Beeblebrox (Jun 21, 2011)

ne0phyte said:


> I just updated to Alpha 2.1 using CWM and didn't encounter any problems. But I renamed the uImage to CyanogenMod so it might have been overwritten.
> 
> Yes, to be on the safe side I would remove the SOD fix image first.


Might I suggest you add to your initial post with some instructions on how to 'undo' this before (or after) installing Alpha 2? If you changed the moboot.default file to point to the fixed kernel, then it will 'ignore' the new kernel in Alpha 2 (I assume they are the same kernel - but future updates would subsequently get ignored if we don't reset moboot.default).

for me, I just remounted the partition on /data/boot. Deleted the uImage.CyaongenModFix and then 'echo CyanogenMod >> /data/boot/moboot.default'
and rebooted.


----------



## ingenue007 (Oct 15, 2011)

under about tablet, what does the alpha 2 version say?

mine says cyanogenmod-7.1.0-rc1-tenderloin-KANG
under kernel version it says 2.6.35-palm-tenderloin
build number GRJ22

is this the correct version for alpha 2??


----------



## ingenue007 (Oct 15, 2011)

ok i found the answer on another thread:

Quote Originally Posted by trueno92 View Post
How can we verify if the alpha2.1 install installed successfully?
1. Choose pop up button from Status Bar.
2. Choose Settings.
3. Scroll down and choose About Phone.
4. Should see CyanogenMod-7.1.0-RC1-tenderloin-KANG


----------



## Nburnes (Oct 8, 2011)

ingenue007 said:


> ok i found the answer on another thread:
> 
> Quote Originally Posted by trueno92 View Post
> How can we verify if the alpha2.1 install installed successfully?
> ...


First release says the same.... Easiest way is to play a video or something then plug in headphones and see if the sound stops externally.


----------

