[HELP] msm_camera problem - G1 Android Development

Hi,
i'm trying to build my own kernel for the G1 to forward port the msm_camera working in cm-4.2.15.1 kernel 2.6.29.6 to a 2.6.33.2 kernel. So far I've got everything working:
wifi, bt etc. But after several days and attempts I'm not able to get the camera
working in the 2.6.29.6 kernel so no forward porting is possible. I've tried all possible cm-kernel branches and android-git branches,
so I'm starting to suspect that I'm overlooking something stupid and obvious.
I've got the best results so far by porting the msm_camera form android-2.6.29-donut kernel to the cm-* sources in the sense that the camera and camcorder apps start and seem to work but no previews are displayed and pictures or videos could be taken.
Any hints in the right direction are appreciated as this is driving me mad.
Attached there are dmesg and logcat.
Method used is:
1) download the sources (e.g. form cyanogen github)
2) take config.gz form working 4.2.15.1 rom
3) build the kernel
4) generate a new boot image
5) boot the new boot image on the the fly:
fastboot boot new_boot.img
6) camera does not work [email protected]@@
Thanks in advance for your help.

You haven't told us if this is eclair or donut, I suspect eclair as there are some hoops to jump through to get the camera working? Btw camcorder is a different story entirely and doesn't work at all on 2.x
Before anyone goes into one explaining it, are you working on android 1.6 or 2.x?

I'm working on "donut with some eclair bits" cyanogenmod 4.2.15.1.
At this point I've tried all source branches form cyanogen's git:
android-2.6.29-donut
android-2.6.29-eclair
android-2.6.33-msm
and from android's git:
android-msm-2.6.29
android-msm-2.6.29-donut
android-msm-2.6.32
and various permutations of them 8-/
The result is basically the same:
1) the camera app doesn't start
2) the camera app starts but no preview is shown and no photos
can be taken.

You're using CM sources, have you also got the binaries from HTC for Android 1.6 on the G1?
signed-google_ion-ota-14721.zip
from here:
http://developer.htc.com/google-io-device.html
Reference here (the bit about unzip-files.sh): http://source.android.com/documentation/building-for-dream
Shoot me down if I am getting this completely wrong.
Here is the post that helped me get the camera working on eclair, I don't think its relevant to you but may help.
http://forum.xda-developers.com/showthread.php?t=624993&highlight=pershoot

Eureka!!! Got it working!!! thanks st0kes for the hints.
Just to share the info with others, the correct source revision
to get the camera working on cyanogemod 4.2.15.1 is the one tagged
as android-msm-26.6.29-donut:
http://android.git.kernel.org/?p=ke...089eb4931cbf63877963ecb09e6330c5888cdb;sf=tgz
Now happy forward and backporting time starts
More to come in the next days.....

Related

Need some rom dev help with 32B rom

Releasing this rom in the Sapphire / myTouch3G section as it is not compatible with the Dream (I think?)
http://forum.xda-developers.com/showthread.php?t=624411 <-- I'll be keeping this thread updated
Or see post #4 below
----------------------------------------------------------------
I've been crafting a 32B rom for a few weeks based on the AOSP Eclair branch since the 2.1 code release. So far I've managed to build the source, build a kernel from Cyanogen's source (thanks cm), and get the google apps working from the Milestone dump Maxisma posted a few weeks back (thanks Maxisma).
It works pretty well but now I'm stuck ...
1. How do I get bluetooth working? It won't turn on .. if I search the forum it just brings up a million posts about bluetooth not working on hero roms.
2. My wlan starts but I can't obtain an IP address via dhcp ... which is a bit strange ... Not sure if this is a rom problem though or a local router problem. I compiled the wlan driver after compiling the kernel and copied the wlan.ko into by lib directory.
3. Last thing is ncommander's camera driver. I've tried getting his source but I am a git newbie and have not been able to merge his code into my local Eclair repo. How do I do this? Or if it's easier can I just grab the compiled binaries from a working Eclair rom (I'm not sure which files these would be).
Thanks for any help or pointers ...
just make a bata, and add blutooth in another update, no one really uses blutooth anywase.
i know absolutely nothing about develping roms, but im just trying to provide as much help as posible.
Thanks I appreciate the reply.
Bluetooth is important to me though, I use it every day to listen to podcasts with Doggcatcher.
I think I'll go with your idea and release it as beta, just one big issue to sort first. It is rooted (ro.secure=0 in the right places) and I can get root when I am in "adb shell" but I can't get root using the superuser.apk and included 'su' binary. adb logcat gives me these errors:
Code:
D/dalvikvm( 1028): +++ not scanning '/system/lib/libwebcore.so' for 'makeExecutable' (wrong CL)
D/dalvikvm( 1028): +++ not scanning '/system/lib/libmedia_jni.so' for 'makeExecutable' (wrong CL)
D/dalvikvm( 1028): +++ not scanning '/system/lib/libexif.so' for 'makeExecutable' (wrong CL)
[ROM] "Android 2.1 for 32B" - No A2SD - Small and light
Here's an Eclair rom I built specially for the 32B Magic / myTouch3G. It is built from the Android 2.1 source that was released a few weeks ago, and has a kernel built from Cyanogen's kernel sources for Eclair (sources here).
This rom does not support A2SD. I've always found it annoying that almost all 32B roms require the ext3 and swap partition on your SD card. The Magic does not need A2SD in my opinion ... and getting rid of A2SD and swap on sd cards eliminates the slowest link in the chain. With a bit more optimisation this could be a very fast rom.
Visually this is almost completely stock, if you like nice themes and graphics for your roms I would suggest MetaMorph, and browsing the Android theme section.
This is a completely new rom to XDA, not anyone elses work rehashed.
Complete with:
- Root privilage/superuser
- Google Apps
- Big APN list
- Busybox
- Android Market working
- Support for wired/wireless tether (get the APK from here -- I'll include it with later releases)
- Support for swap partitions (swapper/droidswap ...)
This is a stable rom, everything works (apart from the snag list below) and there are no force closes.
Snag list - what doesn't work
- On first boot, make sure you select "com.android.provision.DefaultActivity". I'm working on a fix for this.
- Camera not working. Plan on putting in Ncommander's camera driver for next release.
- Bluetooth not working. <-- I need help with this. Can any devs offer advice?
- Camcorder (doesn't work on any Eclair roms)
- Not compatible for G1/Dream ... you probably wouldn't want it anyway without A2SD
Requirements
- Engineering SPL
- WIPE before installing this rom
Disclaimer
I don't really think this needs saying, but I am not responsible if you brick your device. Make sure you know what you are doing! Read >> Sapphire hacking wiki <<
Warning: HTC Magic 32b/MyTouch3G only. Not designed for G1
Download - st0kes-v1.1.zip
Thanks: bcrook for getting my build off the ground, cyanogen for cm-kernel sources, radix999, dwang for inspiration
if its for mytouch only, why is it in the G1 section...
Because originally when I posted I was just asking for some dev advice, and I figured I would get more page views in here than in Sapphire development.
Anyway like I said I'll be keeping my thread in Sapphire dev updated rather than this one.

[32ANR][PORT] Multiple ROMs : sanpei 2.6.32.9 Repack Cooks Test and Info

Edit: wasn't even aware of the ROM kitchen before this.
Untested! I don't plan to provide support for these ports!
The reason I am publishing is from my recent trials of compiling my own kernel for new radio 32A Magic. I have learned a lot about what sanpei's kernel consists of and the similarities between our device and the GSM Hero. In particular, the only difference between our ROMs seems to be mainly just the kernel. Everything else is almost identical. As such I want the community to try to use a tested NR kernel, sanpei's 2.6.32.9, and apply it to some different ROMs and report back with results.
We don't need multiple threads of the same kernel on different ROMs. So I'm trying to consolidate some information here.
I can test it on my cousins phone probably this weekend as well. Hoping for some preliminary results till then.
sanpei2.6.32.9_villain_port
This is a repack of sanpei's kernel repacked via ordinary boot.img method, with init.hero.rc copied to init.sapphire.rc
Flash this after you flash Villain ROM:
http://www.villainrom.co.uk/viewtopic.php?f=44&t=680#p11789
2.1 Sense UI ROM
sanpei2.6.32.9_anykernel.zip
This is a repack of sanpei's kernel repacked via Koush Anykernel
The idea is that you can flash most ROMs from old radio using this port with some caveats.
READ THIS BEFORE YOU FLASH
You cannot use this port if:
1) You are NOT on a 6.35 series radio. This rules out any 32Bs or myTouch 1.2
2) the ROM uses squashfs anywhere (open up the update.zip of the ROM and look at /system/modules/lib and /system/
3) modules have special directory structure under /system/modules/lib (such as Cyanongenmod, which has modules under 2.6.xx.x-cyanogenmod instead of just 2.6.xx.x)
4) you use an ext4 apps2sd partition (it will simply not recognize it)
Explanations:
If the ROM uses squashfs, this kernel does not support it and you will need to fix those problems yourself.
There may be other issues involved when you use this kernel. It is recommended that you stick to the one that came with the ROM.
This rules out any Cyanogenmod because of the use of squashfs.
If missing init.sapphire.rc, copy the Hero one (if flashing a Hero ROM) using:
adb shell cp init.hero.rc init.sapphire.rc
Refer to the ROM Bible for reference:
http://forum.xda-developers.com/showthread.php?t=682243
Any new or old ROMs that already use new radio
This is just the kernel carz12 posted repacked:
http://forum.xda-developers.com/showthread.php?t=689652
Credits:
cyanogen for everything
Koush anykernel
sanpei for his version of AOSP kernel with integrated new radio support
And a lot more I might be missing
FYI and FWIW a few weeks back there were a lot of 6.35 roms that were cooked and posted in this forum. They were all using the 2.6.32.9 kernel that Sanpei ported. That is, the boot.img-kernel was the same for all. The ramdisk was changed as you have done and the two were re-packed into the boot.img.
I have successfully applied this approach for maybe 3 or 4 different 1.6 roms and maybe 10 different 2.1 roms.
dsixda's ROM Kitchen makes executing these steps a piece of cake
http://forum.xda-developers.com/showthread.php?t=633246
Then you just replace the wlan.ko module and GPS lib file for wifi and GPS compatibility.
You're probably aware of these details but I thought they might help others.
Tried to flash VillainROM 6.1, but during the flash it aborts saying "Failure at line 2: assert getprop("ro.product.device") == "hero"
How do I solve this?
pellen said:
Tried to flash VillainROM 6.1, but during the flash it aborts saying "Failure at line 2: assert getprop("ro.product.device") == "hero"
How do I solve this?
Click to expand...
Click to collapse
Must have hero recovery not patched recovery by cursor
Ahh...thougt cursors tweaked recovery didn't differ that much. *change recovery*
I am pretty sure the update script can also be modified. The assert statement can be removed and the rom should load fine on the Hero, Cursor and Amon Ra recoveries.
Ok, so now I've flashed VillainROM 6.1 with the sanpei2.6.32.9_villain_port and I can't say it's working especially well
First of all it doesn't ask me to enter the SIM card PIN when i boot, so the mobile connection is dead. Wifi and bluetooth is dead too. The camera flicker, and then fades to black, taking a pic resulted in reboot.
giant_rider said:
FYI and FWIW a few weeks back there were a lot of 6.35 roms that were cooked and posted in this forum. They were all using the 2.6.32.9 kernel that Sanpei ported. That is, the boot.img-kernel was the same for all. The ramdisk was changed as you have done and the two were re-packed into the boot.img.
I have successfully applied this approach for maybe 3 or 4 different 1.6 roms and maybe 10 different 2.1 roms.
dsixda's ROM Kitchen makes executing these steps a piece of cake
http://forum.xda-developers.com/showthread.php?t=633246
Then you just replace the wlan.ko module and GPS lib file for wifi and GPS compatibility.
You're probably aware of these details but I thought they might help others.
Click to expand...
Click to collapse
I completely missed that post actually . Plus it's now closed.
But I wanted to see specifically how well Hero ROMs translate over to Magic ROMs because of what I've been reading about the similar kernels. The thing is that while I know to copy over init.sapphire.rc to resolve some conflicts, I'm not sure what else is involved in porting a ROM right now to get it to work.
I'm new to porting ROMs.
Maybe mods ought to close this one then?
With Eris ports you will be missing SIM card features.
So with 2.6.32.9 bluetooth and wifi break? I was actually expecting bluetooth to work. What works?
I guess I'll do some reading again. But I haven't seen that information posted regarding how to resolve some of the issues of porting ROMs.
I was looking to figure out some of the incompatibility of the kernel I was compiling so I thought this might help
If the Hero ROMs worked well enough I had the idea of modifying the AnyKernel script to add cpio to recovery by updating busybox so that ROMs can be unpacked, modified and repacked all in recovery. It means unpacking the ramdisk gunzip, modifying it and repacking it, essentially adding one script to AnyKernel. But I guess they don't work that well so
xaueious said:
I'm new to porting ROMs......
I guess I'll do some reading again. But I haven't seen that information posted regarding how to resolve some of the issues of porting ROMs.
Click to expand...
Click to collapse
A lot of the issues when porting are not related to the kernel but to the modules and lib files.
Try testing and hacking through some issues. For example, replace the wlan.ko file in the /system/lib/modules folder with one from a similar rom that is working on 32a same radio version. If you're porting Hero, then pull the wlan.ko from one of Capy's roms.
To get camera working, you'll need to replace the camera related libs in the in the /system/lib/ folder with ones from a similar rom that is working on 32a and so on.
Porting involves, at a minimum, replacing the boot.img-ramdisk and the files for stuff that is not compatible with the 32a hardware, radio version, etc.
Once you figure out these basics by experimenting with swapping out stuff with working pieces from a 32a compatible rom on the same radio version, you can then get into making updates to the files in the boot.img-ramdisk yourself, the update-script, the build.prop files, the init files in /system/etc/init.d, etc.
xaueious said:
Maybe mods ought to close this one then?
Click to expand...
Click to collapse
I think it's a good thread. Maybe some of the guys who have been porting roms will add their comments. I may be wrong but I don't there is a how to guide for porting.
anykernel is useful for a direct kernel port like cm5 to EABI1 on same rom scenarios, nice piece of coding by koush though, way many files to change, an update package would work on roms made for your device(proper assert) but most need the update script modified and at least wlan.ko changed.
testing now Flashing
how long does it take to boot?
Working:
USB
Music app (Sound ok)
Gallery 3D OK takes a while to work
Not Working:
Camara
Wifi
Bluetooth
GSM connection
Issues:
Very very long and slow boot alot of patient is required.
Slow Menu Scrolling
Freezes some times (have to take battery)
Reboots alone sometimes

Relationship between Android and kernel

Hi all,
Looking to build my first custom Rom and had some queries terminology-wise.
What is the relationship between the kernel and Google's android platform? For instance, is froyo tied to a specific kernel and is this in the source tree?
Second q: HTC release their kernel sources. Say I wanted to get a froyo build up for a device that currently only has eclair, would the procedure be to diff the HTC modifications against the vanilla version and then make the appropriate changes to froyo?
Third q: what makes a Rom specific to a device? Probably linked to first question...
Many thanks,
Martin
Sent from my HTC Wildfire using XDA App
The kernel is basically just a linux kernel with device specific drivers and such added. I've done a 'diff' between the Eris 2.6.29 kernel from HTC and the 'generic' 2.6.29 kernel from kernel.org. It's kind of neat to see the difference. I highly recommend you do that.
There are also device specific drivers in the file structure that the ROM needs in order to function.
What I've done is compile AOSP from source, compile the kernel from source, zip up the needed files/folders, signed the ROM, and then flashed it to test. If you look at Android Builder in my sig, you can figure out the difference between the Eris and your device. You'll have to change the kernel that gets downloaded, of course. And it really just gives you a basic ROM without the device specific drivers, so things will not work without figuring the rest out. Grab a stock ROM to get drivers, libs, etc. out of.
/system/usr/keychars & /system/usr/keylayout usually have the keyboard drivers, which are somewhat important.
Also in my sig is the SgtShultz ROM where I tried to make a usable ROM from as close to source as possible. You might get some ideas from there. I still haven't figured out how to get the audio to work. If I get that worked out, I'll actually start using the ROM daily and work out the rest!
Froyo seems to work with kernel versions 2.6.29+, btw.
Many thanks for this; it's given me a good set of places to start reading.
Just pulling down all the AOSP source as we speak, with the hopes of getting a basic build up in the near future
gnarlyc said:
What I've done is compile AOSP from source, compile the kernel from source, zip up the needed files/folders, signed the ROM, and then flashed it to test. If you look at Android Builder in my sig, you can figure out the difference between the Eris and your device. You'll have to change the kernel that gets downloaded, of course. And it really just gives you a basic ROM without the device specific drivers, so things will not work without figuring the rest out. Grab a stock ROM to get drivers, libs, etc. out of.
[...]
/system/usr/keychars & /system/usr/keylayout usually have the keyboard drivers, which are somewhat important.
[...]
Froyo seems to work with kernel versions 2.6.29+, btw.
Click to expand...
Click to collapse
A couple of questions on this front...
I can see, obviously, where to get the kernel source and needed drivers; I am, however, unclear as to where I should obtain AOSP drivers from (to go, for instance, in /devices/htc/buzz and/devices/htc/buzz-common). Can I extract these from my device? (or do I need to wait until they release Froyo and then extract them from a device running the newer build?) Where on the device should I be looking for this driver set?
Thanks again,
Martin
MartinEve said:
A couple of questions on this front...
I can see, obviously, where to get the kernel source and needed drivers; I am, however, unclear as to where I should obtain AOSP drivers from (to go, for instance, in /devices/htc/buzz and/devices/htc/buzz-common). Can I extract these from my device? (or do I need to wait until they release Froyo and then extract them from a device running the newer build?) Where on the device should I be looking for this driver set?
Thanks again,
Martin
Click to expand...
Click to collapse
For the most part, any Eclair drivers seem to work. At least that's what I have used for the Eris. 2.1 -> 2.2 isn't too big of a jump. I used drivers from a stock 2.1 ROM.
Look up vendor tree, vendor config, and 'extract-files.sh'. You'll see what people with other devices have done. I have yet to quite get the whole vendor tree thing worked out, but others have. You can just come up with a list of needed drivers to add to the 'extract-files.sh' script and just copy those files in manually. (That's what I have done.) This will get pretty close to making an AOSP build complete. However, it appears that actually using the vendor tree setup while compiling will get things 'right'. There appear to be some libs that will compile differently for different devices.
So, basically, if you compile AOSP without a vendor tree for your device, the build will be located in out/target/product/generic. (And, you can copy drivers in later while using the kitchen, but you might miss out on some AOSP stuff with device-specific changes.) If you use the vendor tree, it will be in /out/target/product/buzz and will contain the drivers that the 'extract-files.sh' script grabbed from your device along with custom compiled libs.
If you are able to get a working vendor tree for your device, it will be helpful to the entire community. They'll all be able to use it for their builds. I highly recommend doing that. Most groups use github or something similar to post the code.
I still have much to learn myself, and you are starting to reach my limit! Good stuff.
Hi,
Many thanks for your reply; to a degree, it's about knowing the terms to search for -- the extract-files.sh is a godsend for information that I would have otherwise missed.
Anyway, onwards to build a usable vendor tree
Best,
Martin

[HELP] AOSP Froyo + HTC 2.6.29 kernel = no touch screen?

OK, here is the latest update. Instead of using kernel extracted from Rogers stock ROM, I compiled HTC kernel source downloaded from developer.htc.com.
To make touch screen work, one has to update sapphire_defconfig. Only one configuration has to be changed -- that is, to make the following unset.
#CONFIG_TOUCHSCREEN_CONCATENATE_REPORT=y
Then, compile kernel as usual and touch screen works with AOSP Froyo.
Hopefully, the above information is useful. Wifi is fine. But, camera is not working.
==================================
Guys, help is needed here.
In the past two weeks, I tried to compile AOSP Froyo (branch 2.2_r1) with HTC kernel (2.6.29) extracted from Rogers stock ROM. The compilation went fine. Boot also went smoothly until it reaches the screen that requires users to enter PIN code. At the moment, I found that I CANNOT enter anything from screen. (touch screen is gone)
As far as I can tell from the android architecture, touch screen is something related to kernel, right? HTC kernel does support touch screen. So, I was lost???
I tried to read init.rc, init.sapphire.rc, and init.goldfish.rc, and system/etc/ files to see if I missed some configurations. But found nothing.
What should I do? Any help is appreciated.
the driver in the kernel .29 do not fit the android 2.2 you need a different kernel, i got touchscreen by using the .34 kernel from froyorider
sharpt71 said:
Guys, help is needed here.
In the past two weeks, I tried to compile AOSP Froyo (branch 2.2_r1) with HTC kernel (2.6.29) extracted from Rogers stock ROM. The compilation went fine. Boot also went smoothly until it reaches the screen that requires users to enter PIN code. At the moment, I found that I CANNOT enter anything from screen. (touch screen is gone)
As far as I can tell from the android architecture, touch screen is something related to kernel, right? HTC kernel does support touch screen. So, I was lost???
I tried to read init.rc, init.sapphire.rc, and init.goldfish.rc, and system/etc/ files to see if I missed some configurations. But found nothing.
What should I do? Any help is appreciated.
Click to expand...
Click to collapse
I bet that you have a MyTouch with a 3.5mm headphone jack huh?
If not then you need to include more information.
In regards to the 3.5mm headphone jack version (also known as Fender or 1.2) it has slightly different hardware drivers that require the patch made by Voxluna. Most developers include this in their roms by default however if you are using any other source then odds are that they won't include the patch thus creating your problem.
capychimp said:
the driver in the kernel .29 do not fit the android 2.2 you need a different kernel, i got touchscreen by using the .34 kernel from froyorider
Click to expand...
Click to collapse
Since HTC source code was just released, will you please point me to the right files/folders so that I can find out the reasons why .29 does NOT work with Froyo?
I had once compiled AOSP Froyo with HTC kernel .27 by following instructions on http://www.lingnu.com/en/howto/72-android-aosp-htc-32a.html. Although camera (and maybe other devices) did not work, touch screen worked fine. Due to this experience and the limited reading of android architecture, I thought I could simply replace the kernel without affecting other layers. Hmm, to use layers design, why didn't google keep APIs intact?
Binary100100 said:
I bet that you have a MyTouch with a 3.5mm headphone jack huh?
If not then you need to include more information.
Click to expand...
Click to collapse
Sorry for not making this clean in the first place. Mine is a 32A which is running Rogers stock rom with root (made by capychimp) + chinese support + htc_cime (cooked by myself).
Ciompilation involved roughly the follwings:
1. AOSP froyo branch 2.2_r1
2. Comppilation of Froyo by following http://xy0811.spaces.live.com/blog/cns!F8AECD2A067A6B17!1526.entry?wa=wsignin1.0&sa=474748515 (which is similar to dferreira's howto)
3. unziped capy's Rogers_21_capychimp.zip instead of signed-google_ion-ota-14721.zip.
4. extracted kernel and wlan.ko from the boot.img in Rogers_21_capychimp.zip
the source from htc is for sense roms, way different drivers. I have a perfect .34 kernel for froyo but no cam so far.
carz12 said:
the source from htc is for sense roms, way different drivers. I have a perfect .34 kernel for froyo but no cam so far.
Click to expand...
Click to collapse
Thanks for the info. I just updated the current status at the 1st post.
From what I did, I kind of wondering whether or not the not-working camera problem is related to "configurations" because camera works on 2.1. But, I am not a kernel guy and will not be one.
sharpt71 said:
Then, compile kernel as usual and touch screen works with AOSP Froyo.
Click to expand...
Click to collapse
A screenshot of software information is attached. Oh, sdcard cannot be mounted unless it has no ext/swap partitions.
nice on the touch screen, will come in handy thx will try it on my wildfire port

kernel development 1.2 mytouch

I'm trying to get a functional config for the 1.2 mytouch but I'm having trouble tracking down the exact source to the MT3G-Fender-1.2-2.6.35.12-10M-test4.zip kernel but it's proving rather tricky. I can't seem to determine what the source to this kernel is and where to pull it.
If anyone can point me in the correct direction i can start on some work.
I pulled some pre-packaged git repo from ezterry's github. ezterry-kernel-biff-testing-5fba47e
I pulled my config from the running kernel from the zip i mentioned above running on my phone.
I built the kernel produced from using that config and the wlan.ko module.
Using this guide : http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html
I just want to be sure the kernel source i'm starting out with doesn't need extra patches that weren't included in the github pull in order to get it to work on the 1.2.
thanks for any help.
I'm also looking at cyanogenmod's github and will probably build a kernel against that pull this week as well.
Still, would like to know what sets the kernel i mentioned above apart from just straight pulls of these repos. That's the only part really confusing me.
Hey I was wondering if you could make this kernel your building an OverClock kernel too. No one has built one for our MyTouchs 1.2 that is truly for this device.
The Max OC I've been able to pull of is 725 without the phone freezing and rebooting.
Idk just thought it would be a good idea for your kernel!
Sent from my Fender using XDA Premium App
overclocking stability is less about the kernel and more about your particular hardware. Some phones just by manufacturing luck can achieve faster clocks than stock to varying degrees. 710 is considered to be the average max i believe. Anything faster is in the far minority of units. People who hack the cpufreq table to get these higher clocks limit to what they consider safe to stop people from actually destroying their hardware (which is possible).
Though, these "oc kernels" should have their patches posted somewhere. It's difficult to track down where exactly these kernel zips are coming from and thus to find out what their source is. Legally they need to either be shipped with the source or shipped with files pointing to the source or have the source available from the same place the binary was downloaded from. thus far I'm just guessing as to what the actual source is to the kernel i'm currently using and hoping all the necessary changes and patches are committed to the github that I believe the kernel is ultimately based from.
cellsafemode said:
I'm trying to get a functional config for the 1.2 mytouch but I'm having trouble tracking down the exact source to the MT3G-Fender-1.2-2.6.35.12-10M-test4.zip kernel but it's proving rather tricky. I can't seem to determine what the source to this kernel is and where to pull it.
If anyone can point me in the correct direction i can start on some work.
Click to expand...
Click to collapse
Hi I built this kernel.. later versions have a SOURCES file with the url's to the source I used. I added that after I started seeing it posted outside of the rom thread I originally posted it to
This is a build off of Pershoots github source
https://github.com/pershoot/kernel-2635
including Ezterry's 10Meg patch to the 32a mem map (Fender/1.2 is 32a/b hi-bred)
https://github.com/ezterry/kernel-b...9fca2404a4fa24384d11f8422ced65920bf06#L0R1355
and Farmatito's usb drain patches 001 - 022 excluding bfs
http://forum.xda-developers.com/showthread.php?t=1010932
and wlan.ko from Cyanogen's sources
the .config can be obtained using kernel-sources/scripts/extract-ikconfig
or adb pull /proc/config.gz config.gz
and as for Overclocking have a look at Dumfuq's githib
https://github.com/dumfuq/cm-kernel/commit/9f113c9e0acf19f57a35acbb85bd6f5cc2e76bb2
I get reboots at anything over 595
edit: I build these kernels because usb mount does not work with 2.6.34 on Gingerbread roms and more recent Cyanogen kernels had the green tint issue. Since the green tint issue is fixed and I think 2.6.34.8 works better on Froyo I haven't been working with 2.6.35 at all lately
cellsafemode said:
I'm trying to get a functional config for the 1.2 mytouch but I'm having trouble tracking down the exact source to the MT3G-Fender-1.2-2.6.35.12-10M-test4.zip kernel but it's proving rather tricky. I can't seem to determine what the source to this kernel is and where to pull it.
....
I just want to be sure the kernel source i'm starting out with doesn't need extra patches that weren't included in the github pull in order to get it to work on the 1.2.
Click to expand...
Click to collapse
you need to ask the person that build 2.6.35.12 based kernels.. [see ratkings comment]
My github has sources for 2.6.34.7/8 and 2.6.36.4 tags match my public builds (I think they are all tagged if not check the notes with my release of the kernel for the correct commit)
I also had some 2.6.35.9-11 builds from cm-kernel sources (exact commits and patches if needed mentions on the posts with the kernels) but the last one off those was in January.. and besides the january one the builds were 32b/2708+ only since that was the reason to re-build cm. sources with little modification.
I too get issues over 595. Wifi will not work etc. at 595 everything is happy.
I pulled the .config, and you cleared everything up. I was just wondering if those extra patches or anything that made booting to the 1.2 correctly were missing from the standard github kernels that I've found.
I have two jobs so time is very limited but I'm hopeful to boot my own compiled kernel this weekend and then work on modifying the accelerometer driver, specifically the parts that handle determining orientation in order to create a sysfs file that controls orientation locking. Write a 1 to the file and it always reports the same orientation that it's currently in, tricking the entire android system into thinking you are never changing your orientation... write a 0 and it reports the real orientation.. and so on. Then write a little app that can be used as a widget or kept in notification bar so you can easily tap lock the orientation whenever needed. Allowing true landscape and portrait locking on any mytouch 3g.
Uhh yeah I trimmed that way down.. no debugging at all (I like to live dangerously)
later tests were less insane
http://www.mediafire.com/file/eqgv0sbb7t4c57s/config-test7
the only other thing to note is that kernel/mkbootimg.sh was edited to force the base address to 10000000 instead of copying the address of the previous kernel.. thats really why I posted it as for Fender/1.2 only. I didn't want anyone messing that up and blaming me when re-flashing Pershoots kernel didn't correct it
It looks like the 1.2 patch is something that basically changes the 32A so if you patch your kernel source to support 1.2, you break building 32A kernels (you have to then have two trees or continually apply and remove the patch between builds). Is that the case, does the patch make your tree a 1.2 only tree when building for the 32A ?
If so I can edit the patch to introduce a kernel config under the saphire board selection to choose if you want to build for the mytouch 1.2 or 32A or 32B directly. So there is no confusion. Then instead of replacing values in the source like the patch does, wrap them in IFdef macros based on the kernel config options.
Then it should be easy to roll out 3 kernel compiles and do something similar to an auto kernel package and utilize a little logic to determine which to use. A rev board with 2.22 radio == 1.2 (i forget if there is another locale where the radio is different for the 1.2). Others can be chosen based on board rev only.
cellsafemode said:
It looks like the 1.2 patch is something that basically changes the 32A so if you patch your kernel source to support 1.2, you break building 32A kernels (you have to then have two trees or continually apply and remove the patch between builds). Is that the case, does the patch make your tree a 1.2 only tree when building for the 32A ?
If so I can edit the patch to introduce a kernel config under the saphire board selection to choose if you want to build for the mytouch 1.2 or 32A or 32B directly. So there is no confusion. Then instead of replacing values in the source like the patch does, wrap them in IFdef macros based on the kernel config options.
Then it should be easy to roll out 3 kernel compiles and do something similar to an auto kernel package and utilize a little logic to determine which to use. A rev board with 2.22 radio == 1.2 (i forget if there is another locale where the radio is different for the 1.2). Others can be chosen based on board rev only.
Click to expand...
Click to collapse
Um... all my kernels to my knowledge work on 32a old radio, 1.2/32b old radio and 2708+ 32b new radios..
Just 3 config files and #ifs for the changes.. ebi1=3.22 radio, ebi0=2.22 radio, and 2708+ = 32b with 2.22.27.08+ radios. (And thus 3 binaries in the auto kernels)
Note the ebi1/ebi0 have both 32a and 32b versions that is what you see with the smi size logic in the kernel
ok. I read the description of the 10M patch above wrong and thought it was also enabling 1.2 support ...
Also, I'm wondering why exactly we use an initrd/initramfs setup. Our rootfs drivers are all compiled in so what's the real reason we bother with initrd ? Seems like we could speed up loading time if we avoid having to decompress and use an initramfs image and just get right into mounting root
OK, sweet. I have 2.6.36.4-s2 working 100% on my mytouch 1.2. Now i can move forward with some actual development.
cellsafemode said:
Also, I'm wondering why exactly we use an initrd/initramfs setup. Our rootfs drivers are all compiled in so what's the real reason we bother with initrd ? Seems like we could speed up loading time if we avoid having to decompress and use an initramfs image and just get right into mounting root
Click to expand...
Click to collapse
i might be wrong but i think android mounts the partitions directly to places in the initrd. never does a switch root out of it like most linux distros.
but im a noob and might be wrong lol
tvall said:
i might be wrong but i think android mounts the partitions directly to places in the initrd. never does a switch root out of it like most linux distros.
but im a noob and might be wrong lol
Click to expand...
Click to collapse
The normal configuration is:
/ = ramdisk and contains init and adbd on the rom (and all of recovery)
/system = system partition
/cache = cache partition
/data = is userdata partition or internal MMC card depending on the device's design
/data/data = userdata if the device has an internal MMC card
** dream/sapphire only has /data on the MTD partition .. no internal MMC card.. just the external one (sd-card)
Can it be changed .. well that is more of a rom design than a kernel question.. just set the bootimage's command line to match if needed... but the above is aosp's expectation.
OK,
2.6.36.4-s2 ezterry kernel for mytouch 1.2
http://signal-lost.homeip.net/files/2.6.36.4-s2-cellsafe.zip.torrent
Source code at
http://signal-lost.homeip.net/files/ezterry_2.6.36.4-s2.torrent
Seed if you download. tTorrent app is a full torrent app for your phone. Or you can just load it on your computer (ideal) and then move it over usb while in recovery.
This is basically rattking's kernel install package with some minor asthetic edits to the install script and layout. The kernel is based off an older rattking .config with necessary changes to match configuration changes in the newer kernel as well as changes to certain schedulers and included drivers and features.
edit:
If you have trouble connecting to the torrent, make sure encryption is on.
IF you still have problems.. the direct link is http://signal-lost.homeip.net/files/2.6.36.4-s2-cellsafe.zip But it would be nice if the torrent was used.
edit2:
Some info about the latest kernel for those who haven't checked it out...
the 10M patch is already applied in the upstream source, so you'll have that. I also turned on all the unsafe frequencies, but default you move around between 122 and 595. You can override that however with user apps.
NOTE: Swap is not enabled with this kernel. .. that's about all the important stuff for now. I just wanted to get a good stable starting point before i start diving in and breaking stuff.
New version with some bugfixes.
I forgot to add in scsi support so the mass storage feature can function... some other minor changes too.
http://signal-lost.homeip.net/files/2.6.36.4-s2-cellsafe2.zip.torrent
7 hours of constant audio playback with the regular music player, on and off texting and web browsing over 3g (3g enabled entire time) and still got 50% power. I gotta compare to other kernels but that sounds pretty decent considering by now i'd be plugging the phone in.
my next half day off when i'm not 2 jobbing it i'll patch up the sensors so that I can enable and disable updating the orientation sensor via sysfs. Should be trivial then to have real orientation locking that's application independent. Should be sweet !
Is your kernel mainly for gingerbread, or froyo? If I understand right, ezTerry's 2.6.36.4 kernels are for gingerbread...
I've only tested it against gingeryoshi so I would say gingerbread or newer

Categories

Resources