ManualEthernetConfig() undefined reference issue in v2.7.1

Discussion to talk about software related topics only.
Post Reply
sblair
Posts: 162
Joined: Mon Sep 12, 2011 1:54 pm

ManualEthernetConfig() undefined reference issue in v2.7.1

Post by sblair »

I'm still peeling the onion on trying to migrate from NNDK 2.6.7 to NNDK 2.7.1.

This is the latest bit of fun:

C:\Code\Navigator\trunk\Navigator\Release/..\Network.cpp:72: undefined reference to `ManualEthernetConfig(unsigned char, unsigned char, unsigned char)'

So we have the following code we wrote to get around a bug in an earlier NNDK issue that should be fixed in NNDK 2.7.0 but would rather leave this code in for good measure:

Code: Select all

/**** NNDK bug:  Network cold boots in half duplex.  Should be fixed in 2.7.0 or later. ***/

	 // Check network connection for Full duplex
	if(EtherLink())
	{
		if( !EtherDuplex() )
		{
			// Force re-negotiate
#ifndef _DEBUG						//ToDo: NNDK 2.6.7 issue when compiling for Debug this isn't being declared in the debug libs.
			ManualEthernetConfig( true, true, true );
#endif

			// Wait for network
			// should come up as we are connected to switch
			i = 5;
			while(!EtherLink() || !i--)
				OSTimeDly(TICKS_PER_SECOND);
		}
	}
I also have #include <ethernet.h> at the top. This compiled in NNDK 2.6.7 in RELEASE. It would not compile in DEBUG for some unexplained reason, hence my #ifndef _DEBUG statement.

In NNDK 2.7.1 it won't compile in RELEASE either now.

I see the following in Ethernet.h: void ManualEthernetConfig ( BOOL speed100Mbit, BOOL fullDuplex,
BOOL autoNegotiate );

Everything still looks correct according the docs for this call, so what gives?

Thanks.
Scott
Post Reply