Jump to content

[Dev/Experimental][ROM] Ideos X3 gingerbread rom runs on Pulse


Guest dr.flo

Recommended Posts

I got inspired by the great progress that pier11 has made with ported stock froyo roms and decided to have a look at something additional ;)

Here is Ideos X3 rom adopted to run on pulse. I already tried that some time ago but gave up since it does not boot out of the box like for example the ascend froyo rom. But I've tried it again and discovered that by replacing a few libs, this rom is able to boot up quite well...

Current state

works

- the usual stuff like touchscreen and so on

- ril / edge / 3g

- wifi (thanks to pier11)

- gps

- opengl (at least with neocore)

- video playback (3gp and youtube hq + normal)

- screen rotation

- usb mass storage (with tricks - no gingerbread native mechanism)

- partially camera: can take 3mp pics with 3rd party app (UCam tested with good results, free)

not working

- video recording

- live wallpapers

- tethering

changelog since version 20120301

- add stock launcher2 from official 2.3.3 rom as alternative to huawei launcher

- busybox & init.d support

- data2ext works (tested, use data2ext_for_CM.zip from there)

- terminal emulator added (to allow enabling of data2ext without adb)

- swap enabler added (can be used to activate swap if there is a swap partiton on sdcard)

- bluetooth works

changelog since version 20120227

- usb mass storage (use included app gscript lite to launch script "ums_toggle")

- fixed screen rotation

- internal: cleanup ramdisk (now based on pulse cm7)

changelog since version 20120219

- improved video playback

- at least partial opengl support: neocore runs.

- replaced crashing stock apps (Gallery, Music) with working alternatives

- integrated su

- updated wifi driver, should now resume connection after sleep

- enabled camera drivers (stock app will crash, most 3rd party apps perform better)

Download ROM version 20120304

A 100 or 110 mb system partition is needed. The update will format both system and data partition, so you need to backup all your data!

Any help examining further issues would be appreciated.

One positive note: fps2d benchmark for this rom is 29 fps out of the box, overall 2d performance feels relatively "snappy"

post-954785-0-98924700-1329552665_thumb.post-954785-0-61284100-1329552667_thumb.post-954785-0-35362500-1329552676_thumb.post-954785-0-95439900-1329552676_thumb.post-954785-0-47795300-1330716284_thumb.post-954785-0-78409000-1330887238_thumb.post-954785-0-59573100-1330887252_thumb.post-954785-0-04628800-1330887261_thumb.

Edited by dr.flo
Link to comment
Share on other sites

Great stuff, be cool if you could get this working! Is this likely to be more useful for porting ICS than working on the Froyo ROM? Or makes no difference?

Shouldn't make a difference. But we have to be realistic. Currently, the end of the road for the pulse is basically eclair. Although Froyo roms exist with cm6 variants and now the fairly well ported um840 rom, all of those still have issues. Even twrock, maintainer of TXG rom personally prefers an eclair based rom because of battery life.

For the pulse to remain somewhat up to date (i.e. be able to run at least most of the apps available on market) one has to update the rom to something at least froyo (eclair support is being dropped from an increasing number of apps). I think we can be happy if the development of froyo or gingerbread roms has settled. Especially regarding gingerbread there is still some work to do.

This rom is meant to contribute to the gingerbread / cm7 development - in a similar fashion as working on cm6 and um840 has brought improvements for both roms.

There is currently no need for ICS since gingerbread is widely supported as state of the art. If we ever manage to have ICS on the pulse it can be expected to be too slow for daily use. While you can compensate low internal storage by moving parts of the rom to the sd card, you cannot compensate the lack of RAM in an efficient way.

Link to comment
Share on other sites

for wifi - since we cannot use cm7 libhardware_legacy.so

we might end up with something like this

tried to trick stock u8150 libhardware_legacy.so by symlinked in /wifi directory:

ln -s /system/wifi/ar6000.ko dhd.ko
as it has this entries:
/data/misc/wpa_supplicant

/wifi/dhd.ko

firmware_path=/system/wifi/firmware.bin nvram_path=/system/wifi/nvram.txt
then it failed to load broadcom firmware. Useless...
<3>[1345, WifiService] [ 5160.982018] ar6000: Unknown parameter `firmware_path'

Would it be possible - since ar6000.ko is built from source - to teach it that it should ignore the respective parameters? Another way might be to hexedit the string inside the lib to something that ar6000.ko likes

Edited by dr.flo
Link to comment
Share on other sites

Shouldn't make a difference. But we have to be realistic. Currently, the end of the road for the pulse is basically eclair. Although Froyo roms exist with cm6 variants and now the fairly well ported um840 rom, all of those still have issues. Even twrock, maintainer of TXG rom personally prefers an eclair based rom because of battery life.

I'm still using your CM6.1 Stable, and really liking it. Because I keep "testing" instead of just using it, I still have no idea about how the battery life compares. Who knows? Maybe it's better than FTB. ;) I'm think it will make a better base for the next update of TXG than Tom's port. It has less "hacks" and you've fixed all the bugs already. And the front-facing camera is not something I hear a lot of people requesting.

You're doing great work on these roms. Thanks.

Link to comment
Share on other sites

Guest desalesouche

@doc.flo and twrock

twrock Posted Today, 01:10 PM

...the front-facing camera is not something I hear a lot of people requesting...

i think that people doesn²t request for front-facing camera because they loose hope it would work one day and so they forget about it...and not requesting about it .they are thinking it would never been done.....but thx to you and others...it is working

yesterday i open in a french forum a topic at 21h39 about um840 rom... telling that both camera works...there is about 88 people right now who saw it...and i am sure lot of more people would see it and be happy to use that rom...

Edited by desalesouche
Link to comment
Share on other sites

Guest lloco73

yesterday i open in a french forum a topic at 21h39 about um840 rom... telling that both camera works...there is about 88 people right now who saw it...and i am sure lot of more people would see it and be happy to use that rom...

I also opened a thread on a Portuguese forum about testing the CM7.2 rom and there is some people allready who tried, but not yet very convinced, but the important is that they want to try it.

Link to comment
Share on other sites

Guest arlindo.costa

I also opened a thread on a Portuguese forum about testing the CM7.2 rom and there is some people allready who tried, but not yet very convinced, but the important is that they want to try it.

Ive been using the CM7.2 ROM and overall it's quite stable... I love CM7. The theme Chooser is about my most used app :lol: :lol: :lol:

Link to comment
Share on other sites

Guest desalesouche

I also opened a thread on a Portuguese forum about testing the CM7.2 rom and there is some people allready who tried, but not yet very convinced, but the important is that they want to try it.

open also one about cm7.2 and one dev(poulpix) told me he would make that rom light...to make partition system 85mo...otherwise a lot people here are trying the cm7.2 i think...

Link to comment
Share on other sites

Here is Ideos X3 rom adopted to run on pulse.

...

One positive note: fps2d benchmark for this rom is 29 fps out of the box, overall 2d performance feels relatively "snappy"

wow, that's awesome development happened!

I knew if dr.flo keeps silent for some time, expect something truly exciting from him :)

I tried to run the same but it didn't boot far, so it's very nice it boots into UI fine, and awesome that radio works.

As for wifi driver, yes the source is open, but I never dived into it, just compiled.

Thinking if the trick you made to boot this would help cm9 of u8150 rom to at least boot into android?

Link to comment
Share on other sites

Thinking if the trick you made to boot this would help cm9 of u8150 rom to at least boot into android?

Possibly not because ICS rom didn't complain about anything obvious - we tried already...

Doesn't the G1 have ICS to? Maybe we should try booting that rom. It might give other error messages that are more helpful. And then we would have two ICS roms to shuffle some files around. I wouldn't expect gingerbread files to work well in ICS...

For X3 rom I simply watched logcat and step by step replaced any lib I suspected to be related to error messages. For crashes, usually the file that gets listed first in stack dump etc... It turned out be be 4 libs in total, one being libdiag.so that would have been replaced by the ril procedure anyways...

-> booted...

RIL works because after that, I added 14 remaining ril libs and qmuxd. Interestingly this rom is the simplest ever to make ril working as no adjustments to ramdisk were needed at all. Just drop in 15 libs and be happy :D But bluetooth doesn't work. Maybe it is masked by some ideos related bcm bluetooth stuff?

In case I find a libhardware_legacy that loads ar6000.ko and runs on x3 rom, could you help me with wifi then? You're more experienced in things like where to put which wifi files like kernel module, firmware, config....

Link to comment
Share on other sites

In case I find a libhardware_legacy that loads ar6000.ko and runs on x3 rom, could you help me with wifi then? You're more experienced in things like where to put which wifi files like kernel module, firmware, config....

we will definitely try something. I'm yet to try the rom - at work in the moment.

May be Zte Blate has a good libhardware_legacy. I think it had official GB(gingerbread) release, dit it?..

Our other ar6000 brothers - u8100, u8110 and u8120 never had GB releases, nor even froyo.

But they have cm7, maybe give a try to that?...

Are you saying you run ramdisk unmodified and radio started to work only after adding the 15+1 combo? That's interesting to know as I had to quite heavily mess with um840 ramdisk to make radio work.

Yes G1 has ICS port.

Edited by pier11
Link to comment
Share on other sites

May be Zte Blate has a good libhardware_legacy. I think it had official GB(gingerbread) release, dit it?..

Our other ar6000 brothers - u8100, u8110 and u8120 never had GB releases, nor even froyo.

But they have cm7, maybe give a try to that?...

I've found semi official zte blade gingerbead. libhardware_legacy refers ar6000 as expected - but boot locks up at very early stage just like with our cm7 version... I did not yet try other cm7 yet - I fear they'll behave exactly as ours, they are compiled from the same sources after all...

Are you saying you run ramdisk unmodified and radio started to work only after adding the 15+1 combo? That's interesting to know as I had to quite heavily mess with um840 ramdisk to make radio work.

I was quite surprised but yes. Actually I used ramdisk not from stock rom but from de-branded custom version (because that one had adb enabled which I needed to see logcat before fully booting into UI). But I did not modify anything in there (except removal of dhd.ko as usual ;))

The zip file I uploaded contains a changelog where all adjustments I made to the rom are tracked in detail

Link to comment
Share on other sites

while at work with blocked access to mediafire and pretty much anythig :) I can comment on mass storage behavior.

I know people usually have two versions of same kernel - one for GB, and another is for froyo. One of the differences is how usb works. I don't know much of details yet.

Link to comment
Share on other sites

Another devices featured ar600x are:

- samsung galaxy 5 GT-I5500;

- hp touchpad (a tablet, but they used drivers from the above galaxy at some point)

Though the latter never had official android releases (it's a WebOS device), it was one day accedentally shipped to customers with android 2.2. Don't know if that rom is available anywhere...

EDIT:

here the rom

Edited by pier11
Link to comment
Share on other sites

here is how it looks like. Notice the "no sim" which means ril is working. :)

edit: screenshots moved to 1st post...

Just googled that you can make screenshots quite easy using adb


adb pull /dev/graphics/fb0 fb0

dd bs=1920 count=800 if=fb0 of=fb0b

ffmpeg -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb565 -s 320x480 -i fb0 -f image2 -vcodec png $1

Huawei own launcher... has cube animation when sliding home screens...

What you said about usb and kernel might indeed be related to the mass storage issue. For wifi I think we cannot use froyo libs there.

libhardware_legacy has changed (e.g. regarding gps api that differs between froyo and gingerbread). So far I had the most success when hexediting the line

firmware_path=/system/wifi/firmware.bin nvram_path=/system/wifi/nvram.txtto all 0x00, and symlinking dhd.ko -> ar6000.ko. Seems zeroing that line makes an empty string passed to ar6000, resulting in it not complaining about unkown parameters. It seems to load then, fails scanning (expected because nothing else adopted yet). But it only does this ONCE. After that is says error and won't try to turn wifi on again, even after reboot. Seem to store state somewhere ???

Edited by dr.flo
Link to comment
Share on other sites

beautiful screenshots. Should go to the first post to spark people interest in adopting it/help with development.

interesting way to make screenshots. Very intuitive :)

does your hack actually loads the module - type 'lsmod' right after you turn wifi on in settings. (ar6000 line should appear if module got loaded).

Link to comment
Share on other sites

does your hack actually loads the module - type 'lsmod' right after you turn wifi on in settings. (ar6000 line should appear if module got loaded).

Have to sleep now... rom is currently on running. Will try with lsmod tomorrow. But I guess yes. The wifi checkbox remained checked.

Link to comment
Share on other sites

Guest desalesouche

canno²t play mp4 video and run 9 sec of mp3 music then stop....canno²t move all apps to sd...some yes....some no...

edit

after trying to install player could run mp4 videos with original player....video doesn²t jerk at all.....very fluide even better i think than in cm7.2..... i could watch an mp4 480*272/24 trame/sec (378kbits/s total 471 kbits/s) but i couldn²t watch a mp4 video 480*272 / 25 trames/s (384kbits/s total 471kbits/s) but huawei music doing still the same...mean 9 sec playing then stop i saw with setcpu that kernell allow oc until 750... once oc that rom is very fast and smooth...

time to sleep bye all

ps @dr.flo and others: poulpix had made ROM Android 2.2.1 Light ( partition system : 85mo) from cm7.2 or cm6 clean didn²t test it yet

link: http://poulpix.andro...ht-3-signed.zip

sd card has to be partitionned (fat32 : ext2 : swap)

Edited by desalesouche
Link to comment
Share on other sites

played a bit with rom.

cool that we have it.

very brave to put libs and framework into /data :)

looks like Gallery3D issue is due to hardware acceleration not working properly. Same for Neocore when it switches modes to run actual tests.

interesting that many libs are interchangeable with cm72 - all graphics, surfaceflinger libs. Likely worth to try further exchange libs until hardware acceleration work. Thankfully it does on cm7.

I hate its luncher - MIUI/iPhone style icons :)

Edited by pier11
Link to comment
Share on other sites

played a bit with rom.

cool that we have it.

...

I hate its luncher - MIUI/iPhone style icons :)

The app icons are annoying, I agree with you on that. The homescreen itself looks nice to me. It can also be switched to "android theme" then it will look more like stock launcher - the app icons will stay as they are sadly.

The de-branded rom or also the german x3 official rom variant (see changelog) has launcher2.apk that can be used to replace huawei launcher if desired.

The de-branded rom is deodexed. I ported that one first, but it gave me more issues. Then I decided to take stock rom to make sure the issues were not caused by the custom rom. I noticed that deodexed rom takes up more space in total (less in system, but dexopt files generated on first boot pretty much fill up complete data partiton. Only 1 mb free compared to 18 mb free with current rom.

Maybe we should not deodex ported roms if we don't need to.... might help um840 as well?Using the symlink trick, total size is what matters, not only system size...

For a factory reset, one could simply install zip again (as it formats data+system inside update script) instead of using "wipe data", so holding system components on data is not a big problem...

Edited by dr.flo
Link to comment
Share on other sites

canno²t play mp4 video and run 9 sec of mp3 music then stop....canno²t move all apps to sd...some yes....some no...

edit

after trying to install player could run mp4 videos with original player....video doesn²t jerk at all.....very fluide even better i think than in cm7.2..... i could watch an mp4 480*272/24 trame/sec (378kbits/s total 471 kbits/s) ...

About apps to sd: that's android native mechanism - not all apps support this. Thats normal behaviour. Link2sd for example should work, but untested. Dont know about dt a2sd. data2ext is expected to cause problems because parts of /system partition were linked to data in this rom - these shouldn't be moved to sd I believe. With Link2sd you can move individual apps (and their davlik-cache) to sd. This should not conflict with the partition setup of that rom. try it if you need a 2 sd solution for that rom quickly.

Could you give some more detail about "after trying to install player" - which and how?

Link to comment
Share on other sites

The attached lib (patched version of original rom) made ar6000.ko load as confirmed by lsmod

libhardware_legacy.so.zip

it is hexedited to expect dhd.ko in /data/dhd.ko instead of /wifi/dhd.ko because I didn't know how to create a symlink there. The other edit is that the parameters were blanked out.

dmesg has plenty of

<4>[1761, AR6K startup] [ 495.712171] request_in_progress: EEPROM signaled ERROR (0x483)

<4>[1761, AR6K startup] [ 495.712438] request_in_progress: EEPROM signaled ERROR (0x483)

<4>[1761, AR6K startup] [ 495.712696] request_in_progress: EEPROM signaled ERROR (0x483)

<4>[1761, AR6K startup] [ 495.733168] request_in_progress: EEPROM signaled ERROR (0x483)

I don't know, maybe I didn't push all required files to the right folders...? Or even hacked libhw is still not compatible enough....

Link to comment
Share on other sites

The attached lib (patched version of original rom) made ar6000.ko load as confirmed by lsmod

libhardware_legacy.so.zip

it is hexedited to expect dhd.ko in /data/dhd.ko instead of /wifi/dhd.ko because I didn't know how to create a symlink there. The other edit is that the parameters were blanked out.

dmesg has plenty of

<4>[1761, AR6K startup] [ 495.712171] request_in_progress: EEPROM signaled ERROR (0x483)

...

I don't know, maybe I didn't push all required files to the right folders...? Or even hacked libhw is still not compatible enough....

the rom archive does not contain any atheros bits, so I can't judje if you are placing firmware into right place.

what I only see is that /system/wifi folder contains irrelevant firmware for broadcom driver.

try just replace /system/wifi from um840. It will contain both driver and its firmware in that folder. Might hep if you didn't do it yet...

i used the following to help symlink in root:

mount -o rw,remount rootfs /

that remounts root in read-write mode. Then symlink as usual.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.