FORUMS
Remove All Ads from XDA

 View Poll Results: Would you like the text at the top or bottom of the boot animation?

Top
 
105 Vote(s)
40.70%
Bottom
 
153 Vote(s)
59.30%

[NIGHTLY][2.3.7][UPDATED 17/01] CyanogenMod 7.2 for Huawei U8150 [UNNOFFICIAL]

1,607 posts
Thanks Meter: 2,585
 
By tilal6991, Inactive Recognized Developer on 20th March 2011, 11:02 PM
Post Reply Email Thread
18th September 2011, 02:13 PM |#1991  
aorth's Avatar
Senior Member
Flag Nairobi, Kenya
Thanks Meter: 2,000
 
More
Quote:
Originally Posted by Hetfield666

@tilal

can i ask you the status update with marc too?
i can't find anymore his blog/git rep

it looks like someone did a cyano port for u8160 which is really close (almost the same, just keys differ a bit) to our ideos. any chance to have this work merged together?

Probably this one: http://www.madteam.co/forum/vodafone...160'-port/

I just saw him grabbing some commits from my U8150 kernel repo, which makes me wonder how similar the U8160's hardware is to the U8150. His github is here, and there is quite a bit of activity (including a CM7 device tree).
20th September 2011, 07:31 AM |#1992  
Inactive Recognized Developer
Thanks Meter: 4,058
 
Donate to Me
More
Hi there,

Quote:
Originally Posted by aorth

Probably this one: http://www.madteam.co/forum/vodafone...160'-port/

I just saw him grabbing some commits from my U8150 kernel repo, which makes me wonder how similar the U8160's hardware is to the U8150. His github is here, and there is quite a bit of activity (including a CM7 device tree).

That's me . My CM7 port is derived from tilal6991's repository, as the Ideos and Smart seem to be quite similar.

I manually merged some of the "interesting" patches from your kernel by hand; I wasn't sure how to import commits so that it preserves the description and original author/committer's identity - sorry.

The U8160 kernel source seems to potentially support several different models, including the U8150. See this post for the list. I've received confirmation that the U8180 appears to be 100% compatible. The U8120 and U8150 works partially - it boots and basic functions work except for Bluetooth, wifi, and possibly more.

The Bluetooth issue can be easily explained, as I have configured the hciattach (really brcm_patchram_plus) service to use a patchram file from the U8160 stock ROM. If the Ideos uses a different patchram (due to a slightly different Broadcom hardware revision, perhaps), you could probably swap it and Bluetooth could work. As for wifi, I'm still using the prebuilt module from the U8160 stock ROM (the source in the kernel is older than stock, and doesn't appear to work correctly), so if you try to compile your U8150's wifi source against the U8160 kernel source, it could work. There's also the wifi firmware files that may need to be replaced.

It would be nice to merge projects, but there seems to be sufficient incompatibility to warranty separate efforts - and I don't own an Ideos to make serious attempts at improving the cross-compatibility.

Apart from all that nonsense, you or tilal6991 may want to take a look at the libaudio code in my port. It contains the fixes needed to get the stock FM radio working (and also allows Mike Reidis' Spirit FM to work properly too). You could also adapt the USB tethering code for your port (some patches to add the USB switches to the kernel are also needed). This patch will enable you to change the CPU governors/frequencies in the CMParts application (to make SetCPU obsolete ).
20th September 2011, 08:15 AM |#1993  
aorth's Avatar
Senior Member
Flag Nairobi, Kenya
Thanks Meter: 2,000
 
More
Sweet
Quote:
Originally Posted by subpsyke

I manually merged some of the "interesting" patches from your kernel by hand; I wasn't sure how to import commits so that it preserves the description and original author/committer's identity - sorry.

Nah, don't worry. I didn't author any of those, I just kanged them from mailing lists, kernel patchwork, and other peoples' MSM7225 kernel repos. But, if you want to preserver original authorship you can just add ".patch" on to the end of a github commit URL and it will give you a nice patch that you can apply with git am whatever.patch.

Quote:

The U8160 kernel source seems to potentially support several different models, including the U8150. See this post for the list. I've received confirmation that the U8180 appears to be 100% compatible. The U8120 and U8150 works partially - it boots and basic functions work except for Bluetooth, wifi, and possibly more.

Yah... I'll definitely try it. Our wifi is a Broadcom 4319, and we use a pre-compiled kernel module as well. Big pain in the ass actually. I've seen great performance/stability/interactivity/security/etc improvements on other devices by upgrading kernels past the stock!

Quote:

The Bluetooth issue can be easily explained, as I have configured the hciattach (really brcm_patchram_plus) service to use a patchram file from the U8160 stock ROM. If the Ideos uses a different patchram (due to a slightly different Broadcom hardware revision, perhaps), you could probably swap it and Bluetooth could work. As for wifi, I'm still using the prebuilt module from the U8160 stock ROM (the source in the kernel is older than stock, and doesn't appear to work correctly), so if you try to compile your U8150's wifi source against the U8160 kernel source, it could work. There's also the wifi firmware files that may need to be replaced.

Yah, I was specifically wondering about the wireless hardware in the U8160. Which chipset do you guys use?

Quote:

It would be nice to merge projects, but there seems to be sufficient incompatibility to warranty separate efforts - and I don't own an Ideos to make serious attempts at improving the cross-compatibility.

Apart from all that nonsense, you or tilal6991 may want to take a look at the libaudio code in my port. It contains the fixes needed to get the stock FM radio working (and also allows Mike Reidis' Spirit FM to work properly too). You could also adapt the USB tethering code for your port (some patches to add the USB switches to the kernel are also needed). This patch will enable you to change the CPU governors/frequencies in the CMParts application (to make SetCPU obsolete ).

I'm not much of a dev, more like a highly-capable fan boy; tilal (and marcnvidic initially) is the guy doing the hard work. I've wanted to get involved in the porting effort but just haven't found time yet! I've got a fork of the U8150 CM7 device tree and merge tilal's stuff every once in a while but haven't gotten around to doing anything with it.

Cheers!
20th September 2011, 05:40 PM |#1994  
Senior Member
Thanks Meter: 20
 
More
the resolution of the camera sucks. you can not get back the original resolution? I think the least 2016x1542. seeing as we have all let's use 3 megapixels. I tried all the app with that resolution but is still 1600x 1200. please upgrade
20th September 2011, 11:57 PM |#1995  
aorth's Avatar
Senior Member
Flag Nairobi, Kenya
Thanks Meter: 2,000
 
More
Helping with the CM7 port
Setting up CM7 for porting to the U8150


Wanna help move this port along? Get yourself familiar with building Android from scratch, the CyanogenMod way. It's only once you've submersed yourself in git, bash, and bacon that you will know whether you have what it takes to help tilal and marcnvidic with the U8150 CM7 port. You'll also need time, so people with day jobs and or families can really only afford to be cheerleaders.

Preparation:

You need to set up your computer so it can build Android. See, for example, the Galaxy S page on the CyanogenMod wiki. Pay specific attention to getting adb, repo, installing necessary OS packages with apt-get and cloning/initializing the actual repository. It's ~8 gigs, so don't try this on dialup! Not for the faint of heart...

Here we go:
  • Edit vendor/cyanogen/vendorsetup.sh to add a lunch "combo" for the U8150:
    Code:
    add_lunch_combo cyanogen_u8150-eng
    Android's build system uses a "lunch menu" to choose what you want to build. There's also brunch and breakfast, but they're all used for other things.
  • Add a makefile for the u8150:
    Code:
    cp vendor/cyanogen/products/cyanogen_u8220.mk vendor/cyanogen/products/cyanogen_u8150.mk
    I used the makefile for the Huawei U8220 because it's a Huawei... not sure how much this will help us but I figure the closer to the U8150 the better.
  • Edit vendor/cyanogen/products/cyanogen_u8150.mk, replacing occurances of "u8220" with "u8150".
    Use common sense. Basically, tailor the new makefile to be U8150 specific. Pay specific attention to the paths to makefiles and such, as they need more intelligence than just a search/replace...
  • Edit vendor/cyanogen/products/AndroidProducts.mk to add the following line:
    Code:
    $(LOCAL_DIR)/cyanogen_u8150.mk \
    This tells the build system where to find the device's makefile.
  • Check out a copy of tilal's U8150 Android device tree:
    Code:
    cd device/huawei
    git clone https://github.com/tilal6991/android_device_huawei_u8150.git u8150
    If you fancy, you can even fork his repo and then clone your own. All U8150-specific stuff will go in here, so if you find yourself getting into it and hacking quite a bit, I'd recommend forking tilal's (I have).
  • Copy proprietary files:
    Make sure your phone is plugged in, adb is working, and you're running a stock Huawei ROM.
    Code:
    ./extract-files.sh
    This grabs a handful of pre-compiled proprietary drivers and libraries from your device so CM can use them. I also had to manually copy a few from one of tilal's nightly zips (I'm not sure where they come from, as they weren't on my device...?). Put the following files in vendor/huawei/u8150/proprietary/lib/hw/:
    Code:
    lights.ideos.so
    gps.ideos.so
    sensors.ideos.so
    And the following in vendor/huawei/u8150/proprietary/lib/:
    Code:
    libril-qcril-hook-oem.so
  • Set up the build environment:
    Code:
    . build/envsetup.sh
    lunch cyanogen_u8150-eng
    
    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=2.3.5
    TARGET_PRODUCT=cyanogen_u8150
    TARGET_BUILD_VARIANT=eng
    TARGET_SIMULATOR=false
    TARGET_BUILD_TYPE=release
    TARGET_BUILD_APPS=
    TARGET_ARCH=arm
    HOST_ARCH=x86
    HOST_OS=linux
    HOST_BUILD_TYPE=release
    BUILD_ID=GINGERBREAD
    ============================================
    If yours looks like this then you've succeeded in setting up the environment for building CyanogenMod (technically it's AOSP, but there's a hefty amount of CM sauce all up in there).
  • Compile!
    Code:
    make -j4
    It will probably fail. Now go fix it! If you're lucky you'll see text fly by for like three hours, and then you'll see something like this:
    Code:
    Package complete: /home/aorth/android/system/out/target/product/u8150/update-cm-7.1.0-RC1-U8150-KANG-signed.zip
    ebad7aed34adc86d478873115527edee  update-cm-7.1.0-RC1-U8150-KANG-signed.zip
    Flash it from ClockworkMod Recovery, and you just might get lucky... mine went all the way to the CM7 boot animation (skating blue Android logo) . For some reason it didn't get further than that, though I could adb shell into it.

Hopefully this will help some other devs involved... we need help! Adios!
The Following 2 Users Say Thank You to aorth For This Useful Post: [ View ] Gift aorth Ad-Free
21st September 2011, 01:11 AM |#1996  
aorth's Avatar
Senior Member
Flag Nairobi, Kenya
Thanks Meter: 2,000
 
More
September 21 nightly booting ;)
Quote:
Originally Posted by aorth

...
If you're lucky you'll see text fly by for like three hours, and then you'll see something like this:

Code:
Package complete: /home/aorth/android/system/out/target/product/u8150/update-cm-7.1.0-RC1-U8150-KANG-signed.zip
ebad7aed34adc86d478873115527edee  update-cm-7.1.0-RC1-U8150-KANG-signed.zip
Flash it from ClockworkMod Recovery, and you just might get lucky... mine went all the way to the CM7 boot animation (skating blue Android logo) . For some reason it didn't get further than that, though I could adb shell into it.

Errr... just got it booting. Here you go, a beautifully-clean, stock CM7:



There was apparently a change somewhere in the last few nightlies that requires a new service to be added to the init script. More info here: http://review.cyanogenmod.com/#patch...,init.aries.rc

Now that I've successfully built CM7 using tilal/marc's device tree it shows that you can too! Just go for it. We can all start producing builds and sending changes to tilal . Thanks for all the hard work, tilal/marc.
The Following User Says Thank You to aorth For This Useful Post: [ View ] Gift aorth Ad-Free
21st September 2011, 10:10 AM |#1997  
Senior Member
Thanks Meter: 21
 
More
actually latest 7.1 port and nightly was good apart some "famous" bugs such as headphones and power usage (only nightly) and FM radio.

subpsyke's libaudio may fix these. it would be nice to have the lib merged so we'll have a CM working with all features, because up to now we lack it....

i'm ready to test
21st September 2011, 11:10 AM |#1998  
nba1341's Avatar
Senior Member
Flag San Bernardino, California
Thanks Meter: 167
 
More
hmmm this is getting interesting :eek:
21st September 2011, 11:11 AM |#1999  
Senior Member
Thanks Meter: 90
 
More
Quote:
Originally Posted by aorth

Setting up CM7 for porting to the U8150


Wanna help move this port along? Get yourself familiar with building Android from scratch, the CyanogenMod way. It's only once you've submersed yourself in git, bash, and bacon that you will know whether you have what it takes to help tilal and marcnvidic with the U8150 CM7 port. You'll also need time, so people with day jobs and or families can really only afford to be cheerleaders.

Thanks for the excellent overview of how to integrate a device into the CM sources. I've one request though.

As we work with repo and git, it would be nice when the steps described by you would be placed in the context of repo/git, so that the issue, patch, fix or whatever you name it, is placed in its own local work branch and results in a commit that can be pushed or for which a pull request can be send to a repository like those of tilal (U8150), psyke83 (U8160) or tas0s (U8120).
It would give a clear example of the workflow required to work together.

Paul

p.s.
Still struggling myself with the workflow, so ...
The Following User Says Thank You to poruid For This Useful Post: [ View ] Gift poruid Ad-Free
21st September 2011, 11:21 AM |#2000  
aorth's Avatar
Senior Member
Flag Nairobi, Kenya
Thanks Meter: 2,000
 
More
Quote:
Originally Posted by Hetfield666

actually latest 7.1 port and nightly was good apart some "famous" bugs such as headphones and power usage (only nightly) and FM radio.

subpsyke's libaudio may fix these. it would be nice to have the lib merged so we'll have a CM working with all features, because up to now we lack it....

Yah, subpsyke looks like he's doing some great work. Basically, I wanted to get the build system up and running so I could actually be in a position to help. I wrote it all down partly for me, but also so that other eager folks could give it a shot. Information wants to be free! Now that I've successfully built everything synced to the latest CM sources, I'm sure I'll get curious about trying to fix some stuff. His device tree on github should be of particular interest (as it was based on tilal's in the first place).

Quote:
Originally Posted by Hetfield666

i'm ready to test

Awesome. Got 8 gigs of bandwidth to spare for the repo cloning? Then you can help me with the hard stuff!

Otherwise, here's the September 21 nightly I compiled lastnight: http://bayfiles.com/file/13Kv/AZ0Kip...d-21092011.zip. I haven't fixed any bugs, merely compiled CM7 with tilal's device tree against newer CM sources. It's using the multi-touch kernel; for some reason the non-multi-touch kernel doesn't boot on my U8150-D, and I've never understood why this happens with CM7 on IDEOS. Hit "thanks" if you download it... I'm curious how many people are still interested in CM7 on U8150.

No pressure to try it... no guarantees either. I'm just glad to have someone else willing to hang around and help!
The Following 3 Users Say Thank You to aorth For This Useful Post: [ View ] Gift aorth Ad-Free
21st September 2011, 11:30 AM |#2001  
Junior Member
Thanks Meter: 0
 
More
thannnnnnnnnnnks
Post Reply Subscribe to Thread

Tags
cm7, cyanogenmod, gingerman, ideos, u8150

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes