• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root ICS/CM9-JB/CM10 Development Thread

@Bloodawn: I have noticed that when I have the USB cable connected and I let the phone enter sleep state (eg. when the screen goes blank), it crashes and reboots into recovery. I don't know if this is a result of my changes or not. Have you seen this?

I reverted the change that forced recovery mode on panic and looked at /proc/last_kmsg when the phone comes back up. It looks like the error is:


[ 343.548004] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfb05401c
[ 343.548034] Internal error: : 1028 [#1] PREEMPT

This is followed by a bunch of diagnostics. The stack trace looks like this:


[ 343.548614] [<c01f91d4>] (omap_gpio_save_context+0x14/0xb0) from [<c01fa848>] (omap2_gpio_prepare_for_idle+0x3c/0x41c)
[ 343.548645] [<c01fa848>] (omap2_gpio_prepare_for_idle+0x3c/0x41c) from [<c0052e28>] (omap_sram_idle+0x238/0x574)
[ 343.548675] [<c0052e28>] (omap_sram_idle+0x238/0x574) from [<c0053240>] (omap3_pm_enter+0xdc/0x1a8)
[ 343.548706] [<c0053240>] (omap3_pm_enter+0xdc/0x1a8) from [<c00a128c>] (suspend_devices_and_enter+0x134/0x1fc)
[ 343.548736] [<c00a128c>] (suspend_devices_and_enter+0x134/0x1fc) from [<c00a1414>] (enter_state+0xc0/0x128)

Note omap_gpio_save_context() is in drivers/gpio/gpio-omap.c, which was arch/arm/plat-omap/gpio.c in the old kernel, and heavily modified for 3.0.8.
 
I see that some of the Optimus Black roms have the old kernel would it be easier to port that or will it not work I am new to this stuff
 
I see that some of the Optimus Black roms have the old kernel would it be easier to port that or will it not work I am new to this stuff

The kernel that we are using for ICS boots and runs fine, but I have not been able to get the sdcard to mount. On the other hand, the 3.0.8 kernel mounts the sdcard fine but the usb connection is busted.
 
In the interest of expediency (and that I am extremely frustrated right now), I tried the sdcard thing on the HyperICS kernel again. And ... it worked!

As of right now, the following are not functional on my CM10-with-HyperICS build: bluetooth, cameras, gps. I am looking into these now. I suspect that bluetooth should be pretty easy to get working. Cameras may require some kernel hacking. gps is a sore spot and may not be fixed for a while, if at all.
 
In the interest of expediency (and that I am extremely frustrated right now), I tried the sdcard thing on the HyperICS kernel again. And ... it worked!

As of right now, the following are not functional on my CM10-with-HyperICS build: bluetooth, cameras, gps. I am looking into these now. I suspect that bluetooth should be pretty easy to get working. Cameras may require some kernel hacking. gps is a sore spot and may not be fixed for a while, if at all.

Nice.

I'll keep working on the 3.0.8 kernel when I can, maybe I'll get lucky and actually fix something lol.
 
Nice.

I'll keep working on the 3.0.8 kernel when I can, maybe I'll get lucky and actually fix something lol.

I wish I had half the patience and time that you guys have to work on this... taking this would be so gratifying. But with a 50-60hr a week job plus a crazy toddler, free time is hard to get. I appreciate and trust in the end product you and Tdm give us. Marie owners are very fortunate to have you guys. I have seen some of the deserted forums for other phones, and it just makes me feel extremely grateful.
 
Well, I started out trying to pull the camera stuff from the 3.0.8 kernel. And code kept unraveling and unraveling and now I think I have most all of the video code. Unfortunately, it won't boot. And, since I can't get a framebuffer console, I can't figure out why not. :(
 
I tried the reverse this morning: put the GB kernel into BD's cm10test3. The system fails to initialize because of video driver compatibility issues:

logcat:
E/FramebufferNativeWindow( 1348): couldn't open framebuffer HAL (Not a typewriter)
E/FramebufferNativeWindow( 1348): couldn't open gralloc HAL (Not a typewriter)
E/SurfaceFlinger( 1348): Display subsystem failed to initialize. check logs. exiting...

dmesg:
<6>[ 2.272064] PVR_K: (FAIL) SGXInit: Mismatch in client-side and KM driver build options; extra options present in client-side driver: (0x4). Please check sgx_options.h

Next, I tried my hacked up kernel from yesterday, and of course it didn't boot.

I strongly suspect that the camera issue is related to API changes in the 3.0.8 kernel. Could be the video stuff above or v4l2 stuff or something else, I don't know.

Did I mention that I really wish I had a framebuffer console? :P
 
In the interest of expediency (and that I am extremely frustrated right now), I tried the sdcard thing on the HyperICS kernel again. And ... it worked!

As of right now, the following are not functional on my CM10-with-HyperICS build: bluetooth, cameras, gps. I am looking into these now. I suspect that bluetooth should be pretty easy to get working. Cameras may require some kernel hacking. gps is a sore spot and may not be fixed for a while, if at all.

What about the Bloodwam's ROM that you fixed the charging/discharging thing?
It isn't working?
 
What about the Bloodwam's ROM that you fixed the charging/discharging thing?
It isn't working?

Still can't get the usb cable to be recognized.

I suspect the issue is related to the twl4030 phy being put into suspend mode.

I'll get back around to that later, and hopefully figure out the issue. Right now I just want a working JB system.

My current strategy is to try pulling in the video and camera stuff from the 3.0.8 kernel. That may ultimately be unsuccessful but I think it's the best bet right now.
 
Still can't get the usb cable to be recognized.

I suspect the issue is related to the twl4030 phy being put into suspend mode.

I'll get back around to that later, and hopefully figure out the issue. Right now I just want a working JB system.

My current strategy is to try pulling in the video and camera stuff from the 3.0.8 kernel. That may ultimately be unsuccessful but I think it's the best bet right now.

seems to be the most logical, Good luck.
 
  • Like
Reactions: tdm
@Bloodawn: I have noticed that when I have the USB cable connected and I let the phone enter sleep state (eg. when the screen goes blank), it crashes and reboots into recovery. I don't know if this is a result of my changes or not. Have you seen this?

I reverted the change that forced recovery mode on panic and looked at /proc/last_kmsg when the phone comes back up. It looks like the error is:


[ 343.548004] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfb05401c
[ 343.548034] Internal error: : 1028 [#1] PREEMPT

This is followed by a bunch of diagnostics. The stack trace looks like this:


[ 343.548614] [<c01f91d4>] (omap_gpio_save_context+0x14/0xb0) from [<c01fa848>] (omap2_gpio_prepare_for_idle+0x3c/0x41c)
[ 343.548645] [<c01fa848>] (omap2_gpio_prepare_for_idle+0x3c/0x41c) from [<c0052e28>] (omap_sram_idle+0x238/0x574)
[ 343.548675] [<c0052e28>] (omap_sram_idle+0x238/0x574) from [<c0053240>] (omap3_pm_enter+0xdc/0x1a8)
[ 343.548706] [<c0053240>] (omap3_pm_enter+0xdc/0x1a8) from [<c00a128c>] (suspend_devices_and_enter+0x134/0x1fc)
[ 343.548736] [<c00a128c>] (suspend_devices_and_enter+0x134/0x1fc) from [<c00a1414>] (enter_state+0xc0/0x128)

Note omap_gpio_save_context() is in drivers/gpio/gpio-omap.c, which was arch/arm/plat-omap/gpio.c in the old kernel, and heavily modified for 3.0.8.

I flashed the cm10test3.zip without the charger fix kernel and its sleeping fine, so one of the fixes must be whats making it panic.
 
I ended up with all of drivers/media and drivers/video from the 3.0.8 kernel and it still didn't boot. I'm afraid that I bit off more than I can chew without adequate debugging support.

So I trashed all that and just updated sgx. That booted. The next error was regarding dsscomp, so I'm working on updating that next.
 
the 3.0.8 kernel is pissing me off so I'm gonna try something new. I took the cm7 kernel for the black and switched the mounting so it boots with ctmod, now I'm gonna try to fix the usb/ril for this kernel and if I get it fixed apply those changes to the 3.0.8 kerenl.
 
So so far whats the verdict? CM9 or 19 for Marquee or should I stick with Blooddawn's CTMod? I'm not opposed to bugs, for what it's worth.
 
So so far whats the verdict? CM9 or 19 for Marquee or should I stick with Blooddawn's CTMod? I'm not opposed to bugs, for what it's worth.

We are working on cm10. I could release an alpha, as it has parity with cm9 right now, but I really want to get the cameras working.
 
If I may inquire, how is the CM9 Rom? Or are the two having similar issues on the Marquee? Not meaning to come across as prying, just curiosity. Either way, thank you for the work your putting in.
 
I'm familiar with the above links but seeing as tdm was kind enough to weigh in on the matter I thought I'd ask a bit further.

The answers to your questions are in both those threads and this thread if you would take the time to read them. While I don't want to speak for tdm, I'd guess that he doesn't want to explain the current status of everything to every person that wants to come here and ask "what's up?"

It has been said multiple times that this is a dev thread for them to work through, and asking for ETAs and statuses is discouraged.
 
For me it's educational as I like to actually look into what they are talking about and see how the development process takes shape. One day I might want to help out more than just financially but I want to have a good understanding of the concept before I do. I will say that I am anxious for the next release just like everyone else but pestering them will not make the development any faster.
 
Back
Top Bottom