Hi:
I am working on Raptor with the ENC28 network interface. I believe I am using the latest codebase (see versions at the end of the message).
I am attempting to get a DHCP connection, in this case to a corporate network. Estabilshing the connection works (gets IP address <> 0.0.0.0) around half the time on the first try. I have coded this to repeatedly try until it connects. This code, executing the function EstabilshNetwork the SECOND time if it did not connect the first time will fail on the line ethernet_ENC28.Interface.Open giving the error
DHCP=True, but no connection 0.0.0.0
#### Exception System.Exception - 0x00000000 (5) ####
#### Message: NetworkEventFlags: This should never happen!
#### GHI.Premium.Net.NetworkChangeExtension::OnNetworkChangeCallback [IP: 0067] ####
#### GHI.Premium.Net.NetworkChangeExtension+NetworkChangeExtensionListener::OnEvent [IP: 000d] ####
#### Microsoft.SPOT.EventSink::EventDispatchCallback [IP: 0014] ####
A first chance exception of type ‘System.Exception’ occurred in GHI.Premium.Net.dll
This is similar to what was reported here: https://www.ghielectronics.com/community/forum/topic?id=14802&page=1#msg149755
but I did not see a resolution…
Suggestions are appreciated.
Imports GT = Gadgeteer
Imports GTM = Gadgeteer.Modules
Imports Gadgeteer.Modules.GHIElectronics
Imports Gadgeteer.Modules.Seeed
Imports Microsoft.SPOT.Hardware
Imports GHI.Hardware.G400
Imports System
Imports System.Net
Imports System.Collections
Imports Microsoft.SPOT
Imports GHI.Premium.Net
Imports GHI.Premium.Net.EthernetENC28J60
Imports System.Text
Imports System.Threading
Imports Microsoft.SPOT.Net.NetworkInformation
Imports System.Net.Sockets
Imports GHI.Premium.Hardware.LowLevel
Namespace GadgeteerApp1
Partial Public Class Program
Private Shared server As Socket
Dim WithEvents InternetTimer As GT.Timer = New GT.Timer(100)
Private Shared useDHCP As Boolean = True
Private useWebPage As Boolean = False
' Private Shared baro As PTmonitor
Public Sub ProgramStarted()
Debug.Print("Program Started")
'baro = New PTmonitor(barometer, 0)
char_Display.PrintString("Starting Network")
While EstablishNetwork() = False
char_Display.SetCursor(1, 0)
char_Display.PrintString("...failed")
End While
char_Display.SetCursor(1, 0)
char_Display.PrintString("IP:" & ethernet_ENC28.Interface.NetworkInterface.IPAddress.ToString)
InternetTimer.Start()
End Sub
Private Function EstablishNetwork() As Boolean
If ethernet_ENC28.Interface.IsOpen Then
ethernet_ENC28.Interface.Close()
End If
ethernet_ENC28.Interface.Open()
NetworkInterfaceExtension.AssignNetworkingStackTo(ethernet_ENC28.Interface)
With ethernet_ENC28.Interface
Debug.Print("Cable connected = " & .IsCableConnected.ToString)
Debug.Print("activated = " & .IsActivated.ToString)
If useDHCP Then
Debug.Print(MacAddress)
.NetworkInterface.EnableDhcp()
.NetworkInterface.RenewDhcpLease() ' no clue if this is needed, or if this hurts
Else
.NetworkInterface.EnableStaticIP("192.168.250.234", "255.255.255.0", "192.168.250.1")
End If
End With
If ethernet_ENC28.Interface.NetworkInterface.IPAddress = "0.0.0.0" Then
Debug.Print("DHCP=" & ethernet_ENC28.Interface.NetworkInterface.IsDhcpEnabled.ToString & ", but no connection " & ethernet_ENC28.Interface.NetworkInterface.IPAddress.ToString)
Return False
End If
Debug.Print(ethernet_ENC28.Interface.IsOpen.ToString)
Return True
End Function
Assembly: GTM.GHIElectronics.Display_HD44780 (4.2.102.0) Attaching deployed file.
Assembly: RaptorNetServer (1.0.0.0) Attaching deployed file.
Assembly: Gadgeteer (2.42.0.0) Attaching deployed file.
Assembly: GTM.GHIElectronics.Ethernet_ENC28 (4.2.102.0) Attaching deployed file.
Assembly: Microsoft.VisualBasic (1.0.0.0) Attaching deployed file.
Assembly: System (4.2.0.0) Attaching deployed file.
Assembly: GHI.Premium.IO (4.2.11.1) Attaching deployed file.
Assembly: GTM.GHIElectronics.UsbClientDP (4.2.102.0) Attaching deployed file.
Assembly: GHI.Premium.Net (4.2.11.1) Attaching deployed file.
Assembly: GHIElectronics.Gadgeteer.FEZRaptor (4.2.102.0) Attaching deployed file.
Assembly: Gadgeteer.SPI (2.42.0.0) Attaching deployed file.
Assembly: GHI.Hardware.G400 (4.2.11.1) Attaching deployed file.
Assembly: GTM.Seeed.Barometer (1.6.0.0) Attaching deployed file.
Assembly: Microsoft.SPOT.Net (4.2.0.0) Attaching deployed file.
Assembly: GHI.Premium.Hardware (4.2.11.1) Attaching deployed file.
Assembly: GHI.Premium.System (4.2.11.1) Resolving.