CerbuinoNet network problem

Hallo, i have a problem with Network connectivity from FEZ CerbuinoNet board. When I using the Board with Netmf4.3 and GHI SDK 2015 R1 is by following Code no response by ping to the board. The same Code and board with Netmf4.2 and GHI SDK 2015 R1 and Board answers by ping. With Monutaineer Eth 1 give no Problem, this Board answers by Netmf4.2 + Netmf4.3 correctly. The Firmware is in each case on topical state.


Imports GT = Gadgeteer
Imports GTM = Gadgeteer.Modules
Imports Microsoft.SPOT.Net.NetworkInformation
Imports Microsoft.SPOT.Hardware
Imports VB = Microsoft.VisualBasic

Imports System

Namespace TestCerbuinoNet
    Partial Public Class Program
        Private IPAdresse As String = "192.168.0.25"
        Private NetzMaske$ = "255.255.255.0"
        Private DefaultGateway$ = "192.168.0.1"

        Public Sub ProgramStarted()
            Debug.Print("Program Started")
            If InitializeNetzwerk() = True Then
                Debug.Print("Is ping to device OK????")
            End If
        End Sub

        Private Function InitializeNetzwerk() As Boolean
            Debug.Print("Initialisiere Netzwerk...")
            Dim interfaces As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
            If interfaces IsNot Nothing AndAlso interfaces.Length > 0 Then
                Dim NetInterface As NetworkInterface = interfaces(0)
                NetInterface.EnableStaticIP(IPAdresse, NetzMaske, DefaultGateway)
                Debug.Print("  IP Addresse: " + NetInterface.IPAddress)
                Debug.Print("  Subnet Mask: " + NetInterface.SubnetMask)
                Debug.Print("  DefaultGateway: " + NetInterface.GatewayAddress)
                Return True
            Else
                Debug.Print("No network device found.")
                Return False
            End If
        End Function

    End Class
End Namespace

I hope you can help
many thanks
Klaus

@ Leuthold -
I am not sure if your code still correct for 4.3 because a lot of change from 4.2 to 4.3.

But, you can try our example from here:
https://www.ghielectronics.com/docs/30/networking
There is no ENC28 but ENC28 is same Wifi, just has no Join() function.
More detail is below:

using GHI.Networking;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using Microsoft.SPOT.Net.NetworkInformation;
using System;
using System.Net;
using System.Threading;

public class Program
{
    private static EthernetENC28J60 netif;
   
    public static void Main()
    {
        bool useDHCP = false;
        NetworkChange.NetworkAvailabilityChanged += NetworkChange_NetworkAvailabilityChanged;
        NetworkChange.NetworkAddressChanged += NetworkChange_NetworkAddressChanged;

        netif = new EthernetENC28J60(SPI.SPI_module.SPI1, chipSelectPin, externalInterruptPin, resetPin);
        if (useDHCP == false)
            {
                Debug.Print("Set static IP...");
                netif.EnableStaticIP("x.x.x.x", "x.x.x.x", "x.x.x.x");
                netif.EnableStaticDns(new string[] { "x.x.x.x", "x.x.x.x" });

            }
            else
            {
                Debug.Print("Get DHCP IP...");
                //// DHCP IP
                if (netif.IsDhcpEnabled == false)
                {
                    netif.EnableDhcp();
                    netif.EnableDynamicDns();
                }
            }
       Debug.Print(Opening ...");
        netif.Open();
       

        while (!isReady )
        {
          
            Thread.Sleep(250);
        }
       Debug.Print(Network is ready to use...");
     
     Thread.Sleep(-1);
    }
    static bool isReady = false;
    private static void NetworkChange_NetworkAddressChanged(object sender, Microsoft.SPOT.EventArgs e)
    {
            Debug.Print("Network address changed");
            Debug.Print("Is DhCp enabled: " + netif.NetworkInterface.IsDhcpEnabled);
            Debug.Print("Is DynamicDnsEnabled enabled: " + netif.NetworkInterface.IsDynamicDnsEnabled);
            Debug.Print("NetworkInterfaceType " + netif.NetworkInterface.NetworkInterfaceType);
            Debug.Print("Network settings:");
            Debug.Print("IP Address: " + netif.NetworkInterface.IPAddress);
            Debug.Print("Subnet Mask: " + netif.NetworkInterface.SubnetMask);
            Debug.Print("Default Gateway: " + netif.NetworkInterface.GatewayAddress);
            
            for (int i = 0; i < netif.NetworkInterface.PhysicalAddress.Length; i++)
            {
                Debug.Print(" " + netif.NetworkInterface.PhysicalAddress[i].ToString());
            }
            Debug.Print("Number of DNS servers:" + netif.NetworkInterface.DnsAddresses.Length);
            for (int i = 0; i < netif.NetworkInterface.DnsAddresses.Length; i++)
                Debug.Print("DNS Server " + i.ToString() + ":" + netif.NetworkInterface.DnsAddresses[i]);
            Debug.Print("------------------------------------------------------");
            if (netif.IPAddress != "0.0.0.0")
            {
                isReady = true;
            }
    }

    private static void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
    {
        Debug.Print("Network availability: " + e.IsAvailable.ToString());
    }
}

@ Dat -
Hallo, first many Thanks for the answer. Now it funct ;D.
Here the code in vb.net :wink:


Imports GT = Gadgeteer
Imports GTM = Gadgeteer.Modules
Imports GHI.Networking
Imports Microsoft.SPOT.Net.NetworkInformation
Imports Microsoft.SPOT.Hardware
Imports VB = Microsoft.VisualBasic
Imports System.Text

Imports System

Namespace TestCerbuinoNet43
    Partial Public Class Program
        Private netif As EthernetENC28J60
        Private IPAdresse As String = "x.x.x.x"
        Private NetzMaske$ = "x.x.x.x"
        Private DefaultGateway$ = "x.x.x.x"

        ' This is run when the mainboard is powered up or reset. 
        Public Sub ProgramStarted()
            Debug.Print("Program Started")
            AddHandler NetworkChange.NetworkAvailabilityChanged, AddressOf NetworkChange_NetworkAvailabilityChanged
            AddHandler NetworkChange.NetworkAddressChanged, AddressOf NetworkChange_NetworkAddressChanged
            Utility.SetLocalTime(New DateTime(2015, 9, 20, 20, 45, 0))
            If InitializeNetzwerk() = True Then
                Debug.Print("Is ping to device OK?")
            End If
        End Sub

        Private Function InitializeNetzwerk() As Boolean
            Debug.Print("Initialisiere Netzwerk...")
            netif = New EthernetENC28J60(Hardware.SPI.SPI_module.SPI1, GHI.Pins.FEZCerbuinoNet.EthernetInterface.ChipSelect, GHI.Pins.FEZCerbuinoNet.EthernetInterface.ExternalInterrupt, GHI.Pins.FEZCerbuinoNet.EthernetInterface.Reset)

            Debug.Print("Set static IP...")
            netif.EnableStaticIP(IPAdresse, NetzMaske, DefaultGateway)
            netif.EnableStaticDns(New String() {DefaultGateway})
            Debug.Print("Opening...")
            netif.Open()

            While Not isReady
                Thread.Sleep(250)
             End While
            Debug.Print("Network is ready to use...")
            Return True
        End Function

        Private isReady As Boolean = False

        Private Sub NetworkChange_NetworkAddressChanged(ByVal sender As Object, ByVal e As Microsoft.SPOT.EventArgs)
            Debug.Print("Network address changed")
            Debug.Print(("NetworkInterfaceType " + netif.NetworkInterface.NetworkInterfaceType.ToString))
            Debug.Print("Network settings:")
            Debug.Print(("IP Address: " + netif.NetworkInterface.IPAddress))
            Debug.Print(("Subnet Mask: " + netif.NetworkInterface.SubnetMask))
            Debug.Print(("Default Gateway: " + netif.NetworkInterface.GatewayAddress))
            Dim i As Integer = 0
            Debug.Print("MAC Adresse: " & Bytes2HexString(netif.NetworkInterface.PhysicalAddress))
            Debug.Print("DNS server:" + netif.NetworkInterface.DnsAddresses(0))
            Debug.Print("------------------------------------------------------")
            If (netif.IPAddress <> "0.0.0.0") Then
                isReady = True
            End If
        End Sub

        Private Sub NetworkChange_NetworkAvailabilityChanged(ByVal sender As Object, ByVal e As NetworkAvailabilityEventArgs)
            Debug.Print(("Network availibility: " + e.IsAvailable.ToString))
        End Sub


        Dim HexArray() As Char = "0123456789ABCDEF".ToCharArray
        Private Function Bytes2HexString(ByVal ByteArray As Byte()) As String
            Dim sb As New StringBuilder
            Dim HexByte$ = ""
            For Each b As Byte In ByteArray
                Dim v% = b And &HFF
                ' leider gibt es im Framework 4.3 keine bit shift Operations im VB Compiler mehr :-((
                HexByte = HexArray(v \ 16)
                HexByte += HexArray(v And &HF)
                sb.Append(HexByte)
                sb.Append(" ")
            Next
            Return sb.ToString()
        End Function

    End Class
End Namespace