• Announcements

    • Reminder - MoDaCo position on illegal content

      ILLEGAL CONTENT I'd like to just reaffirm MoDaCo's position regarding piracy and illegal content in the light of some recent questions / postings. Posts will be censored by myself or my moderation team if the contain or link to: Illegal / pirated / cracked software or sites that host such software
      Nintendo emulators / ROMs or sites hosting them (in light of Nintendo's legal stance)


      CUSTOM ROMS

      You may discuss and post links to custom device ROMs on MoDaCo, provided the following rules are adhered to: ROMs must not be hosted directly in topic via the MoDaCo attachment system
      ROMs must not contain any illegal 3rd party software (this includes trial versions included without permission)
      ROMs must give full credit to the original author
      This decision has been taken in light of the huge amount of interest in this area of device customisation within the community, and member feedback! Please note that custom ROM discussion should be kept in specific device sub-areas, (e.g. Kaiser.MoDaCo.com for Kaiser based devices). ISSUES If you have any issues with this policy, please contact me directly via PM. P
    • Support MoDaCo by signing up to a MoDaCo Silver or Gold membership

      To sign up to an annual MoDaCo Silver subscription which will eliminate all ads from the site (as well as giving you access to the MoDaCo Online Kitchens for Android) for only £9.99 using PayPal, Credit or Debit Card, ensure you are logged in to the site, and then click the link below, which will take you directly to the subscription store! You can also sign up to an annual MoDaCo Gold subscription for £29.99, which adds the benefits listed below! PURCHASE A MODACO SUBSCRIPTION - FREE Titanium Backup Mobile for Android worth $5.99! - FREE 1 year PrivateInternetAccess.com worth $39.95! - FREE 1 year LastPass Premium worth $12! - FREE CalcConvert for Pocket PC from Binaryfish worth $17.95! - FREE Calendar Bar for Pocket PC from OmegaOne worth $9.99! - FREE CamerAware for Pocket PC and Smartphone from MoDaCo worth £19.99 / $30! - FREE Chronos for Pocket PC from ActiveKitten worth $14.95! - FREE CodeWallet Pro for Smartphone and Pocket PC from DeveloperOne worth up to $24.95! - FREE Concentrix for Pocket PC from eSoft Interactive worth $9.95! - FREE FlexMail for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE FTouchSL for Pocket PC from Vekoff s.r.o. worth 10 euro / $12.50! - FREE Jewel Challenge for Pocket PC from eSoft Interactive worth $9.95! - FREE John Cody's Alerts Pro for Smartphone from Omnisoft worth $14.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Dutch for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> French for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> German for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Italian for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Spanish for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Dutch for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> French for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> German for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Russian for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Turkish for Smartphone from Lingvosoft worth $49.95! - FREE Note2Self for Pocket PC and Smartphone from WebIS worth up to $19.90! - FREE Opera 8.60 for Pocket PC and Smartphone from Opera Software worth up to $48! - FREE Pocket Informant for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE Pocket Launcher for Pocket PC and Smartphone from Conduits worth $9.95! - FREE PTab for Pocket PC and Smartphone from z4soft worth up to $60! - FREE Resco Explorer for Pocket PC and Smartphone from Resco worth up to $49.90! - FREE Safemode for Pocket PC from monocube worth $12.95 - FREE SplashPhoto for Pocket PC and Smartphone from SplashData worth up to $59.90! - FREE Sprite Backup for Pocket PC and Smartphone from Sprite Software worth $29.95! - FREE Teksoft Glyphs UI for Pocket PC and Smartphone from Teksoft €9.95! - FREE Teksoft HeadsetRemote for Pocket PC and Smartphone from Teksoft €4.95! - FREE Traffic Jam for Pocket PC from eSoft Interactive worth $9.95! - FREE unlock (1 per year) from imei-check.co.uk - DISCOUNT of 10% at MoDaCo FairDeal - DISCOUNT of 10% at Semsons.com - FORUM - AD FREE SITE - FORUM - custom rank / title - FORUM - double competition entries - FORUM - double post attachment space - FORUM - no search flood control - FORUM - priority event registration - FORUM - triple PM space
    • Reminder: Selling items on the forum directly is not allowed

      Please note that selling items on the forum directly is not allowed by the forum rules. There is a forum for eBay auctions whereby you can list the items on eBay and link to them there. This is the ONLY forum for this type of activity. You may also advertise links to the eBay forum in your signature. Please note that selling directly in contravention of these rules will result in a warning / suspensions / ban.

Kernel Experiment - 4.0 updated 2012.05.28

199 posts in this topic

Posted (edited) · Report post

For those who are adventurous and are willing to try new things to improve your phone, I have produced some binary kernels if you don't want to do the compilation yourselves. Please note these are not for beginners and would require some knowledge and skills to properly set it up. More importantly, although unlikely, it may brick your phone and render it completely wasted. It comes with absolutely no guarantee and no warranty whatsoever. I am not responsible for any damages done. For those who is willing to take the risk, proceed below.

Brief changelog

Not all builds contain all features - see build info for details.

4.0: ae49c12

Lack of time for thorough testing - but hope you enjoy this build.
  • AHB166 builds have a higher default cpu scaling min frequency to eliminate screen flicker completely - see special instruction below if you need to lower it.
    • Tuned the default conservative scaling governor so that it will raise and drop frequency much quicker in response to system load changes - a smoother screen refresh is expected but at the expense of more power.
      • Kexec a.k.a. Never See WinMo Again (Almost). See special instruction below for details.
        • Fix camera module unloading crash.
          • Bonus: Not strictly kernel related (though used by Kexec) - a bionic (libc.so) fix that prevents background executed commands from stalling. This fixes apps such as Titanium Backup and AdAway that use su in the background. See special instruction for Kexec.

            Download and build info


3.0: a3b8d7f
  • Hold key (a.k.a Lock key) wakeup - end key also works. See sample keymap file in special instructions.
    • 24bpp framebuffer in low CPU frequency (AHB 166MHz version) will no longer flicker.
      • FM radio will not sleep when screen is off.
        • Kill key combo changed to VolDown+Back+Menu (note: WinMo keymapping) to avoid VolDown+Lock that also rebooted previously.
          • Performance will not drop after sleep.
            • 3MB less memory for some builds so that white squares can be eliminated.


2.0: 448dfeb
  • Rearranged memory layout giving either 13/16/32MB more free RAM memory at the expense of 3D (if you don't do any 3D app, 32MB is good for you while 13/16MB versions are safe as far as AB is concerned.)
    • Some builds are AHB overclocked from 133Mhz to 166Mhz while CPU underclocked from 800Mhz to 666Mhz - this combination (666/166) gives the best memory bandwidth ~25% more than the default (800/133) combo, with the side benefit of better IO and 2D/3D. Since the max voltage applied is even lower than for the original 800Mhz kernel, the risk should be minimal. Some benchmark figures here.
      • Added Z-RAM - which supersedes compcache/ramzswap, together with Snappy, an extremely fast compression algorithm that gives more RAM by compressing part of the memory and use it as a swap space (~2.6x compression ratio.) I have benchmarked it and it's even faster than swap partition in terms of read/write while still maintaining good interactivity and performance. Benchmark results here - all in MB/s.
        • 24bpp framebuffer (truecolor display) driver - the color gradient banding in the original kernel using 16bpp is very bad - like the dialer grey / blue FB logo page. Using this 24bpp framebuffer will make the display slightly slower but the screen is prettier than ever (even better than WinMo's 16bpp.) See some bad 16bpp sample here.


1.0: 5cd78c01 (directly copy from here for the purpose of consolidation)
  • Camera key crash fix when simultaneously pressing camera key with 2 other buttons
    • HZ=500 and voluntary preemption for improved interactivity
      • Widget scrolling speed increase
        • Alternate USB driver that is less prone to connection problems esp during boot up
          • Kexec support to load kernel within userspace and to bypass windows (still needs work)
            • Added ramzswap aka compcache module
              • Ram console to log kernel messages that survive reboots
                • Hardware watchdog to reset in case of kernel crash
                  • Key combos to hard reboot (lock + volup + camera) that save the time to pull out battery
                    • Turned on some compiler optimization
                      • Misc fixes to oops, deadlock, leaks, gpio, ...
                        • Bonus1: Fix calling waiting and call conferencing here

Instructions

These are the brief, general, and grossly simplified steps:
  • Pick your poision - choose a flavor that suit your taste.
    • Backup your original stuff and files that will be replaced in later steps
      • Download and unpack the corresponding zImage to the same directory where you would start haret.exe.
        • Cleanup the existing /modules/ directory in your root filesystem, either by deleting all files inside or by renaming the old name and creating a new one.
          • Download and unpack the corresponding kernel modules (kmod) and unpack the files to the /modules/ directory in your root filesystem.

            • Observe any build specifc info in their respective post.

            [*]Follow the below special instructions if applicable to your build.

            [*]Start your OS, and profit.

            Special Instructions for Kexec (4.0 or above)

            [*]Kexec is a linux kernel mechanism that allows you to load and execute another kernel while the original one is still running. In other words, you can reboot your current linux session without having to go back to the Samsung bootloader or the WinMo layer altogether. It saves time, ease kernel development work, and can also trick others into believing your phone has a built-in or NAND-flashed Android -- only if you never shut it down and do a full restart.

            [*]To enable Kexec, follow these steps:

[*]Backup to offline storage every file that you are going to change or replace in the following steps.

[*]Insert the following line into your /init.rc: "setprop haret.kernel /sdcard/zImage" - adapt it accordingly if you zImage is located elsewhere. EDIT: The new line must be placed BEFORE the "class_start default" line.

[*]Download and extract kexec from here, framework.jar and libc.so from here

[*]Drop kexec it to /system/xbin of your phone.

[*]On a terminal, adb, or from an appropriate app, do a "chown 0:1000 /system/xbin/kexec"

[*]In the same session do a further command: "chmod 4554 /system/xbin/kexec"

[*]Drop and replace libc.so in /system/lib - WARNING: copy the file and overwrite the original in one go (do not delete or rename the original first) or otherwise your android might crash immediately and won't boot anymore.

[*]Reboot if necessary.

[*]Drop and replace framework.jar in /system/framework - same warning above applies.

[*]Clear dalvik cache - perhaps you might get lucky that it might be auto cleared during reboot due to dependency checking, so you might want to try rebooting first.

[*]Get yourself a cup of coffee - it will take some time to re-generate the caches - even longer than your first boot after new installation!

[*]Optional: add "panic=5" in your list of startup.txt cmdline parameters so that it recover from boot time kernel faults automatically. Reboot afterwards to activate it. EDIT: Copied from below to a more prominent place here.

[*]If it does not work, check Troubleshooting Kexec Installation below. EDIT: New!

[*]From now on, when you choose reboot (REMEMBER to unplug from USB first), it will recycle your phone immediately to the "Android on Omnia II Loading" screen after some shutting down business. If it fails somehow, you still get normal reboot. And if you choose Recovery reboot, you will force normal reboot, probably because you are missing WinMo :-)

[*]For those who don't want to mess with system files like libc.so or framework.jar (but you really should - see why below) or just want to test it first, adapt and run the following script as root instead: EDIT: The quotation marks are extremely tricky to differentiate and to type - you may want to download a script here instead.

[*]


#!/system/bin/sh

kexec --command-line="`cat /proc/cmdline`" -l "`getprop haret.kernel`"

sync

kexec -e

    • [*]Bugs to be hunted down: kexec'ing a new kernel while USB is connected is a definite no-no. It triggers some hidden kernel bugs that won't normally show up, and would cause the kernel to panic at the initial stage of hardware initialization. I recommend adding "
panic=5" in your startup.txt cmdline parameter so that it will recover and reboot automatically. Also avoid kexec'ing a new kernel that has different cpu / ahb frequencies - though it will boot, the max freq might be capped somehow and I am still looking into it.
    • [*]The
framework.jar incorporates my previous fix for calling waiting, together with necessary code that calls the kexec binary when shutting down. The libc.so contains a fix that externally called programs, especially called from inside Android apps, would not get stuck in the middle and not starting. This also solves the problem of apps such as Titanium Backup being stalled in the middle of a long running backup job. No-frills. But then, if you don't use Kexec, you can skip all these files together, the kernel itself runs fine without them (of course with the obvious exception of the corresponding modules.)
    • [*]Troubleshooting Kexec Installation - if it reboot to WinMo:
  • [*]You can verify by manually running a reboot script above. If it does not work and just spits out error messages, then recheck steps 1 - 6. [*]If it does work via manual script but not in Android UI, check steps 9 - 11. [*]If the Android UI displays rebooting but is stuck there forever without actual reboot, check steps 7 - 8. [*]If the manual script / Android UI is rebooting, but abruptly sends you back to the Samsung bootloader (and then inevitably WinMo)
after a very brief display of the grey Android on Omnia II splash screen, disconnect your USB cable before performing the reboot ops.
    • [*]A small development note to self and those interested, the kexec binary is compiled straight from
source using: Special Instructions for Lowering Default Minimum Frequency for AHB166 Builds (4.0 or above)
    • [*]

env CC=arm-linux-gnueabi-gcc TARGET_CC=arm-linux-gnueabi-gcc LDFLAGS="-static -s" ./configure --host=arm

env CC=arm-linux-gnueabi-gcc TARGET_CC=arm-linux-gnueabi-gcc LDFLAGS="-static -s" make

    • [*]The AHB 166MHz builds offers the following CPU frequencies in MHz for scaling: 83.25, 166.5, 333, 666.
      • [*]In normal non-AHB 166MHz builds the lowest frequency offered is 66MHz but is almost never - the active minimum freq is 133MHz - and with very good reasons to: the lowest frequency is too low that there's screen flicker or banding or whatever you wish to call it, and audio with static sounds.
        • [*]The 4.0 AHB166 builds have tweaked memory QoS settings together with cpu governor settings, so it most cases it won't have the above problems even running in 83.25MHz and under normal load. However, to give users the best experience, I've decided to make 166.5 the default just like what the original kernel did.
          • [*]But if you want the absolute minimum to save battery juice, you can do either:
            • [*]Method 1: use apps like SetCPU or Method 2: add the following line to /loadmod after all the insmod statements:
Special Instructions for Hold Key Wakeup (3.0 or above)
    • [*]

echo 83250 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

    • [*]Don't bother to try init.rc, it won't work.
    • [*]Backup and edit your /usr/keylayout/s3c-keypad.kl file like this:
      • [*]

key 158   BACK

key 217   HOME

key 116   POWER		WAKE_DROPPED

key 231   CALL				

key 102   MENU				

key 115   VOLUME_UP	WAKE

key 114   VOLUME_DOWN   WAKE

key 26	  ENDCALL			

    • [*]Your may still want your end call key to power up the screen - add a WAKE_DROPPED after ENDCALL.
Special Instructions for Big Memory (2.0 or above)
    • [*]The CALL and menu keys can also be set up to wake phone as well. Good for those who has broken END or hold keys.
    • [*]Edit startup.txt and remove the vmalloc=256M from the CMDLINE line so that it should read something similar to:
      • [*]
set CMDLINE "rootdelay=2 root=/dev/mmcblk0p2 init=/init console=tty0,115200"
    • [*]
Don't copy it blindly - only remove the vmalloc, your line may be different from mine! Special Instructions for Z-RAM (2.0 or above)
    • [*]Reboot and you will see more free memory added to system.
    • [*]Create a zram enabling script, say /zr like this:
EDIT: updated to eliminate harmless error messages
    • [*]

#SIZE=33554432

#SIZE=67108864

#SIZE=100663296

SIZE=134217728

MOD="csnappy_compress.ko csnappy_decompress.ko zram.ko"

SYSFS=/sys/block/zram0

DEV=/dev/block/zram0


swapoff -a

[ -f $DEV ] && swapoff $DEV

[ -d $DEV ] && echo 1 > $SYSFS/reset

for i in $MOD; do

	   insmod /modules/$i

done


[ -f $SYSFS/compressor ] echo 1 > $SYSFS/compressor

echo $SIZE > $SYSFS/disksize

mkswap $DEV

swapon $DEV


echo 2560 > /sys/module/lowmemorykiller/parameters/fudgeswap

    • [*]Tune the parameters such as SIZE and fudgeswap as wish - default is somewhat extreme but does demonstrate how your aging phone can do multitasking - it can bring you an extra 100MB of memory using around 30-40MB of real one.
      • [*]You may also tune the other mm parameters - my set of stress testing params are as follows:
        • [*]

/proc/sys/vm/dirty_ratio 22

/proc/sys/vm/swappiness 60

/proc/sys/vm/vfs_cache_pressure 50

/sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15

/sys/module/lowmemorykiller/parameters/minfree 1536,2048,1536,5120,5632,6144

    • [*]Do a chmod +x /zr via terminal to make the script executable.
      • [*]Try it by running it either via an ADB shell, terminal, or scripting app such as SL4A - it should disable the original swap partition and added itself to the swap space. Note the difference in swap total when running the free command.
        • [*]If it's successful, you can hook the script up as a shortcut on your home screen via SL4A, or you can also do a init.rc service like this to make it start automatically when your OS boots:
          • [*]

service zram /bin/bash /zr

	user root

	# disabled

	oneshot

Edited by ipaq3870
5

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

Caveats

  • Some have problem getting phone service in its first boot - try 2.0 builds to see if it works. It never occurred to me - so if the new ones still do not work, post a dmesg output. For instructions, follow this. EDIT: no longer happen since 2.0.
    • Boot animation showing white squares - the animated images of the current boot animation set is too big. When freeing the last bit of memory, some 3D memory was sacrificed, and thus the white squares. The workaround is to use a smaller version of boot animation. Some good ones can be found here. Just remember not to download the MDPI version for which the logo would appear smaller in your screen.
      • 3D apps might show white squares or white background depending on which memory versions you are using. Choose a smaller memory version if that's the case.
        • Static sound during music play / screen flickering in low frequency. This is mostly caused by full kernel preemption. Workaround by setting a higher minimum frequency for your frequency scaling governor. For a detailed discussion and howto see this. EDIT: no longer happen since 4.0.
          • It was not too possible to multitask while keeping too many apps residing in memory. With this kernel, you can do serious multitasking. That said, when you have too many apps in memory, it will sometimes trigger Android bugs that cause it to be restarted (not the phone itself). If you find your phone not responding, wait for 1 minute as it is probably reloading itself before pressing the kill key combo or pulling out the battery.
            • Plugging in the USB while booting up may cause the system to hang at the logo splash screen (before the boot animation). I believe I have fixed some USB boot up bugs, but one related to the voltage regulator still evades me.
              • When using a CPU underclocked version, the vibrator is less powerful. EDIT: vibrator hotfix for 4.0 is here.

                Development Issues
                • kexec is in the kernel, but it boots only 50% of the times or less, probably only on 800Mhz/133Mhz non-OC'ed kernels. I attach the kexec executable in case someone might want to have a look at it. EDIT: almost 100% working since 4.0.

                  Tips

                  • For normal use, I'd suggest this lowmemkiller value, which would kill tasks more often but help to prevent the condition that too many in memory apps that could trigger Android bugs and reload the whole OS. This way, you don't have to restart your phone every day.
                    • 
                      write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,1536,4096,14336,18432
                      
                      
                      • OS animation is pretty but it could slow down your phone. Try Settings->SpicagenMod Settings->Interface->[Window|Transition] animations: Fast
                        • The same goes for LauncherPro: Settings->Launcher Settings->Advanced Settings->[App Drawer|Screen Previews]->Opening Speed: 7
                          • Also, if you are using LauncherPro, the 3D drawers is actually much smoother than the 2D one: Settings->Launcher Settings->Advanced Settings: Use 3D drawer
                            • This is perhaps the most important one: don't use task killers - it's at best wasting time if not slowing it even further. Killed process can restart automatically after few seconds. Use Autostarts instead: you can stop anything from starting in the first place. Stop those which starts when the phone during boot, after boot, change in network connection status, change in background data setting, power plug in/disconnected, media inserted/new picture, app installed/removed, so on and so forth. Of course you keep what you need - don't just close your eyes and disable everything. My phone is completely usable immediately after it displays the home screen. I used to wait for two minutes or three before it could even start making a phone call.
                              • Not strictly for my kernel - but this piece might be useful to someone who want to understand and troubleshoot wifi issues.
                              • I have written a log multiplexer script that enable anyone to collect debug logs very easily, and it can be downloaded here.
                • Troubleshooting
                  • [*]Set up and use the app kill key when an app appears to have hanged: Seetings->Applications->Development->Stop app via long-press.
                    • [*]If the phone still seems hanged, wait for 30 seconds to 1 minute to see if Android is reloading itself. If it's the case, then you'd probably hit an Android bug. A logcat would supposedly help.
                      • [*]If it doesn't reload automatically even after waiting, use the kill key combo to restart phone: press the power button a few times, and then press VolDown+Back+Menu (was Hold+VolUp+Camera before 3.0). It will hard restart your phone. After restart, get /proc/last_kmsg which is the kernel message log of the crashed session to see what went wrong.
                        • [*]For sleep related kernel problems, you may need to add "no_console_suspend" to startup cmdline for a more complete kernel log.
                          • [*]If it doesn't work, pull out the battery is the last resort, and it's still worth trying to see if you can get a last_kmsg.
                            • [*]Autoreboot the phone in case of kernel panic is also a good idea for a fast recovery. Add something like this in your init.rc below, and/or add a panic=5 to your kernel startup command line.
                                • [*]

write /proc/sys/kernel/panic_on_oops 1						

write /proc/sys/kernel/panic 5

    • [*]Hardware watchdog is enabled in the kernel - you can use this to auto-restart a hanged phone cause by kernel failures (but not sleep related problems after the phone went to SLEEP mode.) Add the following snippet to init.rc and unpack the attached file in /system/xbin/ and chmod +x /system/xbin/watchdog_test
EDIT: the line "oneshot" should be removed to auto-restart the watchdog if case of it being killed.
    • [*]

service watchdog /system/xbin/watchdog_test

	user root											  

    • [*]
EDIT: and this line too before the insmod /modules/vibrator.ko
    • [*]

insmod /modules/s3c2410_wdt.ko

Source

[*]As always, located at github.com/ipaq3870.

[*]Source is always sooner and fresher than binary build.

[*]Credits go to the original developers as well as those mentioned in the commitlog.

watchdog.zip

kexec.zip

Edited by ipaq3870
2

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

2.0 (superseded)

Kernel modules only - applicable to all zImage

d8a036f-kmod

d8a036f-kmod.zip

Edited by ipaq3870
1

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

2.0 Vanilla build (no OC) (superseded)

CPU: 800Mhz / AHB: 133Mhz / 144MB free memory / 16bpp display

d8a036f-692-800mhz-133mhz-144mb-16bpp

d8a036f-692-800mhz-133mhz-144mb-16bpp.zip

Edited by ipaq3870
1

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

2.0 AHB Overclocked & CPU Underclocked & 24bpp Framebuffer (superseded)

CPU: 667Mhz / AHB: 166Mhz / 144MB free memory / 24bpp display

d8a036f-693-667mhz-166mhz-144mb-24bpp

See vanilla build info for instructions on enabling more free memory, and z-ram.

d8a036f-693-667mhz-166mhz-144mb-24bpp.zip

Edited by ipaq3870
1

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

2.0 Even more memory (superseded)

CPU: 667Mhz / AHB: 166Mhz (no OC) / 160MB free memory / 24bpp display

d8a036f-694-667mhz-166mhz-160mb-24bpp

See vanilla build info for instructions on enabling more free memory, and z-ram.

d8a036f-694-667mhz-166mhz-160mb-24bpp.zip

Edited by ipaq3870
1

Share this post


Link to post
Share on other sites

Posted · Report post

Hi ipaq. No service and wifi issue are fixed ?

0

Share this post


Link to post
Share on other sites

Posted · Report post

I installed 800 Mhz 16bpp. Gsm is OK. But while activating wifi shows "Error".

0

Share this post


Link to post
Share on other sites

Posted · Report post

should we comment /insmod dpram.ko/ in init.rc in order to boot successfully?

0

Share this post


Link to post
Share on other sites

Posted · Report post

Hi ipaq. No service and wifi issue are fixed ?

I reverted back to the original wifi driver with a very slight change - so I believe it should perform as good as the original one. For no phone service, it never really occurred to me - so it's really difficult for me to debug it without anyone sending a dmesg output. Anyway, I did made some timing changes in the new build, so it is a good idea for you to test if it works for you.

I installed 800 Mhz 16bpp. Gsm is OK. But while activating wifi shows "Error".

Have you updated the kernel modules as well? The zImage and the modules go in pair - you need to use the new modules with the new kernel.

should we comment /insmod dpram.ko/ in init.rc in order to boot successfully?

Ahhh... no. What you should comment out is param.ko, NOT dpram.ko. dpram is the onedram driver for your OS to communicate with the phone modem via IPC. Commenting the wrong one will give you no phone service.

1

Share this post


Link to post
Share on other sites

Posted · Report post

Ahh bummer! Right when the development started getting track, my phone is dead :(

ipaq, you are doing a great job! If my phone was working, I would test them all out ^_^

0

Share this post


Link to post
Share on other sites

Posted · Report post

what part of phone you use in modules? as far as I remember constantly happens to the phone to lose signal when using the WM phone part

0

Share this post


Link to post
Share on other sites

Posted · Report post

which shouid download?why are there so many downloads link?which one is?

0

Share this post


Link to post
Share on other sites

Posted · Report post

i got signal

but my wifi is still error!!

0

Share this post


Link to post
Share on other sites

Posted · Report post

I installed 800 Mhz 16bpp. Gsm is OK. But while activating wifi shows "Error".

i got signal

but my wifi is still error!!

Hmmm... Can you try the attached zImage together with kmod? It's a vanilla version with commit 7a226a0890f1ff7f15626ab1e6a70dcde940830b reverted (I think I have missed this one in the release.)

d8a036f-dirty.zip

0

Share this post


Link to post
Share on other sites

Posted · Report post

Ahh bummer! Right when the development started getting track, my phone is dead :(

Wish you luck trying to resurrect it!

what part of phone you use in modules? as far as I remember constantly happens to the phone to lose signal when using the WM phone part

I guess you are talking about the modem firmware part. To avoid confusion, I just post my exact /loadmod file for you to see if there's anything different than yours.


#!/bin/bash

rm hotplug.txt

if [ -f /storage/cm_o2_update.tar.gz ];

then

# tar xzvf /storage/cm_o2_update.tar.gz

 cat /storage/cm_o2_update.tar.gz | tar xzvf -

 rm /storage/cm_o2_update.tar.gz

fi

if [ -f /storage/cm_o2_update.sh ];

then

 chmod +x /storage/cm_o2_update.sh

 /storage/cm_o2_update.sh > /storage/cm_o2_update.txt

 rm /storage/cm_o2_update.sh

fi

ln -s /dev/bma150 /dev/kr3dm

/efs/load_ime.sh

insmod /modules/dpram.ko

insmod /modules/multipdp.ko

insmod /modules/s3c_camera.ko

insmod /modules/Si4709_driver.ko

chmod +rw /dev/*

ln -s /sd/Phone_I6500UZCJD1.bin /dev/bml9

#ln -s /sd/Phone_I8000XXJJ1.bin /dev/bml9


efsd &

start akmd2

swapon -a


#mount My Storage

fat32ms=`parted /dev/block/mmcblk1 print|grep fat32|awk '{print $1}'`

mount -t vfat /dev/block/mmcblk1p$fat32ms /storage

exit

<<< the rest snipped >>

which shouid download?why are there so many downloads link?which one is?

You need to download 2 files from the first post (containing 4 links in the 2.0 section). The first one you'll need is the kernel modules, the second is the kernel zImage for which you have a choice from the remaining 3 links. Click each of the links in the first post to see what kernel configuration you want, and download only one of them.

0

Share this post


Link to post
Share on other sites

Posted · Report post

Ahhh... no. What you should comment out is param.ko, NOT dpram.ko. dpram is the onedram driver for your OS to communicate with the phone modem via IPC. Commenting the wrong one will give you no phone service.

oh it's my mistake, i wrote it as i remembered, thank you

0

Share this post


Link to post
Share on other sites

Posted · Report post

which shouid download?why are there so many downloads link?which one is?

you should download modules:

d8a036f-kmod.zip

and any kernel (zImage) you choose.

0

Share this post


Link to post
Share on other sites

Posted · Report post

hey ipaq, about the (zram) script, can i put it in (sh file) and put it an (system/etc/init.d) folder???

0

Share this post


Link to post
Share on other sites

Posted · Report post

Hmmm... Can you try the attached zImage together with kmod? It's a vanilla version with commit 7a226a0890f1ff7f15626ab1e6a70dcde940830b reverted (I think I have missed this one in the release.)

with "dirty pack" got signal and no

wifii error!!

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

hey ipaq, about the (zram) script, can i put it in (sh file) and put it an (system/etc/init.d) folder???

I read some of you got some mods to put in that init.d directory, but I am quite sure the default installation has no such facilities to run init.d scripts. If you really need to do it, you'll need another version of busybox that supports the run-parts applet. Still you have to modify your init.rc to add the run-parts snippet. And IIRC, the stuff inside the init.d directory from the default installation can wreck havoc to your installation. So be careful when you plan touch that.

EDIT: Indeed there's run-part that comes with the default installation - but you still have to mod the init.rc scripts.

with "dirty pack" got signal and no

wifii error!!

Great. That means I have to read a good git book on how to do diff properly, and then make a 2.1 build <_<

Edited by ipaq3870
0

Share this post


Link to post
Share on other sites

Posted · Report post

Hmmm... Can you try the attached zImage together with kmod? It's a vanilla version with commit 7a226a0890f1ff7f15626ab1e6a70dcde940830b reverted (I think I have missed this one in the release.)

oh

is this 667 mhz + 166mhz and 24 bit ?

by the way

i found the phone getting some strips on the screen

is it normal ? i tried the 667 mhz + 166mhz and 24 bit

0

Share this post


Link to post
Share on other sites

Posted · Report post

with the dirty one

my wifi is still not working =[

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

I'm using d8a036f-694-667mhz-166mhz-160mb-24bpp version.

Phone and WIFI is working fine.

My problem is with "24bpp screen", it also happend when i tried to implement it in devs kernel. It's hard to explain, screen gets weird, like a television with interference.

Running zram script showed some errors:

cant create /sys/block/zram0/compressor: nonexistent directory
cant create /sys/block/zram0/reset: nonexistent directory

But it's working, because free command was showing swap off and after run the script it's showing swap working.

System seems stable, fast even with this cpu downgrade. But i'll stop use it because of screem problem. doesn't seems good.

NO, it's not fast as a Galaxy S. Isn't much faster than the Default release either, but there's a lot of free ram, which help the system being more responsive.

Also, if the system is running with only 667mhz, what do you think is making it faster? The Zram?

Edited by rom_omnia2
1

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

I didn't noticied speed difference with ZRAM. When you are using a lot of applications (Ebuddy, Opera Mini, SoundCloud, etc) it get slow just as regular swap. Took a while to switch between applications. Also, i'm using GO Launcher because of all widgets (it's all free) which make it even slower. But i checked with CPUTunner and it's running with 667mhz and isn't slower than 800mhz, which is good, at least i didn't noticied it.

Also, have someone noticied the "24bpp framebuffer (truecolor display) driver"? I can't see the difference, maybe isn't working here, as i said above i've that interference problem.

Edited by rom_omnia2
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

MoDaCo is part of the MoDaCo.network, © Paul O'Brien 2002-2015. MoDaCo uses IntelliTxt technology.