Просто сделал стандартный пример, поменял только IP на свой,
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 100, 177);
И "запускаю" это через Ethernet.begin(mac, ip);
Потом в монитор порта вывожу IP и Шлюз - выдает правильно.
ЗЫ. Сейчас поискал, попробую прописать с маской подсети и прочим
Скрытый текст
#include <Ethernet.h>
#include <SPI.h>
// mac-адрес Ethernet shield:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// IP-адрес, назначаемый Ethernet shield:
byte ip[] = { 192, 168, 0, 177 };
// адрес шлюза:
byte gateway[] = { 192, 168, 0, 1 };
// маска:
byte subnet[] = { 255, 255, 0, 0 };
// порт для сервера
EthernetServer server = EthernetServer(23);
void setup()
{
// инициализация Ethernet shield
Ethernet.begin(mac, ip, gateway, subnet);
// запуск сервера
server.begin();
}