MoDaCo is undergoing planned maintenance. Site functionality may be reduced - follow @modaco or @paulobrien on Twitter for updates.

  • Announcements

    • Reminder - MoDaCo position on illegal content

      ILLEGAL CONTENT I'd like to just reaffirm MoDaCo's position regarding piracy and illegal content in the light of some recent questions / postings. Posts will be censored by myself or my moderation team if the contain or link to: Illegal / pirated / cracked software or sites that host such software
      Nintendo emulators / ROMs or sites hosting them (in light of Nintendo's legal stance)


      CUSTOM ROMS

      You may discuss and post links to custom device ROMs on MoDaCo, provided the following rules are adhered to: ROMs must not be hosted directly in topic via the MoDaCo attachment system
      ROMs must not contain any illegal 3rd party software (this includes trial versions included without permission)
      ROMs must give full credit to the original author
      This decision has been taken in light of the huge amount of interest in this area of device customisation within the community, and member feedback! Please note that custom ROM discussion should be kept in specific device sub-areas, (e.g. Kaiser.MoDaCo.com for Kaiser based devices). ISSUES If you have any issues with this policy, please contact me directly via PM. P
    • Support MoDaCo by signing up to a MoDaCo Silver or Gold membership

      To sign up to an annual MoDaCo Silver subscription which will eliminate all ads from the site (as well as giving you access to the MoDaCo Online Kitchens for Android) for only £9.99 using PayPal, Credit or Debit Card, ensure you are logged in to the site, and then click the link below, which will take you directly to the subscription store! You can also sign up to an annual MoDaCo Gold subscription for £29.99, which adds the benefits listed below! PURCHASE A MODACO SUBSCRIPTION - FREE Titanium Backup Mobile for Android worth $5.99! - FREE 1 year PrivateInternetAccess.com worth $39.95! - FREE 1 year LastPass Premium worth $12! - FREE CalcConvert for Pocket PC from Binaryfish worth $17.95! - FREE Calendar Bar for Pocket PC from OmegaOne worth $9.99! - FREE CamerAware for Pocket PC and Smartphone from MoDaCo worth £19.99 / $30! - FREE Chronos for Pocket PC from ActiveKitten worth $14.95! - FREE CodeWallet Pro for Smartphone and Pocket PC from DeveloperOne worth up to $24.95! - FREE Concentrix for Pocket PC from eSoft Interactive worth $9.95! - FREE FlexMail for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE FTouchSL for Pocket PC from Vekoff s.r.o. worth 10 euro / $12.50! - FREE Jewel Challenge for Pocket PC from eSoft Interactive worth $9.95! - FREE John Cody's Alerts Pro for Smartphone from Omnisoft worth $14.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Dutch for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> French for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> German for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Italian for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Spanish for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Dutch for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> French for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> German for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Russian for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Turkish for Smartphone from Lingvosoft worth $49.95! - FREE Note2Self for Pocket PC and Smartphone from WebIS worth up to $19.90! - FREE Opera 8.60 for Pocket PC and Smartphone from Opera Software worth up to $48! - FREE Pocket Informant for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE Pocket Launcher for Pocket PC and Smartphone from Conduits worth $9.95! - FREE PTab for Pocket PC and Smartphone from z4soft worth up to $60! - FREE Resco Explorer for Pocket PC and Smartphone from Resco worth up to $49.90! - FREE Safemode for Pocket PC from monocube worth $12.95 - FREE SplashPhoto for Pocket PC and Smartphone from SplashData worth up to $59.90! - FREE Sprite Backup for Pocket PC and Smartphone from Sprite Software worth $29.95! - FREE Teksoft Glyphs UI for Pocket PC and Smartphone from Teksoft €9.95! - FREE Teksoft HeadsetRemote for Pocket PC and Smartphone from Teksoft €4.95! - FREE Traffic Jam for Pocket PC from eSoft Interactive worth $9.95! - FREE unlock (1 per year) from imei-check.co.uk - DISCOUNT of 10% at MoDaCo FairDeal - DISCOUNT of 10% at Semsons.com - FORUM - AD FREE SITE - FORUM - custom rank / title - FORUM - double competition entries - FORUM - double post attachment space - FORUM - no search flood control - FORUM - priority event registration - FORUM - triple PM space
    • Reminder: Selling items on the forum directly is not allowed

      Please note that selling items on the forum directly is not allowed by the forum rules. There is a forum for eBay auctions whereby you can list the items on eBay and link to them there. This is the ONLY forum for this type of activity. You may also advertise links to the eBay forum in your signature. Please note that selling directly in contravention of these rules will result in a warning / suspensions / ban.
Sign in to follow this  
Followers 0

ZTE N880E & first ZTE ICS update

67 posts in this topic

Posted (edited) · Report post

" 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.

Edit:

Translating from armv7 code via debugging the output and translate into armv6 for a start, which brings about this.. how would you create a wrapper around the existing omx libs which are proprietary?! :)

I am not sure if this could actually be done, i.e. intercept the library load process for the omx libs, and somewhat inject a method in there... you'd want to be very knowledgeable on the armv6 instruction set and determine where/when and how to intercept, its easier on the x86 platform in relation to windows, this is where it can go wrong....supply the wrong address and possibly crash the entire handset... just saying, its far more difficult than you realize... :)

Just have a look here - library preloading... ftw?

Edit#2: Just after reading it, its confirmed, library preload is not supported:

Placing hooks and operating within the application was pretty cool but it was unfortunately not possible on Android: The loader (ld) does not support library preloading via LD_PRELOAD
Edited by t0mm13b
0

Share this post


Link to post
Share on other sites

Posted · Report post

The OPENMAX IL specification is online btw.

getExtensionIndex is on page 79

The OMX_GetExtensionIndex macro will invoke a component to translate from a

standardized OpenMAX or vendor-specific extension string for a configuration or a

parameter into an OpenMAX structure index. The vendor is not required to support this

command for the indexes already found in the OMX_INDEXTYPE enumeration, which

reduces the memory footprint. The component may support any standardized OpenMAX

or vendor-specific extension indexes that are not found in the master OMX_INDEXTYPE

enumeration.

This call is a blocking call. The component should return from this call within five msec.

The OMX_GetExtensionIndex macro is defined as follows.

#define OMX_GetExtensionIndex (

hComponent,

cParameterName,

pIndexType )

((OMX_COMPONENTTYPE*)hComponent)->GetExtensionIndex( \

hComponent, \

cParameterName, \

pIndexType)

3.2.2.10 OMX_GetConfig

The OMX_GetConfig macro will get a configuration structure from a component. This

macro can be invoked at any time after the component has been loaded. The

nParamIndex parameter indicates which structure is being requested from the

component. The caller shall provide the memory for the structure and populate the

nSize and nVersion fields before invoking this macro. If the configuration settings

are for a port, the caller shall also provide a valid port number in the nPortIndex field

before invoking this macro. All components shall support a set of defaults for each

configuration so that the caller can obtain the structure populated with valid values.

This call is a blocking call. The component should return from this call within five msec.

The OMX_GetConfig macro is defined as follows.

#define OMX_GetConfig (

hComponent,

nConfigIndex,

ComponentConfigStructure)

((OMX_COMPONENTTYPE*)hComponent)->GetConfig( \

hComponent, \

nConfigIndex, \

ComponentConfigStructure)

The parameters are as follows.

Parameters Description

hComponent

[in] The handle of the component that executes the call.

nIndex

[in]

The index of the structure to be filled. This value is from the

OMX_INDEXTYPE enumeration.

ComponentConfigStructure

[in,out]

A pointer to the IL client-allocated structure that the

component fills.

Section 3.3.9 describes the corresponding function that each component implements.

1

Share this post


Link to post
Share on other sites

Posted · Report post

Edit:

Translating from armv7 code via debugging the output and translate into armv6 for a start, which brings about this.. how would you create a wrapper around the existing omx libs which are proprietary?! :)

I am not sure if this could actually be done, i.e. intercept the library load process for the omx libs, and somewhat inject a method in there... you'd want to be very knowledgeable on the armv6 instruction set and determine where/when and how to intercept, its easier on the x86 platform in relation to windows, this is where it can go wrong....supply the wrong address and possibly crash the entire handset... just saying, its far more difficult than you realize... :)

Just have a look here - library preloading... ftw?

Yup, I meant some kind of library preloading technique, not direct injection hacks which sure are near to impossible.

Edit#2: Just after reading it, its confirmed, library preload is not supported:

OK. Next idea: patch libstagefright, by replacing the get_config and getextensionindex requests with debugged data?

0

Share this post


Link to post
Share on other sites

Posted · Report post

Yup, I meant some kind of library preloading technique, not direct injection hacks which sure are near to impossible.

OK. Next idea: patch libstagefright, by replacing the get_config and getextensionindex requests with debugged data?

My understanding is the proprietary omx libs are crapping out with the two said un-implemented functions - refer to post #18 on this thread on the previous page.

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

and

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

Share this post


Link to post
Share on other sites

Posted · Report post

My understanding is the proprietary omx libs are crapping out with the two said un-implemented functions - refer to post #18 on this thread on the previous page.

and

Your understanding is not fully correct. That's not the omx libs which are crapping out, but a code in a libstagefright which tries to access those unimplemented functions. So the obvious solutions seems to be patch this code, replacing the actual calls with data retrieved from msm7227a hardware.

0

Share this post


Link to post
Share on other sites

Posted · Report post

Your understanding is not fully correct. That's not the omx libs which are crapping out, but a code in a libstagefright which tries to access those unimplemented functions. So the obvious solutions seems to be patch this code, replacing the actual calls with data retrieved from msm7227a hardware.

The error tag identifier points to Qualcomm libs right?

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

The error tag identifier points to Qualcomm libs right?

Yeah but stare_spb is right. OMXnoddeInstance (part of libstagefright tries to access those two methods, get unimplemented back so it moves on to the next codec. Which is the software codec. The obvious hack is indeed to try to get revert back omxnodeinstance to try to workaround these two methods, by for example revert those two commits i put in the big post.

But there could be tremendous sideeffects of that, they were commited in Feb 2011. Quite resonable to assume they are used all over in ICS and upcoming NDK apps.

Edited by skywave
0

Share this post


Link to post
Share on other sites

Posted · Report post

The error tag identifier points to Qualcomm libs right?

You mean QCvdec? You mean some code in propietary qcom libs requests unimplemented functions in some other propietary libs? Seems highly unlikely. I may not fully getting your poing, though, correct me if you think so. My understanding is that errors is caused by libstagefright code such as:

mComponent->GetConfig = GetConfigWrapper;

mComponent->SetConfig = SetConfigWrapper;

mComponent->GetExtensionIndex = GetExtensionIndexWrapper;

0

Share this post


Link to post
Share on other sites

Posted · Report post

There is a very very tiny chance though, that there is an updated QDSP5 Openmax wrapper somewhere in some gingerbread rom. But then again its more likely that qualcomm kept these changes in an ICS branch.

0

Share this post


Link to post
Share on other sites

Posted · Report post

You mean QCvdec? You mean some code in propietary qcom libs requests unimplemented functions in some other propietary libs? Seems highly unlikely. I may not fully getting your poing, though, correct me if you think so. My understanding is that errors is caused by libstagefright code such as:

mComponent->GetConfig = GetConfigWrapper;

mComponent->SetConfig = SetConfigWrapper;

mComponent->GetExtensionIndex = GetExtensionIndexWrapper;

My bad, I must have mistook the error tag identifier as the proprietary libs.. :)

Bloody black boxes... :D

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

@stare_spb:

Is this what you're thinking of - page 124 of my favourite book. Interpositioning - replace a global c library function with your own, as in this case, override the omx lib's unimplemented methods with a call to a library for example, 'omxFooLib' in which it returns a spoofed or constant value to satisfy the libstagefright? But beware, omx could break somewhere if it calls 'omxFooLib' for the function get_extension_index and get_config

Just saying, that you're correct so far, but what does those two functions return on a pure ICS running ARMv7 chipset? - if its pointers of some sort to some omx structure that could be trouble? Or does it return a block of memory allocated or does it return 0 for success? (ICS can be recompiled for that handset and simply add a logcat to dump whatever it is returning for those two calls?)

Edited by t0mm13b
0

Share this post


Link to post
Share on other sites

Posted · Report post

so good ! i hope the orange v880 also can run wp

0

Share this post


Link to post
Share on other sites

Posted · Report post

There was a second ICS update for N880E the other day. Not much new except this ZTE live wallpaper was now included. Anyone who's watched MWC/CES videos of upcoming ZTE devices should be familiar with this. It took a small modification to make it work in Blade and it still only works in some ZTE devices.

Spinning 3D shrooms, wtf ZTE. :D

post-834050-0-96243500-1338022495_thumb.

MushroomDay.apk

http://www.mediafire...cg13i98fglcr2k9

1

Share this post


Link to post
Share on other sites

Posted · Report post

probably what they ate when they put the .35 kernel sources out :P

1

Share this post


Link to post
Share on other sites

Posted · Report post

Nice live wallpaper :)

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

There was a second ICS update for N880E the other day. Not much new except this ZTE live wallpaper was now included. Anyone who's watched MWC/CES videos of upcoming ZTE devices should be familiar with this. It took a small modification to make it work in Blade and it still only works in some ZTE devices.

Spinning 3D shrooms, wtf ZTE. :D

I did watch the videos, great live wallpaper :D

Thanks for it!

Edit: ICS update is 258MB? Thats big.

Edited by agpoli
0

Share this post


Link to post
Share on other sites

Posted · Report post

There was a second ICS update for N880E the other day. Not much new except this ZTE live wallpaper was now included. Anyone who's watched MWC/CES videos of upcoming ZTE devices should be familiar with this. It took a small modification to make it work in Blade and it still only works in some ZTE devices.

Spinning 3D shrooms, wtf ZTE. :D

post-834050-0-96243500-1338022495_thumb.

MushroomDay.apk

http://www.mediafire...cg13i98fglcr2k9

Thanks for this, its very smooth with cm7!

0

Share this post


Link to post
Share on other sites

Posted · Report post

Nice wallpaper runs sweet on the latest moldova gb

0

Share this post


Link to post
Share on other sites

Posted · Report post

is the n880e ext4?

0

Share this post


Link to post
Share on other sites

Posted · Report post

ZTE released a 3.0.8 kernel source for Acqua series (ATLAS_40 board) today.

http://support.zte.c...?newsId=1002102

Unzipped it couple of times and mirrored here:

http://www.mediafire...qw69ikyl51skd59

It seems they've started from scratch with the 3.x.x kernel. I quickly ported blade board files and tried to compile it but ran into several problems. It would require some serious forward porting to get touchscreen, sensors, camera, leds, etc working. Hopefully someone who actually knows something about kernel development can take a look. :P

2

Share this post


Link to post
Share on other sites

Posted · Report post

ZTE released a 3.0.8 kernel source for Acqua series (ATLAS_40 board) today.

http://support.zte.c...?newsId=1002102

Unzipped it couple of times and mirrored here:

http://www.mediafire...qw69ikyl51skd59

It seems they've started from scratch with the 3.x.x kernel. I quickly ported blade board files and tried to compile it but ran into several problems. It would require some serious forward porting to get touchscreen, sensors, camera, leds, etc working. Hopefully someone who actually knows something about kernel development can take a look. :P

I think you should open a thread for 3.x.x kernel development.. more ppl will see it.

0

Share this post


Link to post
Share on other sites

Posted · Report post

I think you should open a thread for 3.x.x kernel development.. more ppl will see it.

People will find it here, and it's also the kernel source for this device. If I expected any 3.x.x kernel development for Blade, I would open a thread for it. ;) From what I can understand, making this work on Blade would require about the same amount of work as porting a 3.x.x kernel from Code Aurora - it's not very likely to happen.

It was more of a FYI post if someone wants to poke around.

0

Share this post


Link to post
Share on other sites

Posted · Report post

People will find it here, and it's also the kernel source for this device. If I expected any 3.x.x kernel development for Blade, I would open a thread for it. ;) From what I can understand, making this work on Blade would require about the same amount of work as porting a 3.x.x kernel from Code Aurora - it's not very likely to happen.

It was more of a FYI post if someone wants to poke around.

Too bad. Nothing useful?

0

Share this post


Link to post
Share on other sites

Posted · Report post

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!

The whole point of MSM7227A / MSM7627A is that it is pin compatible with the MSM7227/MSM7627 (It can even run in a legacy mode to support directly ARM11 stuff).

Radio stuff swap 7627 for 7227 and replace a few bits but you can pretty much keep the same design. (One of the big advantages of Qualcomm for OEM's).

People who understand radio stuff (e.g Nokia use a non integrated chipset and then deal with the baseband themselves but there is not many companies capable of such (lumia 900 for example).

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

MoDaCo is part of the MoDaCo.network, © Paul O'Brien 2002-2015. MoDaCo uses IntelliTxt technology.