Jump to content

ZTE N880E & first ZTE ICS update


Guest KonstaT

Recommended Posts

Guest KonstaT

ZTE is now pushing new devices with Ice Cream Sandwich. There is already ZTE U970 = Mimosa (not Mimosa X) available in China (it's for TD-SCDMA networks) and also N880E just received ICS update. This N880E seems very interesting device.

http://translate.goo...424_302800.html

Some specs:

Qualcomm 7627A, ARMv7 1 Ghz CPU, Adreno 200 GPU

4.0" 800x480 WVGA capacitive touchscreen

4GB ROM, 512MB RAM

Android 2.3, update to 4.0, second update to 4.0, WP7.5???

price 990 yuan (~120€, ~100£)

Bad news is that it's for CDMA2000 network and won't work in all countries/operators. Hopefully ZTE will make some variant of this with 7227A for european market. I'm sure it would be a huge success. It would certainly continue Blade's legacy as highly customisable and best bargain for the buck (at the time) device. And it also seems to run windows phone. Could this device be 'the new HTC HD2' since apparently it can run almost everything?

Video of N880E running WP7.5

http://video.sina.co...1887990644.html

I've been playing with the N880E ICS update (Android 4.0.3, build.prop attached) and there are few interesting things. It seems that ZTE isn't sticking with vanilla Android anymore and there are some ZTE customizations in the framework. They've added a notification power widget for example (not necessarely bad news ;)). There's also a new ZTE backup&restore app for settings/bookmarks/alarms/sms/notepad/etc which is nice. Have to see if I can get some of these apps to actually work next time I flash ICS on my blade. :P

Kernel version is 3.0.8! Hopefully ZTE will release the source code for this as soon as possible. I'm staying optimistic that with some additions it will also compile for our Blades (I could also be very wrong of course). I attached the kernel defconfig if someone is interested. There are also some other new ZTE devices in the config (ATLAS32, BLADE2, ROAMER2, MOONCAKE2), this one is called ATLAS40.

Sorry for the off-topic on the Blade forum but this is the first official ZTE ICS release I've got my hands on. I just had to do some extra digging. ;) It just proves that ZTE is now comming up with new devices/updates with ICS (not all manufacturers still do) and ZTE uses 3.x.x kernel in their ICS ROMs (not all manufacturers use).

Edit. Looking at different ZTE devices and their names it would seem like:

Vxxx GSM/WCDMA variants

Nxxx CDMA2000 variants

Uxxx GSM/TD-SCDMA variants

Since our Blade is V880 in China it would mean that N880E is updated CDMA2000 variant of the same series. Hopefully we'll see V880E in europe some time soon. :)

Edit2. Video of N880E running gingerbread (Android 2.3.6 with 2.6.38.6 kernel)

http://v.youku.com/v...g4MzI5OTIw.html

N880E-defconfig.txt

build.prop.txt

Link to comment
Share on other sites

Guest KonstaT

I packed some of the ZTE ICS apps that work with CM9. Backup&restore app seems to work nicely with bookmarks/contacts/notes/etc and user apps. ZTE launcher is actually pretty decent. It has stock ICS look with some added features. Unfortunately it forces closes when trying to add widgets. These are the apps that worked without any extra effort. It would be nice have the ZTE widgets (clock/weather, music, contacts) working and there are plenty of other apps too. These are mainly for testing purposes and I can't guarantee they are fully working.

Included apps:

Launcher

Backup & restore

Notepad

Power manager

Global time

Timer

Install like any regular apps.

ZTE-ICS-Apps.zip

http://www.mediafire.com/?tivns9zpehxc5pm

Link to comment
Share on other sites

Guest GoGokh

Hmm i have just switched back to GB, are they good app like htc or samsung can made or? And can we hacve some screen please?

And Wp7 and android phone :blink: i want this N880!

Edited by GoGokh
Link to comment
Share on other sites

Guest KonstaT

Yeah, I'm back to gingerbread too. Only took couple of screenshots of the launcher earlier.

post-834050-0-06140400-1336766233_thumb. post-834050-0-78034200-1336766267_thumb. post-834050-0-27661000-1336766279_thumb.

Nothing too special in the launcher. It felt quite smooth overall (except with some cube transition animations).

I think that the rest of the ZTE apps (notepad, filer, task manager, alarm clock, stopwatch, fm radio, etc) are pretty similar (or even identical) to ones in gingerbread. Basically only backup&restore, power management profiles and widgets are new. They've modified the launcher and probably contacts/dialler too. They've also done some modifications to the framework - added notfication power widget and modified the lockscreen. Hard to say anything about their quality of work without actually testing the ROM/apps/widgets. :P But if you ask me, I would have preferred that they would have kept their stock ICS ROMs as close to vanilla Android as possible like they did with gingerbread.

Link to comment
Share on other sites

Guest Loren82

I packed some of the ZTE ICS apps that work with CM9. Backup&restore app seems to work nicely with bookmarks/contacts/notes/etc and user apps. ZTE launcher is actually pretty decent. It has stock ICS look with some added features. Unfortunately it forces closes when trying to add widgets. These are the apps that worked without any extra effort. It would be nice have the ZTE widgets (clock/weather, music, contacts) working and there are plenty of other apps too. These are mainly for testing purposes and I can't guarantee they are fully working.

Included apps:

Launcher

Backup & restore

Notepad

Power manager

Global time

Timer

Install like any regular apps.

ZTE-ICS-Apps.zip

http://www.mediafire...tivns9zpehxc5pm

That good work!, With the kitchen I've added dsixda applications have been recompiled and the rom but I used the last rom Burstlam, the result is genius, it works perfectly and there is no end to add the widgets.

http://content.wuala.com/contents/Roms_ZTE_Blade/Mis%20Roms/Burstlam_6.3_con_apps_ZTE_oficiales.zip?dl=1

Edited by Loren82
Link to comment
Share on other sites

Guest KonstaT

@Konstat: Where did you get the rom dump from? Is is publicly available? :)

Yes, it's available on ZTE website. It's linked in the first post. ;) It's actually official update package. Doesn't even require any special tools to extract the system from it. I did de-odex and re-sign the apps I posted earlier though.

http://www.zte.com.c...26247621205.zip

They also have now revert package to 2.3.6.

http://www.zte.com.c...56011212720.zip

I extracted the defconfig from that 2.6.38.6 kernel too. It has TURIES in the config so I'm pretty sure that with few additions it would compile for our Blades (since we've used turies source too). But knowing how difficult it is for ZTE to release the source code for the kernels used in their phones sold in europe, the situation might be even worse for phones sold in china. I wouldn't get my hopes up on them releasing kernel source for neither of these kernels anytime soon.

N880E-GB-defconfig.txt

Link to comment
Share on other sites

Guest fonix232

So basically it's a phone with almost same specs except the processor. Looks like zte is one of wannabe Samsung

Just that little change of CPU requires huge changes in the hardware, plus, it has bigger screen, not to mention the radio stuff (CDMA instead of GSM). Basically, it IS a new phone. But what I can't get, is the NAND 4Gb (Gigabit) or 4GB (Gigabyte)? That factor does matter!

Link to comment
Share on other sites

Guest KonstaT

Just that little change of CPU requires huge changes in the hardware, plus, it has bigger screen, not to mention the radio stuff (CDMA instead of GSM). Basically, it IS a new phone. But what I can't get, is the NAND 4Gb (Gigabit) or 4GB (Gigabyte)? That factor does matter!

Yeah, I think it's 4 gigabytes. The stock ROMs system size is almost ~400MB so it wouldn't leave much room for anything else if it was 512MB. :P

Btw they've also announced the GSM/WCDMA version V880E but it probably isn't available anywhere.

http://www.gsmarena...._v880e-4598.php

Some discussion if V880E = Skate Acqua.

http://www.modaco.co...ua-same-device/

Link to comment
Share on other sites

Guest skywave

Just that little change of CPU requires huge changes in the hardware, plus, it has bigger screen, not to mention the radio stuff (CDMA instead of GSM). Basically, it IS a new phone. But what I can't get, is the NAND 4Gb (Gigabit) or 4GB (Gigabyte)? That factor does matter!

Actually not so much. The CDMA stuff has nothing to do with kernel. The screen could be a though one as ZTE did really crap job implementing their screen drivers, including hacking up msm_fb.c But then again its likely they did the same butch job for this driver.

And kernel wise that new CPU isn't a dealbreaker either, you can diff board-msm7x27.c with board-msm7x27a.c and then see the differences. Biggest problem will be the WiFi driver.

Problem is, is this a true 3.0.8 or just a 2.5 with s*** backported and the version number changed. We've seen this before...

Although this might be interesting to use in current ICS roms:

ro.build.fingerprint=ZTE/N880E_ICS/atlas40:4.0.3/IML74K/eng.zhangchun.20120426.194244:user/release-keys

Then at least your device aint a GNexus but a ZTE.

BTW Could somone mirror the entire rom please? 10KB/sec are not speeds i've been used to in the past 13 years ;)

Edited by skywave
Link to comment
Share on other sites

Guest t0mm13b

Yes, it's available on ZTE website. It's linked in the first post. ;) It's actually official update package. Doesn't even require any special tools to extract the system from it. I did de-odex and re-sign the apps I posted earlier though.

http://www.zte.com.c...26247621205.zip

They also have now revert package to 2.3.6.

http://www.zte.com.c...56011212720.zip

I extracted the defconfig from that 2.6.38.6 kernel too. It has TURIES in the config so I'm pretty sure that with few additions it would compile for our Blades (since we've used turies source too). But knowing how difficult it is for ZTE to release the source code for the kernels used in their phones sold in europe, the situation might be even worse for phones sold in china. I wouldn't get my hopes up on them releasing kernel source for neither of these kernels anytime soon.

Never saw the linky - cheers mate :D

Link to comment
Share on other sites

Guest skywave

Thank you, much appreciated.

It's interesting as every prop lib needed to get HW video decoding on the Blade is there, which is a userland QDSP5 driver to interface with libstagefrighthw . Just in ARMv7 :|.

There seem to be not that much differences between QDSP5 and QDSP5v2 as i thought (there are seperate drivers in kernel though). Just need some Qualcom engineer to compile vendor/qcom/proprietary/mm-video/qdsp5 in ARMv6.

To put an end to all the nonsense written over this HW video decoding, which reached a new low with that pathetic attempt this week.

Hardware video decoding is done by the SoC. There are various steps in handling this.

First there are the drivers in the kernel space, which does the memory allocation etcetera.

https://github.com/b.../mach-msm/qdsp5

Then in the userspace there are these proprietary libraries, which are a blackbox to me. But they talk to the kernel space via the various files (Unix talks to all devices via the fily system) in the QDSP5 API language. Then they function as the OpenMAX API for the Android OS and there is libstagefright (working of this OpenMAX api) which functions as the Android API for apps like Youtube. AFAIK in Gingerbread there is already this OpenMAX api, but in ICS NDK they opened it up for native apps to communicate directly to the OpenMAX API to avoid latency for apps.

So then you're probably wondering why is my badword YoutubeHQ not working then? Well they changed libstagefright, i guess they are using a newer OpenMAX API version.

This is what happens if you try HW video decoding on ICS.

E/OMXCodec( 115): Attempting to allocate OMX node 'OMX.qcom.video.decoder.avc'

E/OMXCodec( 115): Successfully allocated OMX node 'OMX.qcom.video.decoder.avc'

I/OMXCodec( 115): [OMX.qcom.video.decoder.avc] Non-Interlaced format detected

I/OMXCodec( 115): [OMX.qcom.video.decoder.avc] AVC profile = 66 (Baseline), level = 30

E/OMXCodec( 115): [OMX.qcom.video.decoder.avc] Video O/P format.eColorFormat 0x7fa30c00

I/OMXCodec( 115): [OMX.qcom.video.decoder.avc] Enable frame by frame mode

E/QCvdec ( 115): Setparameter: unknown param 2130706434

W/OMXCodec( 115): Failed to set frame packing format on component

E/QCvdec ( 115): Error: get_config Not Implemented

I/OMXCodec( 115): [OMX.qcom.video.decoder.avc] video dimensions are 640 x 360

E/QCvdec ( 115): get_extension_index: Error, Not implemented

E/OMXNodeInstance( 115): OMX_GetExtensionIndex failed

W/QCvdec ( 115): ======================================================================

W/QCvdec ( 115): Open Max Statistics

W/QCvdec ( 115): ======================================================================

W/QCvdec ( 115): empty this buffer rate = NaN

W/QCvdec ( 115): empty this buffer total time = 0

W/QCvdec ( 115): empty this buffer count = 0

W/QCvdec ( 115): ======================================================================

E/OMXCodec( 115): Attempting to allocate OMX node 'OMX.TI.Video.Decoder'

E/OMXCodec( 115): Attempting to allocate OMX node 'OMX.SEC.AVC.Decoder'

E/OMXCodec( 115): Attempting to allocate OMX node 'OMX.SEC.FP.AVC.Decoder'

E/OMXCodec( 115): Attempting to allocate OMX node 'OMX.google.h264.decoder'

E/OMXCodec( 115): Successfully allocated OMX node 'OMX.google.h264.decoder'

I/OMXCodec( 115): [OMX.google.h264.decoder] Non-Interlaced format detected

I/OMXCodec( 115): [OMX.google.h264.decoder] AVC profile = 66 (Baseline), level = 30

E/OMXCodec( 115): [OMX.google.h264.decoder] Video O/P format.eColorFormat 0x429e7c14

I/OMXCodec( 115): [OMX.google.h264.decoder] Enable frame by frame mode

W/OMXCodec( 115): Failed to set frame packing format on component

I/OMXCodec( 115): [OMX.google.h264.decoder] video dimensions are 320 x 240

I/OMXCodec( 115): [OMX.google.h264.decoder] Crop rect is 320 x 240 @ (0, 0)

E/OMXCodec( 115): Attempting to allocate OMX node 'OMX.TI.AAC.decode'

E/OMXCodec( 115): Attempting to allocate OMX node 'OMX.google.aac.decoder'

E/OMXCodec( 115): Successfully allocated OMX node 'OMX.google.aac.decoder'

As you can see it loads the qcom decoder but then the qcom decoder craps out because of two not implemented commands: get_config and get_extension_index. You can pinpoint these changed to this commit to the android base frameworks/libstagefright.

https://github.com/a...00279963965a677 and this commit

https://github.com/a...ea798762916ff5c

Basically that is why it broke down and this needs to be implemented in the libraries that interface QDSP5 to OpenMAX. This is easy if you have the code. The code is available for QDSP6 and other Qualcomm API's like this. But not for QDSP5 which most likely is cause there is code is legally not allowed to be licensed with a opensource license such as GPL. I don't hope the same problem with intellectual property doesn't exist for compiled libraries that would prohibit Qualcomm to publish compiled ARMv6 libraries as they did for the Adreno drivers.

The dev community obtained these libraries before by getting them from existing roms. This will NOT happen and i repeat there will not be any ICS update to ANY armv6 phone of Qualcomm. For example ZTE doesn't base their ROM's on AOSP, they use CodeAurora which releases a full package which is fully compatible with the SoC they buy including all drivers and kernel. This ZTE N880E rom is clearly based from a CAF version.

But there isn't an CodeAurora release for the MSM7x27 and the CAF ICS codebase is as incompatible with v6 as AOSP. In Gingerbread they made all kinds of commits to make Gingerbread compatible with v6, such as Webkit and V8. In ICS-CAF there hasn't been single one. Timezones are still f*cked, Webkit uses JavaScriptCore which is a lousy and barely functional javascript engine (as compared to V8). And there isn't much incentive for Qualcomm/CodeAurora to want to support ARMv6 MSM7227, in fact it is the opposite. Last year they released a pin-compatible snapdragon which is put in the market as a cheap solution to extend the lifehood from platforms such as the Blade. This enables ZTE to just take the platform which is completely designed already and replace the MSM7227 by the MSM7227A without much changes to the kernel as GPIO pins are still the same.

Edited by skywave
Link to comment
Share on other sites

Guest skywave

Thank you for that informative post skywave. I think my next device will not be a qualcomm

Well to be honest they did release the source of the OpenMAX wrapper for the QDSP6 and VIDC API's and codeaurora is excellent if you exclude a few things. Dunno if there other SoC companies that offer a codebase like CodeAurora does.

Edited by skywave
Link to comment
Share on other sites

Guest stare_spb

This is what happens if you try HW video decoding on ICS.

As you can see it loads the qcom decoder but then the qcom decoder craps out because of two not implemented commands: get_config and get_extension_index.

Did anybody tried to trace what the output of those commands (on msm7227a hardware)? Those commands does not seems to be taking arguments, so I guess the output is always the same on the same hardware? So what's preventing us to write the library, which would wrap the existing qcom decoder, +return the debugged static info on those 2 functions. Or do I miss something? (sorry for bad english)

Link to comment
Share on other sites

Guest tilal6991

Thanks for the info sky wave. Really helped understand what is going on.

Is the Sony ST21i not an armv6 device however?

Link to comment
Share on other sites

Guest t0mm13b

Did anybody tried to trace what the output of those commands (on msm7227a hardware)?

That's armv7 chipset - msm7227a. armv6 is msm7227 :)

Link to comment
Share on other sites

Guest stare_spb

That's armv7 chipset - msm7227a. armv6 is msm7227 :)

" I know this, you missed the point of my post. My idea is to debug the get_config output on msm7227a hardware, and use the existing omx armv6 libs with wrapper, as the qdsp is basically the same.
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.