Cobra Wifi

I have used the example from the documentation to create a wifi connection.

I have checked that the wifi SSID is available, that I have joined it … however, I do not get a IP address (DHCP)

            netif.Open();

            netif.EnableDhcp();
            netif.EnableDynamicDns();

            netif.Join(ssid, password);

while (netif.IPAddress == “0.0.0.0”)
{
//sleep etc
}

never returns an address …

:wall:

@ Robert24 - Can you try to connect to a different router or turning off security?

I’m able to simulate this with this code:



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

public partial class Program
{
    private static WiFiRS9110 netif;

    public static void Main()
    {
        NetworkChange.NetworkAvailabilityChanged += NetworkChange_NetworkAvailabilityChanged;
        NetworkChange.NetworkAddressChanged += NetworkChange_NetworkAddressChanged;

        netif = new WiFiRS9110(SPI.SPI_module.SPI2, G120.P1_10, G120.P2_11, G120.P1_9);
        netif.Open();
        netif.EnableDhcp();
        netif.EnableDynamicDns();
        netif.Join("WLANEmrol2", "***");

        while (true)
            {
                Thread.Sleep(1000);
                Debug.Print("Ip address in main : " + netif.IPAddress); 
            }
    }

    private static void NetworkChange_NetworkAddressChanged(object sender, Microsoft.SPOT.EventArgs e)
    {
        Debug.Print("Network address changed to " + netif.IPAddress);

        Thread.Sleep(2000);  

        if (netif.IPAddress != "0.0.0.0")
        {
            //The network is now ready to use.
            Debug.Print("Connected - IP=" + netif.IPAddress); 
        }
    }

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

Output in debug window shows a delay :


Network availability: True
Network address changed to 0.0.0.0
Ip address in main : 0.0.0.0
Ip address in main : 0.0.0.0
Ip address in main : 192.168.1.130
Ip address in main : 192.168.1.130
Ip address in main : 192.168.1.130

The address stay’s 0.0.0.0 in main as long as the sleep in NetworkAddressChanged is set, then it switching to the assigned address and NetworkChange_NetworkAddressChanged is not trigered again.

I do not have another router in range … if I use static address; it works ok.

I have also duplicated David’s code and still no ipaddress from DHCP.

David are you using 4.3?

Yes, i used 4.3 R5 on a Cobra II Rev B.

@ Robert24 - You get no ip address at all or also “delayed” ?

I have the same issue on 4.3 Cobra II WiFi. There is no “delay” - it never gets an address. I think I’m one release back from current. Static IP works fine.

@ ransomhall - Is it actual not getting a address with DHCP or is the NetworkChange_NetworkAddressChanged event not trigered?

@ david - when settings for DHCP the networkAddressChanged never fires … if I set a static address it fires …

@ Robert24 - Have long have you let it sit trying to get an address? Do you see an address assigned in your router?

@ John - Have left it forever but nothing … DHCP is managed by our windows server!

@ John and there appears to be no entry for the cobra II … all entries can be accounted for?

@ Robert24 - Can you do a wireshark capture on your DHCP server to see what sort of traffic is going between the server and the Cobra?

Another first; I will download wireshark and attempt to monitor; maybe need some hints as I have never used it before!