It works if you don’t have multiple dns servers, typical at home I guess, but option 6 allows for multiple - and my fancy dancy dhcp server is showing off
Ok, so I changed this line:
if (options.Contains("6")) Adapter.DomainNameServer = (byte[])options["6"]; // DNS Server
To This:
if (options.Contains("6")) Adapter.DomainNameServer = Utility.ExtractRangeFromArray((byte[])options["6"], 0, 4); // Primary DNS Server
if (options.Contains("6") && ((byte[])options["6"]).Length >= 8) Adapter.DomainNameServer2 = Utility.ExtractRangeFromArray((byte[])options["6"], 4, 4); // Secondary DNS Server
It’s located in 2 placed. The Ack and the Offer. I’ll have it in the next release. If you have the opportunity, please give this a try and let me know it if works.
Thanks Peter!
OK That fixes the dhcp dns issue, I do get the occasional exceptions thrown from the parsing of the HttpResponse, (where contentStart or headerStart == -1) but that’s what try catch is for
In Networking.cs we find this code:
case InterfaceProfile.NetduinoPlus2:
// MOSI(PA7), SCK(PA5), MISO(PB4), INT(PA4), CS(PC8)
Start(MacAddress, name, SPI.SPI_module.SPI1, (Cpu.Pin)4, (Cpu.Pin)38);
Indicates port bit PC8 is pin 38.
But that’s wrong, isn’t it? Shouldn’t it be pin 40?
Bill
There’s a typo/inconsistency in here:
/// <summary>
/// A Gadgeteer ENC28 module connected to CerbuinoBee on Socket 1
/// </summary>
CerbuinoBee_Socket1_ENC28,
/// <summary>
/// A Gadgeteer ENC28 module connected to CerbuinoBee on Socket 6
/// </summary>
Cerberus_Socket6_ENC28,