[Kernel][android_kernel_lge_msm7x27-3.0.x][bigsuperkernel-3.08]

Feb 19, 2011
1,971
284
0
Visit site
Now for KitKat too!
This runs decently with thekraven's PAC 4.2.2 and JBC, apparently CAI (cm9), as well. Any ROMs older than the JBC need an extra zip for test 45 to beta2a. It removes sbin/charger (or sbin/chargerlogo) from the ramdisk to avoid bootloop. beta2b and later now include this by default in the kernel zip.
CAI/ICS has no USB functionality.
I'm uploading unsigned flashable zips.

current:
bigsuperkernel3.0.101r6.0_noTLS_noMTDswap.zip for ROM versions built before before 7/12/2014
bigsuperkernel3.0.101r6.0_TLS_MTDswap.zip for everything more recent.
md5sum files in the shared folder too.

as it says, linaro gcc 4.7 toolchain. Supposed to be faster, better, stronger; the standard $6,000,000 man stuff. Not to mention -O2 optimizations in the build.
Thanks justarchi on xda for the toolchain and optimization instructions. The ROM thread has a link to his optimization thread in the OP.
includes thunderg ami304d to fix rotation/compass issues.
mount whichever /system you're using in recovery before flashing.


debugged enough to not be beta anymore. Binary finally uploaded after skipping r1.3-1.5
commit log for changes
r6.0 kernel 3.0.101, f2fs, accelerometer hopefully really fixed using thunderg blob, (MTD system and userdata partitions swapped, hardware TLS enabled) or not.

r3.0 compass fixed
r1.0
uhid bluetooth fixes for kitkat.

beta 6.
androidarmv6 bluetooth fixes and thekraven updates.

A revised beta 2b is out since fixing the rest of the charger. 2a and older all charge at about 400mA regardless of charger type or fastcharge toggle. 2b seems to pull power correctly. Fastcharge enabled, use the existing widgets or terminal instructions from jawz101's post.
Beta 2b uses 99% of the above patch but allows adb and mass storage by directly changing charge current instead of changing the charger type. updated with more charger code.

as of alpha test 81, everything works.
DISCLAIMER: You flash it, you're responsible for the outcome. This is an experimental kernel. Any zips labeled "test" are alpha releases. They are buggy one way or another but are archived in case anyone wants them.
Be sure to make a backup before flashing! I'm really only releasing it because I, too, once could not build kernels, but still enjoyed playing with them with my then-new OV.
(Ah, Zefie's Xionia. And Blarf's first build with the USB charge power turned up enough to charge while downloading on wifi. Memories...)
Plus it's the only way to get bluetooth on PAC and JBC at the moment.

Turn signature verification off in recovery or it won't work. Mount /system before flashing or wifi may break.

Archived.
Code:
Two old files...
]init.thunderc.rc.pac.zip to replace file in ramdisk for PAC to stop bootloop. The problem, surprise, is the charger init. Updated with actual modified file from PAC instead of from JBC.
MD5sum: 13054b8784f4e798b88759f92ca9a410
[ATTACH]75968[/ATTACH]
init.thunderc.rc.cai.zip for CAI to stop bootloop. no adb in CAI with this... in fact, no usb functionality at all. no charging indicator, either. otg_low_power mode on and off is it.
MD5sum: f1dd00b0d4ede60c8b3a97dd4f670ee5
[ATTACH]75969[/ATTACH]
also archived, both the above files replaced by
Code:
[ATTACH]88438._xfImport[/ATTACH], md5sum b1a9f21285e09e06dc94422a8578dc98
which removes the offline charging functionality in a generic way which should work on any ROM.

keyswap zip for Optimus S, also unsigned (reversed keys build 6 JBC)
MD5sum: eb58010bfad29fc91c838ae0f5f1fb3a
View attachment OS-keyswap.zip
alternate, reversed
MD5sum: 9e561b977b8c30ef6fbb8b355dba3af2
View attachment OS-keyswap1.zip

wipe /cache and dalvik-cache in recovery before flashing kernel to avoid issues.

kernel binaries are now archived with Google. They know everything anyway, and it's not like these are closed source.
GoogleDrive

CHANGELOG
Code:
r1.2
ashmem fixed, swap enabled
r1.0
uhid bluetooth fixes for kitkat.
beta 6.
androidarmv6 bluetooth fixes and thekraven updates.
...duh... missing 5 and 4 info.
beta3: fix battery temperature and merge from 
androidarmv6.
beta2b: alternate fastcharge method. updated, plus removecharger.zip incorporated to simplify.
MD5sum: 7a42bc3ab9b3591493cd2eaad8ab3b47

beta2a: fastcharge enabled.
MD5sum: 43ff961305541c21e4f3af35254b9c44

beta 1: usb cable type detect code patched in from original thunderc. Everything working but offline charging, and I blame the differences between 2.6 and 3.0 kernels that block USB functions in ICS and GB with this kernel.
MD5sum: eddd341703a9c394448c61b26bd91399
test 81: battery!
MD5sum: cd4e8679c67b296cafd31e938ce83fc7

test 80: revert battery driver to test 55.
MD5sum:269dbdc02c97a99be02b0104809551e1

test 75: (phone info still says test 70) revert battery capacity to pre-test 41 for readout.
MD5sum: 9bb77f0b83afdb6bbf0a00e5bbc5a638

test 70: remove extra filesystems, tweak at battery some more. should read battery level correctly on boot again (nope, reads 100% till it dies. use at own risk.) still wake/sleep deal for charger notify and battery level update.
MD5sum: d81ab3ef70845875bd274c815da9ed84

test 65: clean up battery readout a little, should be more accurate and less jumpy. Reads 100% until after sleeping first time, though. Increase usb charge current to 500 mA. Turn off USB host mode since I can't get it working yet.
MD5sum: 38941925b3cc7fbd4aa09656f8348448

test 61: clean up battery charger notification some with seperate rpc calls for battery and charger info, fix battery capacity issue always 100% in test 60.
MD5sum: 8b19df8379a278577a7f1deda860bb69

test 55: bring wifi patches up-to-date with thekraven
MD5sum: 387f7d136da3c58d4b1c51160e9b8232

test50: battery charging notification partially working. like battery info, charger status only refreshes on sleep or wake. unplugging or plugging in cable without sleep/wake shows no changes.
MD5sum: afc606ad98f7778d60e536057ae5f1e7

test 45: revert log sizes to standard.
add [URL="http://billauer.co.il/frandom.html"]dev/frandom[/URL] for [URL="http://forum.xda-developers.com/showthread.php?t=2113150"]crossbreeder[/URL].
fix ld0 voltage that was incorrectly changed after test 41 and correct other ldo voltages from p500 to thunderc (no binary uploaded here, nothing to worry about unless you're building from source.)
MD5sum: 3581cad26bd0cda646fc1370bec1a426

test 41: first release with accellerometer working
MD5sum: ee7dd6972a6526ce87f2ecc9dd8c1d71

archived until further notice:
test 40
MD5sum: 8bfa68857c49f62c9520cfc7583e093c

test 30: initial release
MD5sum: 20e018be78c65878bd6df1ec841001d2

This is intended for android 4.2. Specifically tested with thekraven's PAC and JBC.
You'll need the Virgin fix he posted for mms, carrier name, and such, but remove the /system/usr folder from the zip or you'll have your home/menu keys reversed since this kernel is built for the V instead of the S.
the test versions of JBC may not need keyswapped.
Tested with ICS (specifically thekraven's CAI.) No USB functionality on ICS. Maybe if it was rebuilt with the kernel headers it'd work.
Boots with GB (mirage.) But... no USB access. video whitescreen. Flash player only kind of works. I wouldn't bother. Like CAI, maybe if it was rebuilt with the kernel headers it'd work.
It ran froyo Harmonia with modifications to the battery code, but had weird little problems like black-and-white youtube playback (even with new EGL libs,) and no adb. This release will power off froyo as soon as it gets to the lockscreen.

Anyone wants to poke around with building or modifying, fork it or just git clone it!
Here's the source link:
https://github.com/bigsupersquid/android_kernel_lge_msm7x27-3.0.x.git
(branch cm-11.0)
thunderc-test_defconfig
you'll want to change or remove the toolchain path in the config. Highly unlikely your cross toolchain is in the same path as mine. I set it in there to avoid having to add "CROSS_COMPILE=/blah/blah/etc" to the make command every time I rebuild the kernel.

merged some ZV9 stuff in... it looks like the 2.6.35 Sprint stuff (https://bitbucket.org/thekraven/iscr...-2.6.35-rebase) may merge more cleanly into 3.0.8 though. Used some of each here, some there.

Where it's at currently (working/nonworking):
beta 1: offline charging still down, but has stock LG charger detection in battery code. Everything else, working fine.
as of test 81, basically everything works except offline charging!
pre-test 81:
adb works.
USB mass storage works.
bluetooth works! pairs with my keyboard.
3g works, as does wifi.
triple framebuffer works. Enabled.
youtube video plays. regular and hq both.
phone works, mms and sms too.
audio routed correctly now for on-device outputs. Speakerphone a bit on the quiet side. stock headset works but high volume. headset button picks up calls, or mutes microphone if in-call. I own no bluetooth headsets to check functionality though.
bluetooth audio seems to mostly work in JBC and CAI, test 40 and up.
all hard keys working.
vibrator works.
GPS works... locked within 10' of my actual location.
button backlights working.
NOVATEK_HITACHI mess from LG for the multidevice display driver is working. Should be no black screen on newer or older phones.
proximity sensor works.
camera completely working in test41. videocamera, panorama(!) still camera, and even that weird HDR mode.
thanks to thekraven for camera fixes!
battery meter working, but only refreshes after screen off/on. charging indicator also refreshes, but only on sleep/wake, as of test 50. Charges faster than standard through usb, I set it to 350mA instead of the default 2. The charge rate can be changed, in the config under drivers-usb-gadget.
accelerometer working as of test 41.
compass working as of test 41.

framebuffer console after display initializes... I took patches from [DEV] Framebuffer console - xda-developers and added a .config switch to turn this on or off. dmesg display requires funky kernel command line, and goes away when initlogo.rle and the bootanimation play. this shows crashes and panics before adb connects, though, is good for debugging, and is borrowed from gingerbread p500 kernel. thanks to tasssadar. Disabled in this build, but can be turned on in config if you build your own.
overclock enabled. Including AHB memory overclock from http://androidforums.com/3528567-post12.html. thanks to jiilik.
restored log size in test 45, was blocking logcat.
dev/frandom for crossbreeder included (not a module.) As of test 45.

random reboots appear to be a thing of the past. hopefully.

test40 onwards compiled using hardfloat flags (meaning it uses the math coprocessor instead of doing math with the CPU)
https://github.com/jawz101/android_kernel_thunderc/commit/78f4241838d6b7d856ef49b495e18135dbb5465e
gnu toolchain here
added armv6k compile flags since the MSM7627 is capable of handling the added instructions.

1-4-2014: now battery temperature readout should work right. Source pushed but no new binary yet. commit


Thanks to:

thekraven for helping point things out and providing a test ROM with the right kernel headers. It still runs fine with the standard builds of PAC and JBC.
also thanks to androidarmv6 team and all the thunderg devs who got it working on their device. Without all that code I'd have had no hope of getting this working at all, since I just copied so much of it over from thunderg to thunderc...
meld is my best friend with linux and kernel patching to compare and patch the differences.
 
Last edited:

sellers86

Well-known member
Jul 21, 2011
1,837
617
0
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

im in contact with the p500 guys, they may have had the same issues. ill get a hold of them soon if you would like.
 

thewraith420

Well-known member
Sep 6, 2011
1,987
223
63
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

Very cool Bigsupersquid, I've moved on to a new phone but it's only made me realize how amazing it is that the OV devs have gotten things working soo good on android versions the manufacturer never dreamt could run on it. My thanks goes out to the whole ov community for making my first android one to remember

Sent from my Evo V 4G using Tapatalk 4 Beta
 
Feb 19, 2011
1,971
284
0
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

im in contact with the p500 guys, they may have had the same issues. ill get a hold of them soon if you would like.
without a working thunderg kernel source, I'd've never gotten this far. those devs rock.
somebody actually knows what they're doing might have better luck than I, is mostly Frankenstein monster work again so far.
 

gollum18

Well-known member
Oct 10, 2011
1,485
32
0
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

You could try to get a hold of thekraven, he does a lot of building for both the s and v.

Sent from my SPH-L710 using Tapatalk 2
 

sellers86

Well-known member
Jul 21, 2011
1,837
617
0
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

He lost his OS. Squid, I get out of school in a couple days. I'll start in on kernels then. No promises though.

Sent from my Nexus 4 using Android Central Forums
 
Feb 19, 2011
1,971
284
0
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

He's given me a bit of advice already.
I posted this in the Sprint section too... more kernel devs over there, I think.
thanks.

- - - Updated - - -

You could try to get a hold of thekraven, he does a lot of building for both the s and v.

Sent from my SPH-L710 using Tapatalk 2
 

AndyOpie150

Well-known member
May 15, 2011
1,254
32
0
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

Just started learning kernel development (So far have only added a couple of governors to a kernel). Wow! Do I have a huge amount to learn. Will follow progress and all links in order to learn more.

Sent from my LG-VM670 using Android Central Forums
 
Feb 19, 2011
1,971
284
0
Visit site
Re: [Teaser][android_kernel_lge_msm7x27-3.0.x (3.0.8)][a little help?]

Bump. For booting.
Still no display, and it resets the phone when the last_kmsg looks like it's going to sleep.
But it actually boots, and loads some of Android, enough for adb. Which is working :)
Hoping somebody with actual kernel know-how will join in here and help out with the broken bits... this could be lotsa fun to have on our /supposedly obsolete/ devices that Qualcomm and LG say aren't worth supporting anymore.
 

AndyOpie150

Well-known member
May 15, 2011
1,254
32
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]

Have you tried PMing BobZohme or mrg666 they have more time with kernels than most.
There is also tvall as well.

Sent from my LG-VM670 using Android Central Forums
 
Feb 19, 2011
1,971
284
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]

nah, rather than looking for a tutor I'm plopping the source out there to see if anyone else wants to pick it up and run with it.
Otherwise I'll keep plodding along tweaking things one at a time.
Now the backlight registers correctly, for example. But still no display.
/edit
actually, Hitachi screen now shows blurry lg logo but won't boot to adb or panic or sleep, so it's hard to pin down issue.
 
Last edited:

vector84an

Well-known member
Apr 7, 2013
70
0
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]

Code:
[    2.069501] Warning: unable to open an initial console.
I don't have a lot of experience with android kernels... but from what I remember of linux... isn't this a fatal boot error that will cause the subsequent kernel panic from not syncing?
Can't find console device, so something about env not setup right or wrong boot args?

I also see it fails to find or execute the PA init (PA has a bunch of screen hackery in it, doesn't it?) ... again, I don't know much, but might it be worth it to try loading it up in JBC or similar?

Have you tried raising the loglevel in init.rc to get more detailed information out of your init logs? max is 8 I think?


Dunno if any of this is helpful or just useless clutter, but figured I'd toss it out there...
 
Feb 19, 2011
1,971
284
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]

The lack of console doesn't stop boot.
It keeps going until Android requests sleep. Then it shuts down and syncs (if only Novatek driver that won't turn on, or no LCD panel set in config.)
308wmddi_Novatek-enabled - Pastebin.com
I verified in logcat that the sleep request (from being unable to open the framebuffer) occurs before the sync.
Sleep causes a shutdown until a key is pressed, then an instant reboot. Or skips the keypress and goes straight to a reboot on its own.
So, sleep is messed up, but it's nice that it reboots so the ram console can be read (/proc/last_kmsg)
When there is no video driver built in (no lcd panel in config) it syncs before sleep/reboot. Same if it uses Novatek driver.
Code:
[    1.264353] primary mddi base phy_addr = 0xaa600000 virt = 0xdd80a000
[    1.274941] mddi_novatek_lcd_probe: started.
[    1.275043] mddi_novatek_lcd_init: setting up panel info.
[    1.275378] mddi_novatek_lcd_probe: started.
[    1.277541] pm_runtime: fail to wake up
[    1.305229] mddi_novatek_lcd_on: started.
It doesn't wake the display. Backlight stays on and it's blacked out. Flickers when changing modes.
Using NOVATEK_HITACHI hybrid driver from LG's thunderc kernels does the same as using the Hitachi driver. It doesn't sync or sleep, and never starts ADB. The hitachi driver shows the LG logo and never gets past it. ADB becomes accessible shortly after initlogo.rle is shown.
The loglevel is for Android. Logcat didn't tell me much of use, and I'm using dmseg/last_kmsg for debugging which comes straight from the kernel. Verbosity is set in the config.
I've tried booting recovery instead of PAC with the blacked-out kernel which syncs before sleep of death, but no adb and it just locks up.
PAC gives a decent logcat up until it b*tches about the framebuffer and puts the phone to sleep.
interesting bits:
Code:
I/gralloc (   92): using (fd=15)
I/gralloc (   92): id           = msmfb30_1000a
I/gralloc (   92): xres         = 320 px
I/gralloc (   92): yres         = 480 px
I/gralloc (   92): xres_virtual = 320 px
I/gralloc (   92): yres_virtual = 960 px
I/gralloc (   92): bpp          = 16
I/gralloc (   92): r            = 11:5
I/gralloc (   92): g            =  5:6
I/gralloc (   92): b            =  0:5
I/gralloc (   92): width        = 51 mm (159.372543 dpi)
I/gralloc (   92): height       = 76 mm (160.421051 dpi)
I/gralloc (   92): refresh rate = 60.00 Hz
...
I/InputReader(  383):   Touch device 'touch_mcs6000' could not query the properties of its associated display.  The device will be inoperable until the display size becomes available.
...
D/SurfaceFlinger(   92): Screen acquired, type=0 flinger=0x1e7c318
D/SurfaceFlinger(   92):  screen was previously acquired
...
I/ActivityManager(  383): System now ready
I/SystemServer(  383): Making services ready
...
I/Zygote  (  383): Process: zygote socket opened
I/ActivityManager(  383): Start proc com.android.systemui for service com.android.systemui/.SystemUIService: pid=460 uid=10009 gids={50009, 1028, 1015, 1023, 3002, 3001, 1006}
...
W/WindowManager(  383): Window freeze timeout expired.
W/WindowManager(  383): Force clearing orientation change: Window{40e471e0 u0 Keyguard}
...
I/SurfaceFlinger(  637): SurfaceFlinger is starting
I/SurfaceFlinger(  637): use dithering
I/SurfaceFlinger(  637): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
D/libEGL  (  637): loaded /system/lib/egl/libEGL_adreno200.so
D/libEGL  (  637): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
D/libEGL  (  637): loaded /system/lib/egl/libGLESv2_adreno200.so
E/SurfaceFlinger(  637): framebuffer_open failed (No such file or directory)
E/        (  637): FBIOGET_FSCREENINFO failed
E/copybit (  637): Error opening frame buffer errno=2 (No such file or directory)
I/hwcomposer(  637): Initializing Qualcomm Hardware Composer
I/hwcomposer(  637): MDP version: 0
I/hwcomposer(  637): DYN composition threshold : 2.000000
I/hwcomposer(  637): hwc_device_open: Faking Hardware VSYNC
E/SurfaceFlinger(  637): ERROR: failed to open framebuffer, aborting
F/libc    (  637): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 640 (SurfaceFlinger)
and the start of the sleep cycle, from a better logcat:
Code:
I/PowerManagerService(  387): Going to sleep due to screen timeout...
D/PermissionCache(   91): checking android.permission.READ_FRAME_BUFFER for uid=1000 => granted (393 us)
D/SurfaceFlinger(   91): Screen released, type=0 flinger=0xaa1318
D/dalvikvm(  387): GC_CONCURRENT freed 743K, 29% free 5670K/7916K, paused 19ms+21ms, total 119ms
D/dalvikvm(  387): WAIT_FOR_CONCURRENT_GC blocked 89ms
I/WindowManager(  387): Lock screen displayed!
parallel with
Code:
[  124.039269] request_suspend_state: sleep (0->3) at 124044403291 (2013-06-09 07:24:48.462239955 UTC)
[  124.039328] aat28xx_sleep: cur state=1 to sleep state(2)
[  124.039656] aat28xx_power_internal: on = 0, refcnt = 1
[  124.085339] [Touch] ts_set_vreg() onoff:0
[  124.234931] mddi_novatek_lcd_off: started.
[  124.329806] display_table_novatek() : delay 50 msec
[  124.533929] display_table_novatek() : delay 100 msec
[  124.533963] mddi_novatek_lcd_panel_poweroff: started.
[  124.550606] mddi_novatek_lcd_off: NOVATEK LCD OFF
[  124.559253] msmsdcc_early_suspend : start 
[  124.559284] msmsdcc_early_suspend : end 
[  124.559298] msmsdcc_early_suspend : start 
[  124.559313] msmsdcc_early_suspend : end 
[  124.559351] PM: Syncing filesystems...
[  124.559569] active wake lock PowerManagerService.Broadcasts
[  124.559588] active wake lock usb_bus_active
[  124.561841] sync done.
since it gets to the lockscreen, I doubt it's issues with PAC specifically.
I'm pretty sure a working video driver would allow more debugging.
 
Last edited:
Feb 19, 2011
1,971
284
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]

visible boot!
(Novatek display only. old type.)
multiscreen NOVATEK_HITACHI driver not quite patched yet. Soon.
Hitachi may or may not work works with regulator changes in board-thunderc-panel.c that fixed Novatek output.
Either hitachi or novatek must be individually selected in config as yet.
There are still regulator errors but the screen and touchscreen work.
sleep still kills the device, and it reboots pretty quickly right now anyway.
regardless of that, I soon hope to screenshot the kernel version...
/edit
sleep is fine. deep sleep works.
screenshot in OP :)
Hitachi screen works too
also 3g and wifi.
 
Last edited:

sellers86

Well-known member
Jul 21, 2011
1,837
617
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]booting!

Good job!

Sent from my Nexus 4 using Android Central Forums
 

AndyOpie150

Well-known member
May 15, 2011
1,254
32
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]booting!

Any info on what you did to get it working right?

Sent from my LG-VM670 using Android Central Forums
 
Feb 19, 2011
1,971
284
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]booting!

Any info on what you did to get it working right?

Sent from my LG-VM670 using Android Central Forums
look at last commit to arch/arm/mach-msm/lge/board-thunderc-panel.c
here, specifically, this is what you see on github as the patch.


Code:
arch/arm/mach-msm/lge/board-thunderc-panel.c
@@ -33,13 +33,12 @@
     (vreg_##op == vreg_enable) ? "vreg_enable" \
       : "vreg_disable", name); \
 } while (0)
I]-
+*/[/I]
 static char *msm_fb_vreg[] = {
 //  "gp1",
   "gp4",
   "gp2",
 };
[I]-*/
[/I] 
 static int mddi_power_save_on;
 static int msm_fb_mddi_power_save(int on)
@@ -49,14 +48,14 @@ static int msm_fb_mddi_power_save(int on)
   static struct regulator *vreg_gp2;
 
   if (!mddi_power_save_on) {
[I]-    vreg_gp1 = regulator_get(0, "gp1");
+    vreg_gp1 = regulator_get(0, msm_fb_vreg[0]);
[/I]     if (IS_ERR_OR_NULL(vreg_gp1)) {
       pr_err("could not get vreg_gp1, rc = %ld\n",
         PTR_ERR(vreg_gp1));
       return -ENODEV;
     }
 
[I]-    vreg_gp2 = regulator_get(0, "gp2");
+    vreg_gp2 = regulator_get(0, msm_fb_vreg[1]);
[/I]     if (IS_ERR_OR_NULL(vreg_gp2)) {
       pr_err("could not get vreg_gp2, rc = %ld\n",
         PTR_ERR(vreg_gp2));
@@ -122,6 +121,19 @@ static int msm_fb_mddi_power_save(int on)
 
 static void __init msm_fb_add_devices(void)
 {
[I]+  /* 
+  ------------------------------------
+     |  Rev C     |  Rev 1.0
+  ------------------------------------
+  VREG_GP1 | always off | +2.8V_LCD 
+  ------------------------------------
+  VREG_GP2 | +2.8V_LCD  | +1.8V_HPVDD
+  ------------------------------------
+  */
+  if(lge_bd_rev >= 8) /* >= Rev 1.0 */
+    strcpy(msm_fb_vreg[1], "gp1");
+    /* LGE_CHANGE_E [james.jang@lge.com] 2010-07-06 */
+  
[/I]   msm_fb_register_device("mdp", &mdp_pdata);
   msm_fb_register_device("pmdh", &mddi_pdata);
   msm_fb_register_device("lcdc", 0);
I also ended up changing the voltage on one regulator to match a dmesg error so it'd shut up.

//edit: and eventually ended up changing the voltage back, and fixing the regulator itself because it was configured wrong.
 
Last edited:
Feb 19, 2011
1,971
284
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]booting!

The forum has been boring.
I found a neat trick.
/proc/last_kmsg can sometimes be read after a lockup, by pulling and quickly replacing the battery with the usb cable still connected.
seems to cause a soft reset, while the kernel reboots politely, which allows the ram console to survive.
 
Feb 19, 2011
1,971
284
0
Visit site
Re: [SOURCE][android_kernel_lge_msm7x27-3.0.x (3.0.8)]booting!

update!
msm_battery.c tweaked with msm_battery_thunderc.c and shaved down by almost half its length of useless code (about 900 lines shorter,) yields all required battery info, and even some useless extra info that doesn't make it out into the sysfs.
well, all required info except for no charger info yet; but it is charging though usb, even though it doesn't realize that fact.
no random reboots yet since changing battery code. It's still early in the day, though.
testing on my daily driver phone!
will upload changes soon.
by the way, I cut out all the LGE rapi, PIF, LGE_FUEL_GAUGE, and other stupid cruft that wasn't upwardly compatible. Why leave in bad LG code that just slows things down anyway?
Unfortunately I don't know how the VBATT thing works, so I flat disabled the msm_battery.c in the config, and also in the Makefile to avoid conflicts (Makefile uses a couple of switches to check for thunderc.)
With that knowhow I could make this like the original thunderc battery, where it exported its info as a pseudo battery to the regular msm_battery code through the VBATT section.
At least this way it's a lot shorter and (somewhat) easier to read.

dmesg still shows rpc issues with msm_hsusb and a few other similar problems, but it's usable enough for my daily driver so far... except I can't use GNavigator turn-by-turn until the accelerometers and compass are fixed.
audio output routing is correct now.

//edit: the battery output is readable by Jellybean, but Froyo doesn't see power and shuts down (why am I testing different Android versions? Zefie's multi-OS kernel was my favorite until it got outdated.)
Apparently the battery info has at least one output that needs renamed. Froyo doesn't see voltage_now, and powers off... the old kernel output batt_vol, batt_temp, batt_therm, etc. Going to see about fixing that.
//edit: Froyo will boot and runs ok with extra bit of power_supply_sysfs.c included, but youtube videos play black-and-white in froyo? and adb won't connect with that android version. adb doesn't work in any recovery I have currently, either, and I have collected a LOT of recoveries. weird. recovery probably needs rebuilt from JB source for adb to get along with the 3.x kernel.
to h*** with froyo support! froyo bites anyway.
 
Last edited:

upconvert

Well-known member
Oct 24, 2011
486
3
0
Visit site
Re: [SOURCE][ALPHA][android_kernel_lge_msm7x27-3.0.x (3.0.8)]

Good stuff! Are you still running this with the PAC ROM? Is the Bluetooth working?

Sent from my GT-P7310 using AC Forums mobile app