Cerberus ENC28 Does Not Work

I’m running VS2012 with the August 31, 2015 R1 Library, Cerberus firmware, ENC28 hardware version 1.2. The system is not visible on the network when initialized with the following code:

EthernetBuiltIn netif = new EthernetBuiltIn();

byte[] macAddress = new byte[] { 0x34, 0x34, 0x34, 0x34, 0x34, 0x00 };

string[] octets = DataDictionary.TCPIPAddress.Split( '.' );

if ( octets != null && octets.Length >= 4 )
	macAddress[5] = Convert.ToByte( octets[3] );
netif.PhysicalAddress = macAddress;

netif.EnableStaticIP(DataDictionary.TCPIPAddress, DataDictionary.Subnet, DataDictionary.Gateway);
if (!netif.Opened)

When I flashed the Cerberus I didn’t get the option to install the Ethernet enabled firmware which I believe is the issue, but I don’t know how to get the option or the firmware that is Ethernet enabled. The 4.3 SDK folder only shows one type of firmware to load.

What am I missing? This is a system that functioned properly with v4.2 (and the old way of initializing the network interface). 4.3 breaks the network.

@ csailor - There is no longer a separate firmware for Ethernet on the Cerberus or Hydra. You want to use the EthernetENC28 object, not EthernetBuiltIn.

Thank you, somehow I missed that I needed to use a different object.

Ok, now when I make a call to instantiate the object:

 EthernetENC28 ethernetENC28 = new EthernetENC28(6);

I’m getting the exception:

 "A first chance exception of type 'System.Exception' occurred in Microsoft.SPOT.Hardware.dll"

@ csailor - Can you show the whole, minimal, program?

@ John - It works now…

I changed the socket from 6 to 5 and the network came up without generating an exception. But this now brings me to the next problem. My current configuration with v4.2 was PulseCount on socket 5 and Enet on socket 6. I setup the PulseCount for hardware SPI and shared it. Everything was working fine this way.

The question is: can I still use the PulseCount with a hardware SPI on socket 6 and still share the SPI interface in v4.3?

@ John - Just looked a the EthernetENC28 and saw that it is using the SPI exclusively… So, can I modify the class for sharing and have it work?

@ csailor - You can modify the class, but that is not something we recommend or support.

@ csailor - Hi, perhaps it will work like this:
Kind Regards

@ RoSchmi - Thanks!

I’ve already made the changes to the EthernetENC28 code and testing it now… From what I see it is working correctly, but a lot more testing is needed before I’m comfortable moving from v4.2 to v4.3.