Hi!
Can anyone point me in a direction of an example or show the code to change the IP-adress on ETH0 in NetOS 7.1.
I get the new IP from a serial packet, and I want to set that IP as the new IP on ETH0.
Please help …/—/…
/Jakob
Hi!
Can anyone point me in a direction of an example or show the code to change the IP-adress on ETH0 in NetOS 7.1.
I get the new IP from a serial packet, and I want to set that IP as the new IP on ETH0.
Please help …/—/…
/Jakob
Doesn’t matter!
I figured it out!
int status;
NaIamParams_t *interface;
devBoardParamsType nvParams;
// Read current settings.
customizeReadDevBoardParams(&nvParams);
interface = customizeIamFindInterfaceConfig(BP_ETH_INTERFACE, &nvParams.iamParamsInfo);
if (interface == NULL) {
customizeIamGetDefaultConfig(&nvParams.iamParamsInfo);
interface = customizeIamFindInterfaceConfig(BP_ETH_INTERFACE, &nvParams.iamParamsInfo);
}
interface->staticParams.IPV4_ADDR(ipAddress) = iplong;
//Enabling the static configuration will cause DHCP, BOOTP, etc. to be
// ignored on this interface.
interface->staticParams.isEnabled = TRUE;
status = customizeWriteDevBoardParams(&nvParams);
if (status != BP_SUCCESS) {
printf("Error setting new IP
");
} else {
//printf("IP: %s
",ip_addr);
customizeReset(); /* reset*/
}
Hi,
I am using NetOS 7.3, and I do it this way:
int result;
NaIamParamsInfo_t *config;
NaIamParams_t *eth0Config;
config = malloc( sizeof( NaIamParamsInfo_t ) );
result = customizeIamGetConfig( config );
if( result != BP_SUCCESS )
printf( "Error reading configuration.
" );
eth0Config = customizeIamFindInterfaceConfig( “eth0”, config );
eth0Config->staticParams.ipAddress.addr.ipv4.sin_addr.s_addr = *(u32 *)theValuePtr;
result = customizeIamSetInterfaceConfig( “eth0”, eth0Config );
if( result != BP_SUCCESS )
printf( "Error saving configuration.
" );
But I have a problem, when the application is started it gets the default IP address from appconf.h, instead of taking the new configuration saved in NVRAM.
The APP_USE_NVRAM is defined like this:
#define APP_USE_NVRAM APP_FOR_ALL_PARAMETERS
jakobvibe, when you reset your board, does it work with the new IP address?
Regards,
Jose
Problem solved.
Sorry for the stupid question. I had selected the option to reset parameters to factory results and checked the “don’t ask again” box when debugging my application.
I was not able to make the environment ask me again when starting to debug, but I changed the debugResetToDefaults parameter to false in the com.digi.netos.prefs project file. Now parameters are read from NVRAM.
Best regards,
Jose