Home/Support/Support Forum/How to disable "IAM:AUTOIP IPv4 xxx on eth0:0" message?
New and improved user forum site coming soon
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

How to disable "IAM:AUTOIP IPv4 xxx on eth0:0" message?

0 votes
I have a Digi ME 9210 with NET+OS configured with static IPv4 IP. If I boot up with serial cable connected, I see all boot infos and my printf messages from my firmware. But after the boot I get this annoying message "IAM:AUTOIP IPv4 169.254.247.72 on eth0:0" message inside my printf messages. Few lines before I got the message "IAM:STATIC IPv4 192.168.100.100 on eth0", this is correct. But why the other message? How to disable?
asked Mar 23 in NET+OS by ottelo New to the Community (3 points)

Please log in or register to answer this question.

1 Answer

0 votes
Do you want to disable autoIP or just the message? Why?

to disable autoIP
appconf.h:

#define APP_ENABLE_AUTO_IP APP_ON_NO_INTERFACE
answered Mar 23 by LeonidM Veteran of the Digi Community (4,490 points)
I set up a static IP, so I dont need auto ip. I think I already put this into my code... so how can I disable the message? Why? -> Because this message is inserted in the middle of my debug messages. Annoying.
The define above should disable AutoIP and you shouldn't see the message. make sure it is set to APP_ON_NO_INTERFACE
I already added this, but with no effect.
I already added

#define APP_ENABLE_AUTO_IP APP_ON_NO_INTERFACE

but with no effect. The message "IAM:AUTOIP IPv4 169.254.247.72 on eth0:0" still appears.
Auto IP is set in the NVRAM so just disabling in code is not enough. You need a code to disable it in NVRAM:
#include "iam.hh"
int disableAutoIP(void)
{
         devBoardParamsType boardParams;
         BOOLEAN anyEnabled = FALSE;
         int status, i;

         status = customizeReadDevBoardParams (&boardParams);
         if (status != BP_SUCCESS)
         {
                  printf("customizeReadDevBoardParams returned error %d\n", status);
                  return -1;
         }

         for (i = 0; i < NA_IAM_INTERFACE_MAX; i++)
         //for (i = 0; i < 4; i++)
         {
                  BOOLEAN isEnabled = boardParams.iamParamsInfo.iamParams[i].autoipParams.isEnabled;

                  printf("iamParams[%d].autoipParams.isEnabled:%d\n", i , isEnabled);

                  if (isEnabled)
                  {
                            boardParams.iamParamsInfo.iamParams[i].autoipParams.isEnabled = FALSE;
                            anyEnabled = TRUE;
                            printf("found enabled interface: ", i);
                  }
         }

         if (anyEnabled)
         {
                  status = customizeWriteDevBoardParams(&boardParams);
                  printf("Disabling Auto IP on interface: ", i);
                  if (status != BP_SUCCESS)
                  {
                            printf("customizeWriteDevBoardParams returned error %d\n", status);
                            return -2;
                  }
                  //TODO: Maybe reset the device here?
         }

         return 0;
}

You need to run the code every time you reset NVRAM to defaults.
...