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

Root [DEV] WIP CM9 (Camera) [updated 2/23/2013]

For whoever has write access to the opening page, wifi tether works perfectly (for me) on the 2/23 rom. Our wifi at work went down briefly. Was pleasantly surprised.

We'll see what happens in the next few releases:D
I'm booting up the workstation as I write.
 
I think removing out is the same as make clean. I still don't understand how repo works. The one thing i did learn is 'repo branches', I then manually used git to update and pull each branch listed there to the proper one. I'm staying away from 'repo sync' for now.

repo sync is fine as long as test before we post (that means me) I thought I had it all set up properly.
I have to look into repo branches. Maybe I can use something there.
 
Not sure what you mean by Portable tethering. I meant Wifi tethering. Ie, the laptop connects to the internet via a Wifi hotspot on your phone.

There are two options in the tethering menu: portable tethering (just turning it on, basically wireless wifi) and usb tethering (tethering to the computer through the usb cord). which one are you using?
 
Adamto, this is probably asking for a lot but have you ever considered porting a 3.x kernel to the triumph?
I'm not sure what the value of a 3.x kernel would be.

Anyway, with all the closed stuff we rely on I think I would put this task in the "technically possible, but extremely unrealistic" category.
I have tried and also all the devs for the X6 variants have also tried. To be honest there may be benifits but unless we had full source code to work with we are better off staying on our original kernel(either Stock or M410 2.6.32.9). We would need every bit of source to be able to use it, since there were many huge overhauls to the kernel. Plus there is always this discussion on all devices, look at the Xoom for instance, they are still on 2.6.39.? and they are running Jellybean 4.2. Or, look at the Xperia Play it got an official beta ICS update from Sony that used the 2.6.32.9 kernel that we use and it had the same SOC and RAM as us. We have to deal with is what we have, we need to match our proprietary device files with our kernel. I am working on getting the M410 Kernel updated to CM9. I have it booting and everything working, except Wifi, including 3G and bluetooth. The camera kinda took a step back, as in it doesn't preview but will take the picture. But I think this may be the way to go, it also seems snappier. If anybody can live with out Wifi for a day or so wants to test it out to see if it will be a viable candidate for our new kernel, then let me know. I really want to see about the memory leaks and the random reboots.

EDIT: Got wifi working with the M410 kernel.


It looks like it's coming up ok, I'll try a clean just to be sure. I pushed a couple device_motorola_triumph changes I had been sitting on: don't build libcamera2 and fix the rmt_storage issue which you had commented out. I put those in master because it looked like the ics branch is unused, hope that is ok.
The default.xml is what repo uses to retrieve and place the files it is using. The ics branch is used, since CM9 is ics, unless specified in the default.xml in either /android or /repo/manifests since it is the default revision for any repository that is not specified. For it to be using master, there would need to be a revision="master" tag for that repository. I haven't looked to see if that was the case for what you guys are talking about, I know the device files got jacked a while back, but figured I would throw that out there. I had to setup the default.xml for PA and it was a pain.
I reverted vendor_motorola_triumph back to https://github.com/MTCM9/android_ve...mmit/329c082966f0298d1d92374eb74047b932415a84 and it's working. I think it's the libcameraservice.so and libcamera_client.so in the copy you modified, those two we should be using the ones that are built.

EDIT: BTW, since I had to figure this out maybe it will be useful for you too. Once you identify the commit you want to go back to in git log, for example the commit above, do:

Code:
git checkout 329c082966f0298d1d92374eb74047b932415a84
but now you are in a 'detached head state', so you don't really want to do anything other than:

Code:
git checkout ics
or whatever your branch is when you're done.

EDIT2 (lol): In most cases when source code (c files, java files) change, I don't think you should have to do a 'make clean'. However, when we are modifying these makefiles or other parts of the build system, android doesn't seem to handle that. But, instead of doing a 'make clean' when modifying makefiles, I think you should still be able to prevent a full rebuild by removing just 3 directories: system, root, and recovery in out/target/product/triumph. That should make sure all the source code is built, but only recopies the built stuff, reducing build time drastically.

the "not" make clean might help. I made a script to delete the out/ if it finds it. I can modify it to remove the parts you mention.

And on the commit thing, I was doing that and a bunch of other things like upgraded the HDD in the workstation. The weird thing is it would boot from either drive (I imaged the old drive to the new one) So I was confused on what drive I was in at what time.


I need to slow down. Get some rest....:rolleyes: Yeah right!

EDIT: Testing out the new script.
EDIT2: The old, full build
Start: Thu Mar 14 00:58:30 EDT 2013
Finish: Thu Mar 14 01:41:41 EDT 2013~42Minutes
The new, partial build
Start: Fri Mar 15 00:12:23 EDT 2013
Finish: Fri Mar 15 00:18:56 EDT 2013~~6minutes

Didn't work for me, but like I said, I need sleep.
I'll try tomorrow.
And I see what you are talking about with the camera files.
Thankyou

I think removing out is the same as make clean. I still don't understand how repo works. The one thing i did learn is 'repo branches', I then manually used git to update and pull each branch listed there to the proper one. I'm staying away from 'repo sync' for now.
Removing out is the same as make clean, when you are building the OS. I believe that the kernel files are also copied to out before being built, since when you just build the kernel the files are built in place and cleaning is not something you can do by deleting a folder, as the files are where ever the source file is.
Hopefully tonite I'm going to reset the device files and try to bring clarity to what we are using. I'll start small with the known camera files. I think we are using the stock for now? Then I'll move on to media type files and finish with telephony.
I am using all of the files from the Cherry Magnum in PA except the 3 ril files, liba2dp, libaudio, and libdiag and a couple modules for wifi like libra.ko. I think that may be the best route since to go, I am going to try to move all the files to Cherry except the ril files, and hopefully get the wifi working on the M410 kernel. I am also going to try to update my Sharp kernel to CM9 as it is built off our Stock kernel source. Let me know what you think.

EDIT: Got wifi working with the M410 kernel.
 
I am using all of the files from the Cherry Magnum in PA except the 3 ril files, liba2dp, libaudio, and libdiag and a couple modules for wifi like libra.ko. I think that may be the best route since to go, I am going to try to move all the files to Cherry except the ril files, and hopefully get the wifi working on the M410 kernel. I am also going to try to update my Sharp kernel to CM9 as it is built off our Stock kernel source. Let me know what you think.

EDIT: Got wifi working with the M410 kernel.

Awesome. Sounds reasonable, I'm not too sure about benefits of Sharp vs. Cherry, but I did have problems with the touchscreen and Sharp on CM9 when I tried it a while ago. I think we may have discussed that actually.

If you look back, in this thread I think, you will see I looked at the overlay some. Didn't really get anywhere, and I haven't had much time for this these recently.

WB btw, glad your vacation was nice :)
 
I'm not sure how I got it to work. What happened was, The splash screen saying "getting driving directions" never closed, but, in the background behind the splash screen, the map was showing with my correct location. I was unable to do anything else from there, though.

Yeah looks like you still can't get GPS to work as well. Spotting your location doesn't require GPS on google maps, but turn by turn driving relies on it. I can get into maps and it will lock on my location, but as soon as i try to navigate, it's a no-go for me.
 
Awesome. Sounds reasonable, I'm not too sure about benefits of Sharp vs. Cherry, but I did have problems with the touchscreen and Sharp on CM9 when I tried it a while ago. I think we may have discussed that actually.

If you look back, in this thread I think, you will see I looked at the overlay some. Didn't really get anywhere, and I haven't had much time for this these recently.

WB btw, glad your vacation was nice :)
Thanks. The touchscreen drivers are the same, I used a lot of stuff from the M410 kernel in the Sharp kernel. To get them working just use the bi041p_ts.c and add the one ABS_MT_PRESSURE line in drivers/input/input.c and include/linux/input.h from the CM9 kernel. Man it is so different coming back fresh and having all the errors from before to guide me. After fighting with the TS drivers for days it came down to only those three things, but I still want to update the bi041p_ts.c to the M410 driver eventually.

Yeah, I saw the posts about the overlay, I caught up earlier today. I have a feeling we need to reconfigure the cameraHal to our overlay.

After reading up on some other phones while recovering from my many hangovers, I came to the conclusion that we just need to use the kernels that we have from the manufacturer and just update the things that need to be updated. I read through a ton of the Xoom dev threads over at XDA and there were things that they needed to update in the kernel to get things working right on JB but they still used the same kernel. And, just to clarify, I know I've said it before, the M410 is our exact kernel from FIH, just updated a few months past our kernel with updates for GB for the X6 variants. The M410 kernel in my github is modified to reflect the Sharp kernel additions and work with our phone. But we use most of the libs from the Cherry ROM so it seems like we may as well just use that kernel. I'll push an ics branch later today or tomorrow, I still need to add some bells and whistles like Zram and stuff like that. To get the wifi working you just need the libra.ko and librasisdioif.ko from the Cherry Magnum ROM. I borked my phone while on vacation so I am doing a fresh install and gonna use the M410 kernel, now that wifi is working, on my good phone for a while to see how it handles. Hopefully it will fix the random reboots.
 
Thanks. The touchscreen drivers are the same, I used a lot of stuff from the M410 kernel in the Sharp kernel. To get them working just use the bi041p_ts.c and add the one ABS_MT_PRESSURE line in drivers/input/input.c and include/linux/input.h from the CM9 kernel. Man it is so different coming back fresh and having all the errors from before to guide me. After fighting with the TS drivers for days it came down to only those three things, but I still want to update the bi041p_ts.c to the M410 driver eventually.

Yeah, I saw the posts about the overlay, I caught up earlier today. I have a feeling we need to reconfigure the cameraHal to our overlay.

After reading up on some other phones while recovering from my many hangovers, I came to the conclusion that we just need to use the kernels that we have from the manufacturer and just update the things that need to be updated. I read through a ton of the Xoom dev threads over at XDA and there were things that they needed to update in the kernel to get things working right on JB but they still used the same kernel. And, just to clarify, I know I've said it before, the M410 is our exact kernel from FIH, just updated a few months past our kernel with updates for GB for the X6 variants. The M410 kernel in my github is modified to reflect the Sharp kernel additions and work with our phone. But we use most of the libs from the Cherry ROM so it seems like we may as well just use that kernel. I'll push an ics branch later today or tomorrow, I still need to add some bells and whistles like Zram and stuff like that. To get the wifi working you just need the libra.ko and librasisdioif.ko from the Cherry Magnum ROM. I borked my phone while on vacation so I am doing a fresh install and gonna use the M410 kernel, now that wifi is working, on my good phone for a while to see how it handles. Hopefully it will fix the random reboots.
OK, so I pushed the source for the M410 ICS kernel. I have been running it for two days now, and the only issue that I have found is, the first time, after about a day I lost signal and the phone process kept force closing, had to fresh install. After a new kernel build I have lost signal once and a reboot was needed to get it back. I'm sure this will be an issue, but I think I might know what it is. Like stated before, it requires the libra.ko and librasdioif.ko from the Cherry Magnum GB ROM to get wifi working. I have not built it with the system yet, or updated the headers in the device files to reflect the kernel yet. So, this is still just a test.
 
OK, so I pushed the source for the M410 ICS kernel. I have been running it for two days now, and the only issue that I have found is, the first time, after about a day I lost signal and the phone process kept force closing, had to fresh install. After a new kernel build I have lost signal once and a reboot was needed to get it back. I'm sure this will be an issue, but I think I might know what it is. Like stated before, it requires the libra.ko and librasdioif.ko from the Cherry Magnum GB ROM to get wifi working. I have not built it with the system yet, or updated the headers in the device files to reflect the kernel yet. So, this is still just a test.
If you need someone that is willing to test the ROM I'll help test it.
 
OK, so I pushed the source for the M410 ICS kernel. I have been running it for two days now, and the only issue that I have found is, the first time, after about a day I lost signal and the phone process kept force closing, had to fresh install. After a new kernel build I have lost signal once and a reboot was needed to get it back. I'm sure this will be an issue, but I think I might know what it is. Like stated before, it requires the libra.ko and librasdioif.ko from the Cherry Magnum GB ROM to get wifi working. I have not built it with the system yet, or updated the headers in the device files to reflect the kernel yet. So, this is still just a test.

Is the camera preview still not working?
 
If you need someone that is willing to test the ROM I'll help test it.
I'm not sure this is ready for testing, there are connectivity issues, and the camera is not previewing. I will have some Alpha builds here in the near future that could use some testing. I am running PAC (not PA) 4.1.2 on my dev phone now but there is no wifi or network connection as we speak.
Is the camera preview still not working?
The preview is still not working, I figured I should push it as is before I went all crazy trying to fix stuff, as somebody might have better ideas. Sorry about the commit being so big, I should have done the changes and then added the necessary files to make clean. I had to add the documentation, um and x86 folders for a few options and to be able to clean it after a build. I'll see what I can do about the commit.

Edit: I messed up a few times trying to fix the commits, so i just deleted the repo and started from scratch. The new repo is git://github.com/BSydz/BSydz_Triumph_M410_Kernel.git. I started with the Stock M410 kernel, and went from there trying to make the commits easier to decipher.
 
I'm not sure this is ready for testing, there are connectivity issues, and the camera is not previewing. I will have some Alpha builds here in the near future that could use some testing. I am running PAC (not PA) 4.1.2 on my dev phone now but there is no wifi or network connection as we speak.
Ok.Well when you have stuff for me to test let me know.
 
I have been poking at the front camera, not getting anywhere. It's just stopping on native_set_parm: fd 14, type 1, length 88, which is a call to CAMERA_SET_PARM_DIMENSION. This is similar to what was happening when the preview wasn't working, however, I don't have access to setting the message types here, as the device is being allocated when this hang happens. No real ideas at this point.
 
since my phone is temporarily out of commission, i would gladly use it to run any builds and do any testing needed.. im not too worried about if it breaks since its being replaced anyways. i have some programming experience, linux experience, and limited but some knowledge of android. so if there is anything i might be able to do to help out, please speak up!
 
I have been poking at the front camera, not getting anywhere. It's just stopping on native_set_parm: fd 14, type 1, length 88, which is a call to CAMERA_SET_PARM_DIMENSION. This is similar to what was happening when the preview wasn't working, however, I don't have access to setting the message types here, as the device is being allocated when this hang happens. No real ideas at this point.

Darn. Well, thanks for your efforts.
 
since my phone is temporarily out of commission, i would gladly use it to run any builds and do any testing needed.. im not too worried about if it breaks since its being replaced anyways. i have some programming experience, linux experience, and limited but some knowledge of android. so if there is anything i might be able to do to help out, please speak up!
As of right now, we need help figuring out the front cam and video recording. If you are familiar with compiling code you can just pull camerahal-test from the CM9 repo and try to work with it, but you may need a few other files like OverlayHTC.ccp and .h from frameworks. It should produce camera.msm7x30.so which is found in system/lib/hw in the ROM. I would suggest just pulling the whole source and going from there. Good luck.
 
After being inspired by the work of some of the developers here, I just wanted to know where/how would one without any programming experience whatsoever approach learning android development? I really wanna start but I'm having trouble with the first steps.
 
After being inspired by the work of some of the developers here, I just wanted to know where/how would one without any programming experience whatsoever approach learning android development? I really wanna start but I'm having trouble with the first steps.

Go for it! You'll need to learn a little Linux, enough to make sense of the android checkout/build process. There are guides for this just search around. dsmryder has a great build guide: http://androidforums.com/triumph-all-things-root/664633-yet-another-how-build-mtdev-style.html Building a ROM is a very cookie cutter process once you have things installed and set up. Try to get that going, and once you can make some sense of the stuff in my http://androidforums.com/triumph-all-things-root/691848-developers-tips-tricks.html thread, you'll be well on your way.
 
As of right now, we need help figuring out the front cam and video recording. If you are familiar with compiling code you can just pull camerahal-test from the CM9 repo and try to work with it, but you may need a few other files like OverlayHTC.ccp and .h from frameworks. It should produce camera.msm7x30.so which is found in system/lib/hw in the ROM. I would suggest just pulling the whole source and going from there. Good luck.

ill give it a shot! maybe something will jump out at me, worth trying! thanks BSydz.
 
Forgive me for asking this, as I'm sure the answer is obvious and I haven't been searching with the right terms or I've misunderstood something, but where is the download for this? The download link takes you to the CM9 page, is this the official CM9 ROM now or am I missing the DL link for this ROM on CM9's page? Part of the reason for my confusion is that the CM9 page (Well, there are no updates listed) seems to not have been updated for a while, but this thread has, yet this thread links to that thread, so I'm a bit confused... :/

SHORT VERSION: Where be the download link for this bodacious ROM? Very interested in the Wi-Fi and camera improvements :D
 
Back
Top Bottom