UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 22062

9.1i EDK/RTOS - Error: errno 0x31 = 49: "Can't assign requested address". (cf. file errno.h in $INSTALL_TORNADO/target/h)"

Description

After booting VxWorks on the target, the function setsockopt() (used to join a multicast group) in the application code returns an error with the errno 0x31 = 49 : "Can't assign requested address" (cf. file errno.h in $INSTALL_TORNADO/target/h).

Solution

To resolve this issue, modify xemac_end_adapter.c as follows:  

 

Before:  

 

===== 

if (END_OBJ_READY(&DriverPtr->VxEnd, 

IFF_UP | 

IFF_RUNNING | 

IFF_NOTRAILERS | 

IFF_BROADCAST) == ERROR) 

DEBUG_LOG(DEBUG_ERROR,"END_OBJ_READY failed\n", 1,2,3,4,5,6); 

goto ErrorExit; 

}  

 

After: 

 

===== 

if (END_OBJ_READY(&DriverPtr->VxEnd, 

IFF_UP | 

IFF_RUNNING | 

IFF_NOTRAILERS | 

IFF_BROADCAST | 

IFF_MULTICAST) == ERROR)  

DEBUG_LOG(DEBUG_ERROR,"END_OBJ_READY failed\n", 1,2,3,4,5,6); 

goto ErrorExit; 

IoctlSetDevControl(DriverPtr, (int) EIOCSFLAGS, (caddr_t) IFF_ALLMULTI);

AR# 22062
Date Created 09/04/2007
Last Updated 05/19/2014
Status Archive
Type General Article