Hi Architect!
Thx for your answer!
I’m at the newest SDK/Firmware as i began gadgeteering at Xmas! (downloaded and installed all new / updated firmware).
I’ve build over the Xmax vacation my first little Gadgeteer project. Its a simple 4 motor/tire robot with a onboard FEZ Spider, steered remotely by a PC-connected XBox contoller via WiFi. It works like a charm. Having a lot of pogramming fun on the way…
At some point in time i had to remove my logic power source (a 7.4V LiPo) from the USB-DP and connected to PC-USB for further programm modification. Maybe to little current on that USB-port. The Spider begins a courious reboot -> run -> reboot loop, that i realized about 30 minutes later (was away from keyboard, so i didn’t realize quickly). It does somthing like [Boot] -> [Initialize smothley] -> [Run a few 10 seconds] -> [LCD/power breakdown] -> [Boot] -> …
After that, removed USB, and go to bed. Next day RS21 was dead!
I build up a completeley new Spider hardware (new Spider, new USB-DP, new TE35, new cables) and check the RS21 on both sockets (6?, 9?). No success, no communication with the WiFi module). I even tried wifi.Interface.UpdateFirmware() with no success (it times out after 100 secs).
Here some relevant part of my program:
private void ProgramStarted()
{
StandardFont = Resources.GetFont(Resources.FontResources.NinaB);
SetupWindow(Window, StandardFont); // <- setup some Text's in a Canvas for status messages
TcpServer = new TcpServer(); // <-- receives steering commands for my robot after an successful wifi setup
TcpServer.ServerStatusChanged += TcpServerOnServerStatusChanged;
TcpServer.DataReceived += TcpServerOnDataReceived;
TcpServerOnServerStatusChanged(TcpServer.Status);
new Thread(() => SetupWiFi(WiFi)).Start();
Debug.Print("Program Started");
}
private void SetupWiFi(WiFi_RS21 wifi)
{
Thread.Sleep(500);
if (wifi.Interface.IsActivated)
{
if (wifi.Interface.IsOpen)
{
Write(txtStatus, "Closing WiFi interface ...");
wifi.Interface.Close();
}
}
if (!wifi.Interface.IsOpen)
{
Write(txtStatus, "Opening WiFi interface ...");
try
{
wifi.Interface.Open(); // <- here it goes to nirwana
}
catch (Exception exception)
{
Debug.Print("ERROR: " + exception);
}
}
if (!wifi.Interface.NetworkInterface.IsDhcpEnabled)
{
Write(txtStatus, "Enabling DHCP on WiFi interface ...");
wifi.Interface.NetworkInterface.EnableDhcp();
}
Write(txtStatus, "Assigning interface to network stack ...");
NetworkInterfaceExtension.AssignNetworkingStackTo(wifi.Interface);
wifi.Interface.NetworkAddressChanged +=
(sender, args) =>
{
Write(txtStatus, "IP: " + wifi.Interface.NetworkInterface.IPAddress);
TcpServer.Start(wifi.Interface.NetworkInterface.IPAddress, TcpServer.DefaultServerPort);
};
bool joined = false;
for (int i = 0; i < 3; ++i)
{
Write(txtStatus, "Scanning for known networks ...");
try
{
var x = wifi.Interface.Scan(Network);
if (x != null && x.Length > 0)
{
Write(txtStatus, "Connecting to '" + x[0].SSID + "' ...");
wifi.Interface.Join(x[0], Passphrase);
joined = true;
break;
}
}
catch (Exception)
{
}
}
if (!joined)
{
Write(txtStatus, "Can't join network '" + Network + "'");
}
}
I hope this is enough information to try a little remote diagnostics 