getting DHCP server option

I am using DHCP to initialize ENC28J60
I'm using ethercard.h (
I am having problems getting option 246 from DHCP

There are no examples, and no documentation (that I can understand)
So far, I have this but it is obviously not correct (code compiles without error but nothing happens)

void setup() {
  if (ether.begin(sizeof Ethernet::buffer, IPMyMac) == 0) {
    #ifdef DEBUG
    Serial.println( "Failed to access Ethernet controller");
void DHCPOption(uint8_t option, const byte* data, uint8_t len) {
  Serial.println(String((char *)data));

I get the IP from DHCP, but no dhcp option

The DHCP option is set on my server

Did anyone succeed in doing this?


You set the option callback only if the initialization failed. Does that make sense to you? Ether.begin() returns the revision of the chip. If that's 0 you don't communicate with the chip.

I feel so stupid right now... I have always been able to resolve the problem by testing different combinations without posting on forum, or by just reading posts on forum, and finally i ask, first post ever - and it's the stupidest error ever

Thanks pylon.

Moderator, please! Delete my shame...