yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] smashman42:
40% left at 24hr mark so yeah, I'm lucky & almost never get battery drain issues that everyone else gets :D

did notice the headphones are still broken tho but you already know about that
[Android Software/Hacking General [Developers Only]] aorth:
AudioFilter.csv...

Hmmm... I think you're onto something. I just checked logcat and saw this:

Batteries seem to be inconsistent. My U8150 has a good battery, my buddy's doesn't... I don't know what causes it. Maybe background services, etc? Or just varying battery quality?

---------- Post added at 03:22 PM ---------- Previous post was at 02:31 PM ----------

Well AudioFilter.csv and AudioFilterU8150.csv ARE in /system/etc, so I'm not sure why it can't find them. I'll play around a bit...
[Android Software/Hacking General [Developers Only]] aorth:
My bad, the error is a parsing error, not a "not found" error... I misread it the first time. I'll have to look into that.
[Android Software/Hacking General [Developers Only]] Hetfield666:
ok, i didn't see the two files when i did diff between yours and subpsyke's but i was at work and i did a super fast lookup....

just double check.

anyhow i had to go back to fusion rom, sorry i'm a traitor but battery usage + headphones are too critical for my phone usage
[Android Software/Hacking General [Developers Only]] aorth:
Yah, both of those files are in /system/etc... btw, they get pulled from the stock ROM with the extract-files.sh script (which places them in vendor/huawei/u8150/proprietary/, and they're then copied to the resulting zip during build).
[Android Software/Hacking General [Developers Only]] Three-0-3:
brunch what?

Hi all;

First of all, I would thank marcnvidic, tilal6991, CM Devs., aorth, and all developers for CM for u8150.

How do you start to make CM for u8150? What is the parameter of brunch command?

In the file vendorsetup.sh, adding generic_ideos-combo .

In the file device_u815.mk, PRODUCT_NAME is set generic_u8150 .

I simply changed the adding combo name as cyanonge_u8150 .

My nightly has wifi unstability.

I have not pin down the precise symptom yet.

Just after boot, wifi does not connect to hidden WPA2. I'm not sure what is the point, but

Wifi had connect to the hidden WAP2 once..
[Android Software/Hacking General [Developers Only]] aorth:
Help with build process...

You're a brave soul ;). We need more people willing to waste hours compiling haha.

Regarding the build process, it's a lot of trial and error, and it takes some time to get the hang of the commands. First, I add add_lunch_combo cyanogen_u8150-eng to vendor/cyanogen/vendorsetup.sh (and a few other things), rather than using the build stuff inside the device tree. I posted more instructions the other day on my blog: Building CyanogenMod 7 for the Huawei U8150.

The commands associated with the build process are set up as shell functions by the . build/envsetup.sh step. That's where commands such as "mka", "mmm", "lunch", "brunch", "breakfast", etc come from. Based on my experience and chatting with guys here and in #cyanogenmod-dev on Freenode, I can summarize:

lunch - set up the build environment for a particular device (but doesn't make/compile!)

brunch - set up the build environment and then begin compiling immediately

make recoveryimage

make bootimage

etc...

You can see what these functions do by typing, for example, type -a brunch.

I feel like I've heard of that problem before... people were discussing it on
[Android Software/Hacking General [Developers Only]] tilal6991:
Yep - I just managed to get it compiled and booted and saw the same problem as you Alan.

I think Github is going to help us solve this - https://github.com/tilal6991/androi...mmit/0495f47dfdf2497c3578f6e2b3ee3d6347fd175c. Everything that was changed in AudioHardware.cpp needs to be checked.

I'm not really the ideal person for the job as I know not even one line of C++. :)
[Android Software/Hacking General [Developers Only]] verne2k:
hi there

i've been trying to compile the sources for CM7 for the u8150 for a few days.

today i succeeded, using tilal's repo, but when i flashed the rom it was stock android and not cyanogen O_o

also tried to follow aorth's guide but compilation aborts saying there's no rule to make RomManager.apk.

any ideas?
[Android Software/Hacking General [Developers Only]] tilal6991:
You managed to compile stock android? Are you sure? Because that would be one hell of an achievement.

Following aroth's guide you should double click on venodor/cyanogen/get-rommanger before compiling.
[Android Software/Hacking General [Developers Only]] verne2k:
ok will try that thanks.

btw no, i used your sources but there was no trace of cyanogenmod
[Android Software/Hacking General [Developers Only]] tilal6991:
Wow. That is impressive - could you post that build please?
[Android Software/Hacking General [Developers Only]] aorth:
Yeah, we should troubleshoot this... I just noticed that stock Huawei Froyo has a number of AudioFilter files in /system/etc/:

[aorth@ndechu: ~]$ ls AudioFilter*
AudioFilterC8150.csv AudioFilter.csv AudioFilterU8110.csv AudioFilterU8150.csv
AudioFilterC8600.csv AudioFilterU8100.csv AudioFilterU8120.csv AudioFilterU8300.csv

When I get time I'm gonna go look at those. Also, I was comparing AudioFilterU8150.csv with the ones in subpsyke's U8160 device tree; they're identical... but his audio works just fine... subpsyke? :)

Awesome! Yep, tilal's device tree gives you stock CM7. tilal's "Gingerman" series was his customized version of CM7, with a few extra APKs, tweaks, bootanimation, etc. I'm only interested in stock CM! Also, tilal's right, you need to run the get-rommanger script. Check these instructions on the CyanogenMod wiki: http://wiki.cyanogenmod.com/wiki/Samsung_Galaxy_S:_Compile_CyanogenMod_(Linux)#Download_RomManager
[Android Software/Hacking General [Developers Only]] tilal6991:
Over my time modding for the U8150 I've modded the AudioFilter.csv a lot. The result of all my modding: no change at all to the audio.

I don't think the system even looks at the csv file. I may be wrong though :)
[Android Software/Hacking General [Developers Only]] verne2k:
i'm sorry i don't have that anymore :/ i restarted from scratch with aorth's method and am now compiling...

but anyway, i think that something went wrong in the compilation... i'm under virtualbox and it's giving me weird errors and i had to launch the compilation quite a few times before it got to the end
[Android Software/Hacking General [Developers Only]] aorth:
Broadcom FM seeking support merged in upstream CM7

I just saw that seeking in FM radio on Broadcom chips was merged in upstream CM7: http://review.cyanogenmod.com/#change,6157

subpsyke mentioned last week that he tried this patch and it does indeed work in his U8160. Once we get libaudio issues sorted out (and FM Radio) we'll be golden. ;)
[Android Software/Hacking General [Developers Only]] psyke83:
2 questions:

1. Does your U8150 stock rom contain a "brcm_patchram_plus" binary?

2. Does your U8150 stock rom contains a .hcd file anywhere?

If the answer two both is yes, you may want to overwrite your version of the files onto my ROM (making sure to rename the .hcd file to match mine in system/etc/bluetooth).

There's a good chance that those 2 simple changes could make FM radio work on my port. If it does, then porting the changes to your build will be easy.

---------- Post added at 12:34 AM ---------- Previous post was at 12:31 AM ----------

Yes, it works fine. My "v0.1 hotfix1" build has this patch included.
[Android Software/Hacking General [Developers Only]] aorth:
Status update...

To answer your questions, no and no. Haha, I was poking around in your init.rc and I noticed you were doing something with the broadcom stuff; we don't have anything like that on our stock ROMs.

Onto another issue, I'm cleaning/updating our U8150 device tree and I'm trying to track down what we actually need to extract from stock ROMs (and at the same time learning the build system). Right now I'm playing with building gps, copybit, and msm lights instead of pulling them, and I have a few observations:

I'm not sure what libcopybit is for, but it appears to be some sort of 2D rendering library? And the open source copybit seems to be much slower...? For what it's worth, I see tilal's ROMs have much better performance (dragging the notification bar down, for example). Also, the camera has stopped working in my builds (well, the live preview at least, pictures do take), and I suspect it's related to libcopybit?

Sensors seem to be working:

D/SensorService( 192): nuSensorService starting...
D/SensorService( 192): Opened sensors in backwards compat mode
I/SensorService( 192): AK8973 Compass
I/SensorService( 192): Gsensor
I/SensorService( 192): AK8973 Temperature
I/SensorService( 192): AK8973 Magnetic Field
I/SensorService( 192): APS-12D Light Sensor
I/SensorService( 192): APS-12D Proximity Sensor

But I seem to have broken GPS somehow:

E/geolocationService( 604): Caught IllegalArugument Exception: Either provider or listener is null
W/System.err( 604): java.lang.IllegalArgumentException: provider=gps

Audio... still buggy, doesn't route to headphones at all. I see some interesting things in logcat when plugging headphones in:

W/Vold ( 128): Ignoring unknown switch 'Headset'
V/HeadsetObserver( 192): Headset UEVENT: {SUBSYSTEM=switch, SWITCH_STATE=1, DEVPATH=/devices/virtual/switch/h2w, SEQNUM=1296, ACTION=change, SWITCH_NAME=Headset}
V/HeadsetObserver( 192): Intent.ACTION_HEADSET_PLUG: state: 1 name: Headset mic: 1
I/HeadsetService( 329): Headset plugged: true

... And unplugging:

W/Vold ( 128): Ignoring unknown switch 'No Device'
V/HeadsetObserver( 192): Headset UEVENT: {SUBSYSTEM=switch, SWITCH_STATE=0, DEVPATH=/devices/virtual/switch/h2w, SEQNUM=1297, ACTION=change, SWITCH_NAME=No Device}
E/AudioHardwareMSM72XX( 133): Parsing error in AudioFilter.csv.
V/HeadsetObserver( 192): Intent.ACTION_HEADSET_PLUG: state: 0 name: No Device mic: 1
I/HeadsetService( 329): Headset plugged: false

I'll keep hacking and keep compiling. I think I need more cores or maybe an SSD ;)

​
[Android Software/Hacking General [Developers Only]] aorth:
Build resources, tricks, docs

I found some good resources about building, some of which address the painful process of rebuilding after you modify your device tree and then rm -r out/:

Using CCACHE to speed up rebuilds (see "Speeding Up Rebuilds"). Also:

Using ccache to build Android

Using ccache to build Android(2)

You can use mmm to compile certain packages (rather than the whole system image):

. build/envsetup.sh
lunch cyanogen_u8150-eng
mmm packages/apps/Music/

Cheers!
[Android Software/Hacking General [Developers Only]] psyke83:
Yes, I already use ccache and it does help.

You just need to add this to the end of your ~/.bashrc:

export USE_CCACHE=1
export CCACHE_DIR=~/.ccache/cyanogen/

As long as the folders exist (mkdir -p ~/.ccache/cyanogen/), the build system should now use ccache without you needing to do anything else.
[Android Software/Hacking General [Developers Only]] aorth:
Yep, my cache is definitely in use:

[aorth@noma: ~/android/system]$ prebuilt/linux-x86/ccache/ccache -s
cache directory /home/aorth/.ccache
cache hit 22640
cache miss 10285
called for link 1142
not a C/C++ file 921
unsupported compiler option 144
files in cache 19553
cache size 877.5 Mbytes
max cache size 5.0 Gbytes

And it takes about 18 minutes to do a full build on successive runs now:

[aorth@noma: ~/android/system]$ time mka bacon
...
real 18m30.489s
user 46m58.218s
sys 2m14.465s

Last night it was taking around 1 hour. But it was ~4am so I might have just been confused ;)

@subpsyke, in other news... what can you tell me about libcopybit, gralloc, sensors, liblights, and gps? I'm swimming in libraries right now... from what I can tell there are open versions of most (all?) of these libs in AOSP/CM (hardware/libhardware/modules/*, but from what I've seen the proprietary blobs work better/faster...? Also, correct me if I'm wrong, but the libs which end up named default are the open source ones, yeah?... gralloc.default.so, etc?

I experimented with overriding gps and copybit, but it broke gps and I think the open source copybit caused performance to be pretty horrendous.
[Android Software/Hacking General [Developers Only]] tilal6991:
The libcopybit that gets compiled with the rom is open source. The .default.so files are the generiv opensource ones. The .msm7k.so are the prop.ones
[Android Software/Hacking General [Developers Only]] aorth:
Light bulb...

Ah, regarding the confusing names for these modules and their order of preference, hardware/libhardware/modules/README.android:

Also interesting, when troubleshooting these modules, it might be interesting to see what your ROM thinks it's board/platform/etc is:

[aorth@ndechu: ~]$ adb shell getprop ro.product.board
U8150
[aorth@ndechu: ~]$ adb shell getprop ro.board.platform
msm7k

Thus, the values regarding the board/platform/device/etc in BoardConfig.mk are not arbitrary, you must pay close attention! So I'm guessing if you name your gps module "gps.ideos.so" and the board is called "U8150" it won't work. Similarly for lowercase "u8150"! Presumably it will always find the "default" module (if it exists).

Now I need to go compile and test a few things...
[Android Software/Hacking General [Developers Only]] psyke83:
Well, gralloc and copybit are both related to memory allocation for graphics. The copybit module is a 2D blitter/pixel conversion library that speeds up graphical operations.

The open source gralloc and copybit should work ok, but in the case of the U8160 I had to revert to stock versions due to the camera/video decoding not working. It's possible to fix, I'm sure, but I haven't looked at it yet. There's no harm in using the proprietary drivers for now.

The liblights is for controlling the screen brightness and key backlights. I believe the open source version works fine for me (i.e. lights.msm7k, which builds from hardware/msm7k/liblights).

As for gps.default.so, that's deprecated in Gingerbread, so don't copy it. Gingerbread the libloc_api library which is configured via the BoardConfig. It should work fine as it is.

P.S. Multitouch works fine on the U8160 :)

---------- Post added at 11:57 PM ---------- Previous post was at 11:52 PM ----------

I've had the same experience. I did copy the stock file to CM7 (to match the U8150 port), just in case it can be used later. At the moment it's not used, though.

The parsing errors in libaudio don't prevent audio from working.
[Android Software/Hacking General [Developers Only]] wbrambley:
Does this mean that the ideos.so files are not being used in the nightly build or engine 2.6? Also the goldfish.so, are they only for a rom running in an emulator?

Also interesting, when troubleshooting these modules, it might be interesting to see what your ROM thinks it's board/platform/etc is:

[aorth@ndechu: ~]$ adb shell getprop ro.product.board
U8150
[aorth@ndechu: ~]$ adb shell getprop ro.board.platform
msm7k

Thus, the values regarding the board/platform/device/etc in BoardConfig.mk are not arbitrary, you must pay close attention! So I'm guessing if you name your gps module "gps.ideos.so" and the board is called "U8150" it won't work. Similarly for lowercase "u8150"! Presumably it will always find the "default" module (if it exists).
[Android Software/Hacking General [Developers Only]] aorth:
Sensors, libraries, kernels... oh my!

Now that I understand how they're loaded and used, I understand why my builds were slow (they were most likely using gralloc.default.so). I was also seeing graphical corruption in the camera (though pictures did take just fine).

I've corrected our device tree to use "u8150" instead of "U8150" for the board name, as that's what all the other CM devices do. Upper-case names seem to be used only in printed strings.

Yep, thanks for that tip. The open source liblights from CM does indeed work fine (as long as the proprietary sensors are loaded!). Have you tried using libsensors? I see some devices include it in their tree, but it's not in the main hardware/libhardware or otherwise.

So we don't need to build gps.u8150? Got any docs about this being deprecated?

Cool, when I get some more time I'll revert your Synaptics patches and try to shoehorn ours in. I've already seen that your U8160 kernel does work on our U8150 on CM7, so I'll end up using your sources anyways ;).

Regarding the "*.ideos.so" modules, it depends on how the build is configured. Early U8150 nightlies were indeed built for "ideos" (and surely this phone was marketed globally as the IDEOS, but Huawei seems to have changed their mind on this, expanding it into an entire line/brand). Like the docs say, it will try to load the modules in a specific order, the last of which will be the "default" one.

btw, here's a list of the stock modules I find in Kenya's Safaricom IDEOS ROM:

copybit.msm7k.so
gralloc.default.so
gralloc.msm7k.so
lights.msm7k.so
sensors.default.so

Yeah, the emulator is goldfish, and I think it just gets thrown in there as an artifact of the build process.
[Android Software/Hacking General [Developers Only]] aorth:
Battery on my latest nightly

After many changes to the U8150 device tree lastnight (from my github) I recompiled against the latest CM7 sources, wiped, flashed, and went to bed. This morning I found a very full battery.

Wifi and 3G were off, but this at least shows the device is idling ok. It's possible this depends on peoples' batteries as well as which kind of apps they typically use (apps with background services, polling, etc).

I've added my data APN and enabled 3G, and I'll try to use the phone a bit for SMS, Market, web, WiFi, etc over the course of the day. I'll take another screenshot when I get home.

Download link for beta testers: update_cm_7_1_0_RC1_U8150_KANG_signed_sept25.zip

Still using the multi-touch kernel (Huawei stock). I haven't had time to port subpsyke's U8160 kernel but it does boot, and will probably be what we base ours one in the future.

This is NOT "Gingerman", this is vanilla CM7.

Audio is still using the semi-broken libaudio I borrowed from subpsyke. Tilal's still looking into fixing headphones in his git repo.
[Android Software/Hacking General [Developers Only]] lazyfai:
Good news, but originally the battery drain problem only appears when the data is turned on, like EDGE or 3G network, if disabled, the battery can last for quite long time.
[Android Software/Hacking General [Developers Only]] Hetfield666:
this wasn't for me.

using the previous build i had a vanilla CM7 one with just advanced task killer.

i had aero mode on during the night and however only 2G GSM without data at all during the day.

of course wifi and bluetooth off.

waiting for headphones to be fixed, than i'll try again :)
[Android Software/Hacking General [Developers Only]] tilal6991:
I HAVE DONE IT!!!!!!!!!!!!!!!!!! YES YES YES!

I have managed to ge multitouch, overclock, stability and best of all HAPTIC FEEDBACK working TOGETHER!!!!!!!!!!! No more choosing required!!!!!!!!!!!!!!!!!!!!

All thanks to Alan and and psyke83!!!

THANKS!!!!
[Android Software/Hacking General [Developers Only]] ntnlzr:
nice men together is better than solo!
[Android Software/Hacking General [Developers Only]] aorth:
Cheers, dude. Thanks to you and marc for going alone on this for so long. :) Hopefully we can get even more independent devs forking, compiling, and testing!
[Android Software/Hacking General [Developers Only]] tilal6991:
It was you who pointed me in the right direction - U8160 kernel compiles perfectly and is better than the u8150.

I'm just clean compiling CM7 and will post a build very soon.

Keep hacking at the open source libraries :)
[Android Software/Hacking General [Developers Only]] Hetfield666:
great guys! go and merge u81X0! now we have a good team
[Android Software/Hacking General [Developers Only]] tilal6991:
I've updated the git repo with the prebuilt kernel and the source I used I've placed at https://github.com/tilal6991/kernel_huawei_u8150
[Android Software/Hacking General [Developers Only]] aorth:
Final battery... 16 hours and still green!

Final battery screenshot before I flash my newly-compiled nightly based on fresh IDEOS Dev Team bacon sauce. ;)

And:
[Android Software/Hacking General [Developers Only]] Hetfield666:
mmmm isn't it a lot? is with wifi enabled the whole time? looks like 75-80%.

can you switch to % from drawing?
[Android Software/Hacking General [Developers Only]] tilal6991:
Here is the link to the updated ROM guys.

It has multitouch, overclock, multiple governers and HAPTIC FEEDBACK!

http://www.mediafire.com/file/w3dak5swcnmq828/update-cm-7-09262011-NIGHTLY-U8150-signed.zip

You need to wipe if you aren't on CM7 already.
[Android Software/Hacking General [Developers Only]] ntnlzr:
nice downloading right now

regards
[Android Software/Hacking General [Developers Only]] kahush:
Congrats man!!!its been a long way and finally multitouch and overclock work together...Good work.
[Android Software/Hacking General [Developers Only]] ntnlzr:
hi after installation adw launcher crash every time and phone reboot random, i've cleared cache /davildk i was on your last build before this, with another launcher all works fine
[Android Software/Hacking General [Developers Only]] Giogts:
nice work ;)

why do not always put the latest build on the first page?
[Android Software/Hacking General [Developers Only]] tilal6991:
Any problems = wipe data
[Android Software/Hacking General [Developers Only]] tilal6991:
Ignore this
[Android Software/Hacking General [Developers Only]] pkwakman:
The new build does not boot on my phone (U8150-D). The phone hangs on the ideos logo, even after wiping cache and data. What can I do to fix this problem?
[Android Software/Hacking General [Developers Only]] tilal6991:
Try wiping data again and leave it for atleast 10 mins. If that doesn't work try redownloading.
[Android Software/Hacking General [Developers Only]] :
Same issue on my Ideos. How can I fix this? Thanks ;)
[Android Software/Hacking General [Developers Only]] aorth:
Be careful... we don't want to piss them off! Check out this post on the CM blog about unofficial ports: http://www.cyanogenmod.com/blog/a-note-on-unofficial-ports-and-how-to-get-it-right

I think we still have some work to do. We need to up our code quality and git collaboration a bit. Kernels which boot for some don't boot for others, audio is way broken, battery issues might/might not exist, ClockworkMod Recovery is a few versions behind (and is unable to restore for me lately... md5sum mismatches). We've come a long way, but we need to keep going!

Me too. :) I had to flash a boot.img from one of my nightlies to get it to boot on mine. :(. I've just cloned psyke's U8160 repository and I will start looking into kernel stuff to help tilal.
[Android Software/Hacking General [Developers Only]] salaberrip:
Excellent Work...can we consider this ROM as stable or it's not ready to call it Gingerman V8? :)
[Android Software/Hacking General [Developers Only]] ramnum:
My u8150d structs on ideos screen with new build plz help
[Android Software/Hacking General [Developers Only]] ramnum:
Aorth plz post new build which suits for u8150d