tr69c set userinterface.passwordrequired错误调试

1. BcmDb_setUserInterface(&userinterface);   include in cfm/api/bcmcfm.c

   

2. BcmDb_setUserInterface(PBCM_USERINTERFACE pUserInterface)

   {

       ....

       BcmPsi_objStore(sysPsi, SYS_USERINTERFACE_ID, pUserInterface, sizeof(BCM_USERINTERFACE));

      // SYS_USERINTERFACE_ID = 9

   }

3. PSI_STATUS BcmPsi_objStore(PSI_HANDLE appId, UINT16 objectId, PSI_VALUE value, UINT16 length)
{

    ret =ifc->set((const PSI_HANDLE)appId, (const UINT16)objectId,
                (const PSI_VALUE)value, (const UINT16)length);
    //objectId = 9

  

}

4. PSI_STATUS PsiIfc::set(const PSI_HANDLE appId,

                        const UINT16 objectId,
                        const PSI_VALUE value,
                        const UINT16 length)

{

        AppNode* node = (AppNode *)appId;    

       PsiApp* app = node->app;

        if ( app != NULL )
             app->set(objectId, value, length);

}

5. 

PSI_STATUS PsiApp::set(const UINT16 id,

                       const PSI_VALUE value,

                        const UINT16 length)

{

    PSI_STATUS status = PSI_STS_OK;

   ObjectNode* node = find(id);       //id = 9

    if ( node == NULL)

   {

        ....

    }

    else

    {

               status = (node->object)->set(value, length);

    }

}

原文地址:https://www.cnblogs.com/gavinwu/p/3173492.html