Can't get EthernetBonjour to register a service

Hi! I'm new here...

I have an Arduino Mega 2560 with a SeedStudio Ethernet V2.0 shield. I'm using Arduino 1.6.6 to build an app in C++ (the "main" loop is an Arduino sketch, though). I'm using the EthernetV2_0 library from SeedStudio, and the EthernetBonjour package from I had to tweak the include filenames in EthernetBonjour a bit to get it to work with EthernetV2_0 and modify EthernetV2_0 as described here to get them to work together, but they do. Oh, and building on a MacBook Pro with Mavericks (10.9)

The app needs to register a Bonjour service, but it doesn't seem to be working.

I can get the basic Ethernet stuff working, including either Static or DHCP address. I can call EthernetBonjour.begin("myapp") and then telnet to the device with "telnet myapp.local". That much works just fine.

When I call EthernetBonjour.addServiceRecord("My Application._telnet._tcp.", 23 MDNSServiceTCP) the call returns 1 indicating success, but the service does not show up anywhere... I checked with BonjourBrowser and Terminal, and also with dns-sd. It also can't be found by the client app that is trying to reach it.

All of this stuff (the Arduino, my Mac, and the client app) are working off the same local network (192.168.2.x) via a Linksys WRT54g router. I can see plenty of other Bonjour services with the above tools, just not the one I'm looking for.

So, I'm stumped. Does anyone have suggestions?

Here's the relevant code bits...

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

void setup() 
    // Disable SD
    pinMode(4, OUTPUT);
    digitalWrite(4, HIGH);


    dhcp_loop_count = 0;

    int retv = EthernetBonjour.addServiceRecord("My Application._telnet._tcp.", 23, MDNSServiceTCP);
    if (retv == 0) {
        Serial.println("Bonjour Service Failed " + String(retv));
    } else {
        Serial.println("Bonjour Service Alive " + String(retv));

void loop()

    // Do other stuff

    if (dhcp_loop_count = POLL_INTERVAL) {
        dhcp_loop_count = 0;

Oh, and I've Googled the heck out of this problem, including threads here on, to no real avail... just for the record.

I don't have any experience with EthernetBonjour but this might be worth a try: The Arduino Ethernet library needed a small change to be compatible with EthernetBonjour: So try making this same change to the EthernetV2_0 library.