Dear all,
Did anyone succeed extracting kernel configuration from I9000XXJP3? Kernel version is 2.6.32.9, the vermagic is "2.6.32.9 mod_unload ARMv7"
extract-ikconfig doesn't work on it.
I succeeded extracting a zImage gzipped payload, but it seems not to contain any configuration in it (see attached).
/proc/config.gz doesn't exist, Samsung open source package (downloaded from Samsung open source site) contains only Android 2.1 Eclair or previous versions.
My target is to build tun.ko and, eventually, ext3/ext4 modules to make them working in Samsung Galaxy S I9000 with rooted I9000XXJP3.
Any idea?
Without froyo source code or a good Samsung Kernel (es. for himem capable) I think is impossible to play good with theses beta roms.
Ciao
Any news? I need tun.ko for jp3 too..
I have tried to compile the 2.6.32.9 kernel editing the .config in 2.6.9, the module tun.ko is accepted by the device, but I get a kernel panic!
redsh said:
I have tried to compile the 2.6.32.9 kernel editing the .config in 2.6.9, the module tun.ko is accepted by the device, but I get a kernel panic!
Click to expand...
Click to collapse
Did you use the stock linux kernel? Or the common from android.kernel.org?
I'm trying the same thing actually. Isn't there any default config for the processor that might work? I tried with the config from .29 but when loading the module it says wrong format.
try to build 2.6.32 with the 2.6.29 config ("yes" all missing stuff)
turn on your galaxy, adb push the tun.ko
try to load it, it will say "missing symbols" blabla
find the config options that match those symbols, enable them, recompile, try again
Great to see some people who are hacking the kernel! Keep it up!
But I'm afraid it is not going to be as easy as dropping aries_rev03_defconfig as .config in a 2.6.32 kernel tree and doing 'make oldconfig'. That's because many of Samsung's changes have not been included in the newer mainline kernel versions yet.
Samsung added quite a lot of low-level board support for their dev boards (and for the SGS, of course), did some customization and added a few drivers which you will need to forward-port to the newer kernel.
Please have a look at this thread, in which I've started a breakdown of the Samsung patches against Android Eclair's 2.6.29 kernel.
The best course of action I think is to git clone Android's kernel from AOSP, checkout the android-2.6.29 branch, apply Samsung's patches to that, then attempt to rebase your tree to a newer kernel version. (Note, you may want to start with small steps, to get a feel for what you're up against )
Note that there probably will be lots of merge conflicts which you need to resolve, and after dealing with all those, you also have to make sure that everything else that's merged still works as expected, but at least that will show you the amount of work involved. You will basically be doing all the work that Samsung is doing right now for their kernel for FroYo. It will be interesting to follow their progress on the mailing lists and on IRC.
bilboa1 said:
try to build 2.6.32 with the 2.6.29 config ("yes" all missing stuff)
turn on your galaxy, adb push the tun.ko
try to load it, it will say "missing symbols" blabla
find the config options that match those symbols, enable them, recompile, try again
Click to expand...
Click to collapse
Thats exactly what I did, but I got wrong module format... which is a fatal error. I need to invest further in the used config... maybe i did not pick up the right one properly..
miki4242 said:
Great to see some people who are hacking the kernel! Keep it up!
But I'm afraid it is not going to be as easy as dropping aries_rev03_defconfig as .config in a 2.6.32 kernel tree and doing 'make oldconfig'. That's because many of Samsung's changes have not been included in the newer mainline kernel versions yet.
Samsung added quite a lot of low-level board support for their dev boards (and for the SGS, of course), did some customization and added a few drivers which you will need to forward-port to the newer kernel.
Please have a look at this thread, in which I've started a breakdown of the Samsung patches against Android Eclair's 2.6.29 kernel.
The best course of action I think is to git clone Android's kernel from AOSP, checkout the android-2.6.29 branch, apply Samsung's patches to that, then attempt to rebase your tree to a newer kernel version. (Note, you may want to start with small steps, to get a feel for what you're up against )
Note that there probably will be lots of merge conflicts which you need to resolve, and after dealing with all those, you also have to make sure that everything else that's merged still works as expected, but at least that will show you the amount of work involved. You will basically be doing all the work that Samsung is doing right now for their kernel for FroYo. It will be interesting to follow their progress on the mailing lists and on IRC.
Click to expand...
Click to collapse
Yes that would be a lot of work. Maybe its better to just wait until they release the kernel from froyo. I read that they release their opensource stuff rather fast. But just for adding a module like ext4 I don't think you need those patches, because imho they didn't touch the fs of the kernel. We just need an adaquate kernel config and adding modules should be possible.
Phlogiston said:
Thats exactly what I did, but I got wrong module format... which is a fatal error. I need to invest further in the used config... maybe i did not pick up the right one properly..
Click to expand...
Click to collapse
Make sure you're using the same kernel version number and build number, because samsung kernels do not have the option to load incorrect module versions
Yes i've set the subversion as well but without the patches from samsung its impossible it seems. We need to wait and hope that they release the froyo kernel sources soon....
bilboa1 said:
Make sure you're using the same kernel version number and build number, because samsung kernels do not have the option to load incorrect module versions
Click to expand...
Click to collapse
Are you sure they set CONFIG_MODVERSIONS? It's off in the downloadable sources.
Just compare the output of `modinfo -F vermagic <yourmodule>` to `modinfo -F vermagic <modulewhichloads>` or to /proc/version .
did this get solved yet? I google'd for the tun.ko file for my i9000 using jp3 but nothing yet... if you have a proper one for the MoDaCo version here please attach it! ~
I think I saw someone's post with tun.ko for FroYo beta somewhere in these forums, I mean i9000 Android Dev. One of the guys here has found a way to compile kernel for jp* here. I am sure.
I actually found it attached somewhere in the forum and it was 1,5447 mb big I think it was... but it still didn't work for me so I presumed the kernel or something must have been wrong.
Hi all,
I have Fat Free Froyo installed with the latest 14th Jan 2011 kernel voguimg-240x320-2.6.32-froyo-14-01-11_14.nbh edited to froyo & panel type 2 from t029000.massey.ac.nz but Google Goggles needs ipv6 support.
Is this a kernel problem or a problem with the build itself? I am experienced in linux, so can modprobe or insmod the ipv6.ko but I don't know where to get it from
Any help would be appreciated!
(message for kernel's developers) take this man! he can dev ipv6!
Jumping the gun there a bit
I triage bugs and work on stuff for Ubuntu. Have also ported a few linux bits to ppc64 (PlayStation 3).
I'm pinching the ipv6.ko from slayhers latest kernel build, hopefully that will work insmod-ding or modprobing it into the kernel thru the terminal on the Kaiser itself.
So, fingers crossed, this may be solved in 5 minutes!!
Didn't work, it must be compiled for a different platform...
Anyone have or know where to get a kernel for the Kaiser with ipv6 support, or failing that the correctly built ipv6.ko for the Kaiser so that it can be insmodded?
Getting it compiled in the kernel is the easy bit, although it does use up a lot of space which is limited in the kaiser's kernel so a little tweaking is needed. Getting it to work with the Kaiser's modem and the builds we currently use is a different matter unfortunately. It will take a bit of modding for it to work but it's more then achievable with a bit of free time. Wish i could buy that stuff!!If i get a chance i will get you the ipv6 module for the kaiser's kernel or a kernel with support for it so you can have a play.
I definitely look forward to it! If I knew how and what to modify I'd do it myself, but I thought arch-specific kernels had to be compiled on the arch itself? If that's the case, I can see how free time would be needed, it'd take hours or days to compile the linux kernel at 400MHz
I have compiled kernels before so if/when I learn how to do it myself, I could start to use my own git repo for more recent daily builds or something.
I'm also thinking about starting working on some *buntu stuff (I know Ubuntu is there for the Kaiser, but soem tweaks would help if I get a chance.)
Hmm, a little Googling goes a long way http://www.androidonhtc.com/wiki/Get_Involved << was hard to find that,so hopefully I can add ipv6 somewhere in the 'make menuconfig' options for the kernel.
Are the standard kernel options used by "make vogue_defconfig" ok to use, i.e. will it build a normal useable kernel so that everything works?
xteejx said:
Hmm, a little Googling goes a long way http://www.androidonhtc.com/wiki/Get_Involved << was hard to find that,so hopefully I can add ipv6 somewhere in the 'make menuconfig' options for the kernel.
Are the standard kernel options used by "make vogue_defconfig" ok to use, i.e. will it build a normal useable kernel so that everything works?
Click to expand...
Click to collapse
Yes, that is th correct make file to use. I have built the kernel with IPV6 support, haven't tested it but have attached the module to the post for you to try
Brilliant! I'll try it sometime within the next couple of days, although I might myself be working on a blazing fast kernel specifically for the HTC Kaiser, and it is SERIOUSLY!!!! fast, even at 400MHz I can notice a massive increase in speed with the exact same build, but I haven't economised too much.
I can see the the options for ipv6 in the ncurses menuconfig, so I guess it's just a case of enabling it and building the zImage right?
I seem to be having the old problem with the wifi though, and I know it's kernel related, but there are only patches for it, i.e. the wlan.ko, but can't see how to implement it myself so it's an all-in-one solution
When I get the hang of the Kaiser hardware properly, I might just push through a newer kernel from the armlinux site so watch this space
xteejx said:
I might myself be working on a blazing fast kernel specifically for the HTC Kaiser, and it is SERIOUSLY!!!! fast, even at 400MHz I can notice a massive increase in speed with the exact same build
Click to expand...
Click to collapse
How have you managed that??? What have you done?
I have no idea how it happened, perhaps the other devs add a load of useless options, but all I did was follow the instructions at that link above and compiled a zImage from the 2.6.32 arm branch, using the 2010 arm tools. Used NBHeditor to edit it for Kaiser, panel 2, froyo, flashed it and bang (not literally thank god).
I can't answer any better than that. I used the default options (for now at least) that the vogue build script uses for the kernel, but bluetooth, camera and gps work. No internet connection as yet either through the network or wifi, dumno what I've missed there, and no ipv6 (but can add that easily enough). Wifi doesn't work either, but I'm working on it, although that MAY be the reason why it's so fast...maybe it's missing a few options...still unsure at this point.
I notice that although this is an open community, and people attach NBHs, there are no changelogs or anything showing what the people have done with the kernel to implement some options, so it's kinda holding me back at the minute.
xteejx said:
I notice that although this is an open community, and people attach NBHs, there are no changelogs or anything showing what the people have done with the kernel to implement some options, so it's kinda holding me back at the minute.
Click to expand...
Click to collapse
That isn't true, all tested changes are pushed to git, you can see what has been changed and how from here: http://androidhtc.git.sourceforge.n....git;a=shortlog;h=refs/heads/htc-vogue-2.6.32
*facepalm!*
Didn't see that, will bookmark it and keep an eye on it, perhaps work with it. Thanks for the link
the androidhtc.com site is not related directly to the develop project because no developer is connected to it. Also the git repository it not hosted in linux to go but on sourceforge (so download the correct git). That site is very outdated.
wifi works if you use the correct branch (on sourceforge) and modules.
Am I right in thinking that http://androidhtc.git.sourceforge.n...7c0bf5edc4f5c6d64ce4df29254e8332ce26b;hb=HEAD is the prebuilt kernels and nbhs from the source at http://androidhtc.git.sourceforge.n...og;h=62f075ddd13f378fd252be94c77e4f93d12584fb ??
I think I'm looking at the right tree now.
Flashing the latest NBH: VOGUIMG-320-FROYO-01-16-11.NBH still gives me the wifi error. Do I need to manually add the wlan.ko to it or ??
I could've sworn that an NBH I flashed before had all that in the NBH and it worked fine.
Ok, got it back to how I had it:
Flashed latest.NBH from http://androidhtc.git.sourceforge.n...7c0bf5edc4f5c6d64ce4df29254e8332ce26b;hb=HEAD and dropped androidupdate.tgz to the /andboot folder of the SD card, installed update thru the boot menu and done.
So in reality there's nothing stopping me grabbing the same kernel source, building it and adding ipv6 support in the ncurses kernel config menu and making an NBH from it and flashing that over, and then doing the androidupdate.tgz, although I think with HTCFlasherGUI you can flash a zImage directly right??
Is there something wrong with the git at http://androidhtc.git.sourceforge.net/git/gitweb.cgi?p=androidhtc/kernel.git;a=summary I can't get access, it's showing old stuff. It looks closed since git clone rejects me
xteejx said:
Is there something wrong with the git at http://androidhtc.git.sourceforge.net/git/gitweb.cgi?p=androidhtc/kernel.git;a=summary I can't get access, it's showing old stuff. It looks closed since git clone rejects me
Click to expand...
Click to collapse
No, nothing wrong with it. Just do:
git clone git://androidhtc.git.sourceforge.net/androidhtc/kernel.git
You then need to set it to the correct branch using 'git checkout -b <branch you want> '
It's the 2.6.32 branch you are interested in, you can find out exactly what it's called using 'git branch -a' which will list the available branches.
Cool. Knew something went wrong somewhere, had to be me lol!
I added that ipv6.ko to the NAND via a androidupdate.tgz (only way I could do it), and it didn't work, something about incorrect module format (or something like that).
Are there any prebuilt kernels or NBHs for the Kaiser that include ipv6? Either as a module that I can insmod it in the terminal or built-in?
I hate being upstaged by people that can use Goggles without any problems.
I know slayher's kernels have ipv6, but I flashed the new stock one from http://forum.cyanogenmod.com/topic/4434-froyo-kernels-by-slayher/ and it didn't work. I mean the kernel did, but Goggles didn't - couldn't insmod it either - same invalid module format as the ipv6.ko scooter did for me
Also the git clone didn't work:
Initialized empty Git repository in /home/name/android-git/kernel/.git/
fatal: The remote end hung up unexpectedly
First things first: THANK YOU to all those involved in the coding of this, especially the msm8660-common kernel that so many folks have put so much effort into, and Mr. Cyanogen for the device tree, etc etc. NONE of this would be possible without your efforts. I stand on the shoulders of giants in providing these instructions, the code is NOT mine, I'm just documenting this so you all can help contribute. Kindest regards to everyone who has contributed to make this possible. Your work has enabled the community to beat the vendor to the punch, yet again!
DISCLAIMER: This contains information on working with very early code as well as hacking together a completely unsupported Frankenstein build with some proprietary samsung binaries from another device (ATT Note) and I will warn you: If you aren't willing to risk bricking your device, don't even think about this. Also, I'm not so much a coder as I am a QA engineer, so I know enough to be dangerous, but I couldn't code C++ get myself out of a virtual crashing airplane if I had to. I also might not be able to help you out of a sticky situation, so... have fun at your own risk! But do have fun
Looking for binaries? See post #2
That said, it's honestly not likely any of this will brick your tab, if you know what you're doing, but... early software always carries danger, and using binaries from a similar yet different device can do who knows what.
Also of note: you should probably back up your EFS partition if you're going to hose with the radios to get cellular data working... hasn't been an issue for me, but... corrupt EFS partition = no more cellular data for you. ever.
Cyanogen has added initial support for the i957 to the CM10 repository, and it's looking good so far! But, there are no nightly builds yet, probably because Cyanogen would like to do some more work on it before handing out binary packages... Or maybe he hasn't figured out how to get things quite functional yet. I considered releasing a binary package for you to toy with, but then realized that would defeat the purpose of helping along the development of an official Cyanogen i957 (p5att) release, and lock you into something I already built from "pre-alpha" code. It's best to check out the latest source tree and do your own build, then you can easily test and contribute your modifications, should you find any.
So with that, here's some instructions on how to build CM10 for your SGH-I957 ("p5att") device from source code. This will also ensure time is spent doing development work, not hand-holding the faint of heart (sorry, sue me!)
These instructions assume you've successfully built Cyanogenmod for a supported device and understand the basics of getting things going. If not, start with that first, then come back to this. I'm also assuming you've got the android tools that you get from any build of cyanogen (like mkbootimg) in your path for some of the "optional" steps, which is of course elementary...
I'm also going to assume you know what to do with the resulting zip... You know... backup, factory reset, wipe system, flashy the zippy...
I really recommend doing the boot image modifications after the build, without ADB on boot, if something goes wrong, you'll have no way of knowing whats going on. If you get the boot image modified properly as detailed below, you will be able to ADB to the device as soon as the second boot logo disappears. Also, there's probably a cleaner way (like changing something somewhere to invoke one of the other case statements in init.qcom.usb.rc), but I didn't have any luck with that. Feel free to school me! :laugh:
EDIT: If you don't feel like hacking the boot image, just flash the one attached (ps: none of the zips below are TWRP/CWM flashable, just zipped up files.. dd if=bootimagefilename of=/dev/block/mmcblk0p8 from a root shell to flash the boot partition on the i957)
I've attached the initlogo.rle file to this post so you don't have to fish it out of the ramdisk embedded in the stock boot image. Adding initlogo.rle to the ramdisk gives you confirmation the kernel is bootstrapping, and it's disappearance indicates ADB is now available. Also, use a linux box for ADB! silly wabbit, windoze is for kids.
According to comments in system.prop, the cyanogenmod boot animation is disabled because the framebuffer is "weird". Strangely, it sometimes displays for me, one in 10 boots maybe. Weird!
Here goes.
----
Initialize Repo:
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
Sync Repo:
repo sync -j6
... Coffee Break!
Breakfast for p5att:
. build/envsetup.sh && breakfast cm_p5att-userdebug
Modify device/samsung/p5att/BoardConfig.mk to clean up a few things:
Comment out:
#BOARD_SDCARD_DEVICE_PRIMARY := /dev/block/mmcblk1p1
#BOARD_SDCARD_DEVICE_SECONDARY := /dev/block/mmcblk0p28
#BOARD_SDEXT_DEVICE := /dev/block/mmcblk1p2
Add above these lines:
BOARD_HAS_SDCARD_INTERNAL := true
Modify device/samsung/p5att/device-proprietary-files.txt:
Comment out all the entries, because they aren't really needed and probably dont work with jellybean. Worry about this later, blah blah.
Modify device/samsung/msm8660-common/common-proprietary-files.txt:
Comment out all the WiFi stuff, that is, like:
# Wi-Fi
# etc/wifi/bcm4330_apsta.bin
#etc/wifi/wl
#etc/wifi/nvram_net.txt
#etc/wifi/wpa_supplicant.conf
#etc/wifi/bcm4330_p2p.bin
#etc/wifi/bcm4330_sta.bin
#etc/wifi/bcm4330_mfg.bin
#etc/wifi/nvram_mfg.txt
To get WiFi working later, you need /system/etc/wifi/* from your honeycomb image. Go save them to /sdcard/wifi or something like that now, so you can just copy them over after CM10 boots
Edit: attached the files
Extract proprietary files from i717 Note CM10 image, since I have no idea where else to get these files, and they work:
from device/samsung/p5att, run ./extract-files.sh <path to an extracted CM10 i717 nightly .zip>
... The path you provide should contain the "system" folder.. IE the root of the extracted nightly zipfile.
I had used the 0831 nightly with luck here.
Get prebuilts:
run vendor/cm/get-prebuilts
Do the build:
from the system directory of your CM10 source tree run:
. build/envsetup.sh && brunch p5att
Go find something or someone to do, this is going to take a while...
You'll end up with a .zip file to flash.
After you flash, you'll need to, manually:
1) Copy back the /system/etc/wifi/* files (wifi firmware/tools, the note ones dont seem to work).
2) Install a Skyrocket ICS AT&T radio if you want cellular data, the honeycomb radio doesn't seem to work with CM10. UCLF6 works for me, although it's slower to acquire LTE than the official samsung HC image... but it works great once it finds a cell, and HSPA comes up pretty fast.
3) Consider doing the stuff below to enable early ADB and add back the second samsung logo, for debugging purposes, if you care...
----
Things you might want to do after the build, start by unzipping the resulting .zip pacakge...
Edit: I attached a the resulting boot.img to this post so you don't have to do all this if you so desire. Bonus: working i957 JB kernel binary for whatever else you might want to do with it..
Remove the assert for platform type if your TWRP recovery, like mine, thinks it's a i717 Note:
Edit META-INF/com/google/android/updater-script, remove the assert lines (first two lines of that file)
Do some handy ramdisk hacks:
First, unpack the boot image. From the root of what you unzipped:
mkdir boot
unpackbootimg -i boot.img -o boot
cd boot
Then Unpack the initial ramdisk:
mkdir rd
cd rd
zcat ../boot.img-ramdisk.gz | cpio -id
Edit init.qcom.usb.rc to enable early adb:
Search for "on property:sys.usb.config=mtp", you'll find: (line 340, for me)
on property:sys.usb.config=mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/acm_transports tty
write /sys/class/android_usb/android0/functions mtp,acm
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state $sys.usb.config
Make this section like:
on property:sys.usb.config=mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/acm_transports tty
write /sys/class/android_usb/android0/functions mtp,acm,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config
Add the glowing samsung initlogo:
Copy initlogo.rle from the root of a stock ramdisk to the root of this ramdisk
... So you'll get the second samsung logo, so you know the kernel is bootstrapping... if you care.
Turn off ro.secure:
Edit default.prop in the root of the ramdisk and change:
ro.secure=1
to
ro.secure=0
Repack the ramdisk:
find . | cpio -o -H newc | gzip > ../boot.img-ramdisk.gz
(you may want to save the original, if you care)
Make the new boot.img:
cd .. (ie get back to the directory with the files listed in the next line)
rm ../boot.img
mkbootimg --kernel boot.img-zImage --ramdisk boot.img-ramdisk.gz --cmdline "console=ttyHSL0,115200,n8 androidboot.hardware=qcom" --base 48000000 --ramdiskaddr 49400000 --pagesize 2048 -o ../boot.img
Repack the flashable zip:
cd .. (ie get back to where you unzipped the original flashable .zip)
rm -rf boot (remove the extracted boot.img and ramdisk under it, save it somewhere if you care)
(also remove the original .zip from here if you extracted it in the cwd)
zip -r ../somezipname.zip .
Then flash somezipname.zip or whatever you called it..
(Remember you'll need to put the Honeycomb files from /system/etc/wifi into /system/etc/wifi of the running image after you boot if you want wifi
(And flash a Skyrocket ATT radio if you want cellular data!)
WARNING: FOR SAMSUNG SGH-I957 NORTH AMERICAN DEVICES ONLY
GT-SERIES (IE: GT-7320, etc) ARE NOT SUITABLE FOR THIS RELEASE
UPDATE ZIP DOES _NOT_ CHECK YOUR PRODUCT CODE, WILL HAPPILY EAT OTHER DEVICES
THIS IS A TEST RELEASE FOR EXPERIENCED ANDROID HACKERS
SOME FEATURES MAY NOT BE USABLE OR WORK AS INTENDED
BOOTLOOP ISSUE? USE TWRP 2.1.4: https://www.dropbox.com/s/u07zrx808a5ae2z/i957_twrp_recovery.img.tar
Latest Flashable .ZIP, update 7: http://droid.arm.ee/957/cm10_p5att_nrvate_testrelease7.zip
Use TWRP, factory reset and wipe /system if you are coming from another ROM. Don't forget to install google apps http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps
Update 2
* h264 hardware decode fixes for youtube HQ and other hardware-decode enabled apps (vidc/yamato firmware update)
* camera fixes from kunals.shah -- thanks!! (camera library in system/lib/hw)
* wifi address fix - get MAC from EFS, no more random address (insert proper path to .nvmac.info in dhd.ko kernel module)
* move /mnt/secure to internal sdcard to fix asec apps (asec folder linked to /sdcard/.asec)
* disable adb on early boot -- fix mtp maybe? (change to init scripts in ramdisk)
* remove a couple of (probably) harmless references to sdcard1 in init scripts
* update vold.fstab with the correct partition for the sdcard (26), not sure if anything even uses that, but...
Update 3
* Kernel Lovins ->
--- Picked up slew of bugfixes from msm8660-common cyanogenmod jellybean kernel tree -- up to and including 09/13/2012 commits.
--- Enabled CONFIG_USB_ANDROID_SAMSUNG_MTP and CONFIG_SPI_QUP kernel options to match SHV-140 ICS samsung kernel config
--- Disabled CONFIG_XVMALLOC and CONFIG_ZRAM kernel options, also to match up to SHV-140 ICS samsung kernel config
--- Now compiled with newest Sourcery cross-compiler
--- Modified dhd.ko (Broadcom WiFi kernel module) -- you can now create file /data/.ranmac if you want your MAC address randomized on each reboot (ignores MAC on EFS partition, random generation expanded to 5 bytes)
* symlink for light sensor (/dev/i2c11 -> /dev/i2c-11) -- Doesn't fix auto brightness, but at least things that access the light sensor via the standard API will get values back now, FWTW.
* RIL stuff from SHV-140S (korean Tab 8.9 LTE) -- An attempt to resolve SIM_NOT_READY error -> Files replaced:
/system/lib/libril-qcril-hook-oem.so
/system/lib/libsecril-client.so
/system/lib/libreference-ril.so
/system/lib/libril.so
/system/lib/libril-qc-qmi-1.so
/system/bin/qmuxd
/system/bin/qmiproxy
/system/bin/netmgrd
* Update /system/etc/wifi stuff -- newer broadcom firmware images, wpa_supplicant.conf with p2p parameters
* Reenable early ADB since it appears MTP issues likely related to lack of CONFIG_USB_ANDROID_SAMSUNG_MTP kernel option -- Maybe someone who uses MTP can tell me whats up now?
Update 4
* Fix A2DP bitrate (48000 -> 44100 in /system/etc/audio_policy.conf)
* More invasive ASEC fix that might actually fix this jellybean nonsense (modified vold to use /data/secure locations, create /data/secure directory tree in init.emmc.rc)
* Revert SHV-140 RIL change, back to Note CM10 RIL libraries
Update 5
* Android 4.1.2 - Complete rebuild from CM10 tree retrieved on October 12th. Includes ASEC hack as in update4.
* SGH-i957 Radio Information Libraries (RIL) from official Telus ICS image - Thanks Dan!
Update 6
* Rebuilt from CM10 source code retrieved Nov 10 2012. ASEC hack applied.
* Update to latest msm8660-common kernel. Kernel unmodified (ie: no overclocking).
Update 7
* Rebuilt from CM10 source code retrieved Dec 20 2012. ASEC hack applied.
* Update to latest msm8660-common kernel. Kernel unmodified (ie: no overclocking).
Fantastic!
Are you saying everything seems to work pretty well except the 4G radio? (No guarantees, at my own risk, etc. etc. I know, I won't blame you)
If so, I'm going to try this right away. I don't have a data plan for my SIM, and haven't used the 4G yet. (Got a free upgrade from the wifi version after some shipping trouble with the vendor.)
The Galaxy Tab has been kind of a letdown when I have JB on my Galaxy Nexus and Kindle Fire both, and the "upgrade" is a bit disappointing since I checked on custom ROMs *before* I ordered, but the AT&T version is further behind.
Thanks for your hard work! I'll let you know what happens.
YellowRex said:
Fantastic!
Are you saying everything seems to work pretty well except the 4G radio? (No guarantees, at my own risk, etc. etc. I know, I won't blame you)
Thanks for your hard work! I'll let you know what happens.
Click to expand...
Click to collapse
I haven't had time to try "everything", but the stuff that I use on a regular basis is mostly functional. There's quirks, but... It's usable!
For example, one thing I just found out.. the Adreno (qualcomm MSM graphics) drivers aren't production-build.. There's no such thing available -- The current drivers available from qualcomm are "early sample" binaries for jellybean bringup testing, which is what this is... So, I've seen the random screen flicker, etc. Remember there are only a few devices with tested jellybean images, and most of them are google devices... And the i957 will probably never see an official JB release.
https://developer.qualcomm.com/mobi...phics-optimization-adreno/tools-and-resources
This release contains an early sample of the user-mode driver binaries for Qualcomm's Adreno 2xx GPU on Google Android 4.1 Jelly Bean. It has been tested with the CAF release M8960AAAAANLGD105210.1 and supports any Adreno 2xx GPU on Android 4.1 Jelly Bean. This release is intended only for developers that work on Jelly Bean bring-up work. It is an early release sample which will be replaced by a new driver binary in the future.
Click to expand...
Click to collapse
I'm sure there's plenty of little quirks you can find if you "twiddle all the knobs and flip all the switches" -- But it's certainly testable, and way closer to the "usable" end of the spectrum than the "barely functions" end.
Cheers!
PRE-ALFA CM10 Build
You did a great job nrvate !!. you inspired me to get ICS/JB on my SGH-i957. I did try your method and seems everything (3G, SMS, GPS, Bluetooth, Camera etc..) works except wifi. I am surprised that Voice calling is also working in this build !!! I will update you once I fix wifi issue. and also provide CWM/TWRP/ODIN flashable build if time permits.
Cheers !!
-KS
Its so exciting to see some real pregress.
Sent from my SAMSUNG-SGH-I957 using xda app-developers app
Ditto. This is really good news. Thanks.
Cheers, y'all!
Only thing I had to do to get wifi working was stuff the original stuff (from honeycomb) in /system/etc/wifi.
first thing I'd do is make sure the dhd module is getting loaded.. dmesg will print your kernel log that'll show problems with loading that module.. also, try rmmod dhd and insmod dhd, see what happens.
If the DHD module doesn't report symbol errors or some nasty like that, make sure it's loading the firmware -- That'll probably leave an error in dmesg also if it's broke.
also check logcat for wifi-related nastiness
If you can find a specific problem post it and I'll try to help reproduce/solve.
Also working on hacking together a build of ICS based on what's been done with JB, but no idea how that's going to turn out yet. It'd be nice to have as a daily until qualcomm releases production-grade adreno graphics drivers (and, the CM9 ICS tree is now "final", might as well build it!)
update: due to needing the "late model" msm8660-common kernel for proper i957 device support, the later qualcomm (JB) graphics drivers are required too.. drat! however, looks like I'll still be able to hack together a build of CM9 based on the current "final" ics branch using the JB kernel and beta qualcomm graphics. got 'er booted, working out the kinks now. I'll start another thread for that when it's done
i wish i knew half as much as you do, keep up the good work!
orlandoxpolice said:
i wish i knew half as much as you do, keep up the good work!
Click to expand...
Click to collapse
Thanks! Learning as I go with half this.. It's just bits, try one way, get dirt.. try another way, get bacon!
Some of this is so touchy.. ie kernel versions vs adreno drivers, blah blah.. seeing what the SHV-140 kernel does.. it boots CM9, now to see if it'll play nice with video decoders. might forget CM9, i <3 jelly beans anyways!
nrvate said:
Thanks! Learning as I go with half this.. It's just bits, try one way, get dirt.. try another way, get bacon!
Some of this is so touchy.. ie kernel versions vs adreno drivers, blah blah.. seeing what the SHV-140 kernel does.. it boots CM9, now to see if it'll play nice with video decoders. might forget CM9, i <3 jelly beans anyways!
Click to expand...
Click to collapse
Solid work/mashery my friend. This indeed great news. I am currently waiting for my zip file to spit out, do a few mods and then give it a flash when I complete those things.
As far as the adreno drivers have you checked the site for them? I recall reading about them on another msm8660 device and perhaps may pertain to this project as well. The screen flicker has a few work arounds based on other devices that may relate to this device as well. Either to get rid of the flicker entirely or at least minimize them. Worth trying (here are a few I have seen work on some devices.. dev options, disable HW overlay, another is adjusting the debug.mdpcomp.maxlayer value in build.prop from 3 to 2, another is to set the min CPU freq to 486mhz).. last but not least, this was posted on cyanogenmod review, and can be cherry picked if not merged already: http://review.cyanogenmod.com/#/c/22782/ and may work. As far as getting LTE to light up in a more prompt manner, it may be worth exploring different modems (I see you are using UCLF6 from the i717 note), there are many others from the i717 leaks (ie. UCLF5, UCLE2/3, etc etc) and also of course any other Skyrocket ICS+ modems, as well as i717m (canadian, rogers modems such as XLA2 (gingerbread but worked on the i717 note in the US) and various others. If you cannot located them I will post links when I have more time. This is a great start, and I will help out when I have time to contribute to this project (I have a few on my plate plus a full time job so sometimes having the time is a difficult venture). In any case, great start and I can see this will progress very well in due time. Congrats and thanks for your contribution to the base of this, as this progresses and we work to manage these small issues, we will have something even solid
Regards,
th3g1z
th3g1z said:
Solid work/mashery my friend. This indeed great news. I am currently waiting for my zip file to spit out, do a few mods and then give it a flash when I complete those things.
As far as the adreno drivers have you checked the site for them? I recall reading about them on another msm8660 device and perhaps may pertain to this project as well. The screen flicker has a few work arounds based on other devices that may relate to this device as well. Either to get rid of the flicker entirely or at least minimize them. Worth trying (here are a few I have seen work on some devices.. dev options, disable HW overlay, another is adjusting the debug.mdpcomp.maxlayer value in build.prop from 3 to 2, another is to set the min CPU freq to 486mhz).. last but not least, this was posted on cyanogenmod review, and can be cherry picked if not merged already: http://review.cyanogenmod.com/#/c/22782/ and may work. As far as getting LTE to light up in a more prompt manner, it may be worth exploring different modems (I see you are using UCLF6 from the i717 note), there are many others from the i717 leaks (ie. UCLF5, UCLE2/3, etc etc) and also of course any other Skyrocket ICS+ modems, as well as i717m (canadian, rogers modems such as XLA2 (gingerbread but worked on the i717 note in the US) and various others. If you cannot located them I will post links when I have more time. This is a great start, and I will help out when I have time to contribute to this project (I have a few on my plate plus a full time job so sometimes having the time is a difficult venture). In any case, great start and I can see this will progress very well in due time. Congrats and thanks for your contribution to the base of this, as this progresses and we work to manage these small issues, we will have something even solid
Regards,
th3g1z
Click to expand...
Click to collapse
Thanks for the input! The flicker, as is, is really minor. It only really seems to happen, for me atleast, in the main launcher window and sometimes when scrolling in maps. It's intermittent, actually. I will have a look at that change you linked, nice catch!
Qualcomm's dev site is linked in post #4, hopefully they will post the final drivers soon. Do they have another site that would receive them faster, or with incremental builds? I really wish OEMs would share engineering builds more openly with the community, but I guess I'm just used to being on an engineering team, lol. I've been spoiled with working for a few of the larger OEMs and getting all the cool toys first...hehe.
I tried a few of the note ICS radios, got nothing at all from them besides errors in logcat -b radio, wouldn't bring up the SIM.
All the skyrocket radios seem to work to varying degrees.
Also, it may be more of the RIL -- The UCLF6 skyrocket modem works very nicely on the stock honeycomb image, insta-LTE and everything.
I have not tried any of the non-ATT radios... wasn't sure how that'd work out. I'll give some of the non-ATT radios a go, why not! Besides Skyrocket or Note, any other similar devices? Only thing I can think of is the SGS II LTE HD (SGH-i757) but not much is available for that device as AT&T punted it for the S III (747) and it never got popular.. If you want the HD screen, you get a S-III, which came out about a month later, which is just why ATT punted it all together.
I hear you on the job. I've got an interview lined up for a better one, too! Man, I'm hoping that works out!
nrvate said:
Thanks for the input! The flicker, as is, is really minor. It only really seems to happen, for me atleast, in the main launcher window and sometimes when scrolling in maps. It's intermittent, actually. I will have a look at that change you linked, nice catch!
Qualcomm's dev site is linked in post #4, hopefully they will post the final drivers soon. Do they have another site that would receive them faster, or with incremental builds? I really wish OEMs would share engineering builds more openly with the community, but I guess I'm just used to being on an engineering team, lol. I've been spoiled with working for a few of the larger OEMs and getting all the cool toys first...hehe.
I tried a few of the note ICS radios, got nothing at all from them besides errors in logcat -b radio, wouldn't bring up the SIM.
All the skyrocket radios seem to work to varying degrees.
Also, it may be more of the RIL -- The UCLF6 skyrocket modem works very nicely on the stock honeycomb image, insta-LTE and everything.
I have not tried any of the non-ATT radios... wasn't sure how that'd work out. I'll give some of the non-ATT radios a go, why not! Besides Skyrocket or Note, any other similar devices? Only thing I can think of is the SGS II LTE HD (SGH-i757) but not much is available for that device as AT&T punted it for the S III (747) and it never got popular.. If you want the HD screen, you get a S-III, which came out about a month later, which is just why ATT punted it all together.
I hear you on the job. I've got an interview lined up for a better one, too! Man, I'm hoping that works out!
Click to expand...
Click to collapse
I hear you on OEM not releasing the drivers in a timely fashion, and it is frustrating when you have sources for it as "leaks" .. pertaining to your question I did see a link to update drivers but in my 5 min search (short on time atm, work early in the morning), I didn't find it yet, but I will look a bit deeper and hopefully can find it. I recall it related to CM10 and addressing said drivers for a particular device or devices. I will see what I can find tomorrow, and hope that it pertains.
No harm in trying a few other modems, I would look at the i717/i717m (m is the canadian model, same device though and the modems from rogers work with the i717 as well as the skyrocket).. and obviously the skyrocket various modems which it seems you have tried at least a few of. They vary so much and your location has a lot to do with it. Some work better in certain areas, and others in other areas as I'm sure you know already. Worst case, even after trying a few you can always go back to UCLF6. I found it a bit odd that the rogers modems worked with ATT but hey I'm not complaining about that one I believe you are correct, however, pertaining to the RIL as being the issue, not so much the modem's themselves. (no telling though without trial/error)
I'm not sure the i747 modems would work or not, but, it will not hurt to try, as you can return to UCLF6 if it is a dead end. the i757 I have yet to even see, so I can't comment on that in particular.
I'd like to chat a bit more when we both have some time, not sure if you get on IRC (freenode network) at all but if you do look me up, same handle as here on XDA. It would be easier to chat that way.
I have more to say but having to be away in about 4 hours, I will have to get back to you. Good luck w/ the interview bud.
Take care, we'll catch up soon.
~th3g1z
th3g1z said:
I hear you on OEM not releasing the drivers in a timely fashion, and it is frustrating when you have sources for it as "leaks" .. pertaining to your question I did see a link to update drivers but in my 5 min search (short on time atm, work early in the morning), I didn't find it yet, but I will look a bit deeper and hopefully can find it. I recall it related to CM10 and addressing said drivers for a particular device or devices. I will see what I can find tomorrow, and hope that it pertains.
No harm in trying a few other modems, I would look at the i717/i717m (m is the canadian model, same device though and the modems from rogers work with the i717 as well as the skyrocket).. and obviously the skyrocket various modems which it seems you have tried at least a few of. They vary so much and your location has a lot to do with it. Some work better in certain areas, and others in other areas as I'm sure you know already. Worst case, even after trying a few you can always go back to UCLF6. I found it a bit odd that the rogers modems worked with ATT but hey I'm not complaining about that one I believe you are correct, however, pertaining to the RIL as being the issue, not so much the modem's themselves. (no telling though without trial/error)
I'm not sure the i747 modems would work or not, but, it will not hurt to try, as you can return to UCLF6 if it is a dead end. the i757 I have yet to even see, so I can't comment on that in particular.
I'd like to chat a bit more when we both have some time, not sure if you get on IRC (freenode network) at all but if you do look me up, same handle as here on XDA. It would be easier to chat that way.
I have more to say but having to be away in about 4 hours, I will have to get back to you. Good luck w/ the interview bud.
Take care, we'll catch up soon.
~th3g1z
Click to expand...
Click to collapse
I'll hit you up on IRC at some point for sure
So I sort of figured it out... Found how to get the radio to play nice, still don't know why... The kernel! Went back to the 3.0.8 kernel as provided by samsung for the SHV-140 (replaced zImage in boot.img, reflashed mmcblk0p8) and BAM. Nice quick 4G. Nothing in /system changed (so a bunch of other stuff broke) but the radio sure got happy.
Not sure what the difference is, quite yet... Should be an interesting needle in the hackstack for sure.
Is the package manager a problem with this the same as cm9?
Sent from my SGH-I727 using xda premium
orlandoxpolice said:
Is the package manager a problem with this the same as cm9?
Click to expand...
Click to collapse
yes, the issue actually originated with jellybean -- since there's no device tree in the cm9 repo for the p5att, i jammed the cm10 p5att device tree into cm9 source to make it happen. the device tree includes the init scripts, so the problem actually originated from cm10, lol.
same fix works.. mount tmpfs on /mnt/secure (in addition to /tmp/asec) and use wide-open (777) permissions.
nrvate said:
same fix works.. mount tmpfs on /mnt/secure (in addition to /tmp/asec) and use wide-open (777) permissions.
Click to expand...
Click to collapse
Heh! Is it just me or does that feel a little less than 'secure'? :silly:
i feel like a english lit major walking into an advanced calculus class with this jargon
This is how the sausage gets made.
Speaking of making sausage, I'm starting to think this is stable enough to share a binary build...
1) Camera is borked. I'm at a bit of a loss to figure it out, maybe I'll try again next week -- Suggestions very welcome, I'd like to get this working for video chat ala skype / gtalk.
2) MTP is borked. Again, at a bit of a loss, I suppose I'd care if I used it... Silly MTP.
3) New kernel fixes radio issues (mostly) - I've had it completely refuse to come up, showing no signal, fixed by rebooting the tablet. Goes right to LTE, but defaults to HSPA only. Change to LTE / GSM / WCDMA in mobile network settings -> network mode.
4) /mnt/asec / /mnt/secure issue (play store install problems) resolved.
5) FC in Settings -> Storage resolved by removing sdcard1 (which will never exist) from the build config
6) Boot animation is disabled due to framebuffer problems (supposedly) -- i know the spinny thing is cool, but you'll have to live with a black screen. Strangely, it comes up on some boots. lol.
7) Qualcomm graphics drivers are still the pre-release version. They seem to work pretty nice though. Haven't seen any of the flickering since some mdp changes in the kernel.
8) Video codecs aren't as screwed up as they are in the ICS build I did -- IE youtube works for all the videos I tried and bsplayer for android nicely plays my favorite x264 720P tv shows (win! gotta keep myself entertained at work some how...)
9) overclocked kernel HACK WARNING for you purists -- Modifed the kernel slightly, it now recognizes all MSM8660's as having the higher binned speed (1.66 vs 1.50 ghz) -- I didn't touch the frequency tables or anything, since it made more sense to just recognize the parts as 1.66ghz parts. Also, removed the logic that limited single-core mode to 1.2ghz (why?!). Gabe put out a OC kernel and most people reported stability at 1.7+ ghz, so... 1.66 seemed good. Hasn't borked for me. If you want stock speeds bad enough or run into problems.. http://d-h.st/8mB
Usual procedure, TWRP.. factory reset, wipe system, flash zip, receive bacon.
Bacon: http://d-h.st/Klu
I've been using this as my daily the past few days, and unless it starts behaving badly for some reason, it's probably going to be my daily for the foreseeable future. Really want to get the cams working, though!
Please share other issues. There has to be something else horribly broken I haven't noticed.
Usual "may make zombies run out of your tablet" warning applies to this test software.
Enjoy!