Problem: No packets are received after setup for raw ethernet
The sending routine runs on a PC, the mac header has zeroes for the dest and src addresses, the ether type is set to 0x300.
The first thread after startup has the following calls
rc = NC_SystemOpen( NC_PRIORITY_LOW, NC_OPMODE_INTERRUPT );
rc = NC_NetStart( hCfg, NetworkOpen, NetworkClose, NetworkIPAddr ); Then the following is launched by TaskCreate from NetworkOpen, or from NetworkIPAddr. The routine prints out messages that shows that it gets to the call to recvnc() with no errors, and then it never returns from recvnc() The sending packet is sent from a linux pc, the mac header addresses are both zeroed, the ether type is set to 0x300. (previoisly it was 0x800, but it makes no difference). The lights blink on the interfaces, but on the dsp the call to recvnc() never returns.
Uint32 rawchannel_num = 3;
Uint32 rawether_type = 0x300;
char *prcvbuf = NULL;
HANDLE hrcvbuf = 0;while ( !preprocessor_linkstatus ) { TSK_sleep( ticks ); }
fdOpenSession( TaskSelf() );hRawSocket = socket(AF_RAWETH, SOCK_RAWETH, rawether_type ); retval = setsockopt( hRawSocket, SOL_SOCKET, SO_IFDEVICE, &val, sizeof(val) ); val = rawchannel_num;sizeof(val)); val = 8192;sizeof(val)); retval = recvnc( hRawSocket, (void**) &prcvbuf, 0, &hrcvbuf );
retval = setsockopt(hRawSocket, SOL_SOCKET, SO_PRIORITY, &val,
retval = setsockopt(hRawSocket, SOL_SOCKET, SO_RCVBUF, &val,