You are here: Home » Topic » mt-daapd sez: *** WARNING: Received 5 packets…

mt-daapd sez: *** WARNING: Received 5 packets…

FireFly Media Server (formerly mt-daapd) Firefly Media Server Forums Firefly Media Server Setup Issues mt-daapd sez: *** WARNING: Received 5 packets…

This topic contains 3 replies, has 2 voices, and was last updated by  rpedde 12 years ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #146

    Gonzo
    Participant

    Hi,

    I compiled the latest nightly mt-daapd-cvs-20051122 on Solaris 10. Ran into the same mDNS header problem than Bob, fixed it similarly. Ran into a Linuxish timegm thing, fixed that. Ran into a broken diagnostic print function, fixed that too. Now it works.

    But two strange things happen:

    1. My log file is now littered with pieces like:

    2005-12-03 23:19:58: *** WARNING: Received 5 packets; Accepted 0 packets; Rejected 5 packets because of interface mismatch
    2005-12-03 23:21:34: *** WARNING: Received 5 packets; Accepted 0 packets; Rejected 5 packets because of interface mismatch
    2005-12-03 23:27:58: *** WARNING: Received 5 packets; Accepted 0 packets; Rejected 5 packets because of interface mismatch

    Don’t know what it is, I never had that on my Slug (with older versions of mt-daapd).

    2. I had both my Solaris box and my PowerBook online. Set the Roku Soundbridge to stream from the Solaris box. I’m really sure I did that. Nevertheless, it miraculously changed to streaming from my PowerBook while ignoring the Solaris instance of mt-daapd. That one stopped from showing up on iTunes as well. After shutting down the PowerBook and restarting mt-daapd on the Solaris machine (now it’s alone) I can reliably stream from the Solaris server.

    Any hints, ideas, etc.?

    #3875

    rpedde
    Participant

    Patches, please.

    It means that it’s receiving queries on interfaces other than the interface that it’s advertised on. Multihomed box, maybe?

    If it is a multihome problem, you can try and force which interface it binds to using the “interface” configuration option. It may or may not work, though, as I don’t have a multi-homed machine to try it on, nor a solaris machine, obviously.

    Disappearing machine is probably related. If it’s ignoring mdns queries, it will eventually drop off iTunes (and soundbridge).

    Probably the best solution would be to use howl as a mdns responder, and compile with “–enable-howl –with-howl-includes=/usr/local/howl-0.9.8” (or whatever).

    — Ron

    #3876

    Gonzo
    Participant

    Hi Ron,

    thanks for your answer.

    Patches, please.

    Sorry, ’twas a late night post. Here’s what I did:

    In src/mDNSUNP.h:

    66a67
    > #include

    —-
    In src/mDNSUNP.c:

    180c180
    < DPRINTF(E_DBG,L_REND,"intf %d name=%s AF=%d, flags=%08xn", index, ifr->ifr_name, ifr->ifr_addr.sa_family,ifr->ifr_flags);

    > DPRINTF(E_DBG,L_REND,”intf %d name=%s AF=%d, flags=%08xn”, ifr->ifr_addr, ifr->ifr_name, ifr->ifr_addr.sa_family,ifr->ifr_flags);

    —-
    In src/scan-xml.c:

    115a116,122
    > /**
    > * Replace the Linuxish timegm function.
    > * Addded by Constantin Gonzalez 20051127
    > */
    > time_t timegm (struct tm *tm) {
    > time_t ret;
    > char *tz;
    116a124,135
    > tz = getenv(“TZ”);
    > setenv(“TZ”, “”, 1);
    > tzset();
    > ret = mktime(tm);
    > if (tz)
    > setenv(“TZ”, tz, 1);
    > else
    > unsetenv(“TZ”);
    > tzset();
    > return ret;
    > }
    >
    122a142
    >

    (I found this piece of code in a Linux timgm man page, it was recommended there as the platform independent way of implementing this function.)

    —-
    In src/mDNSClientAPI.h:

    434a435
    > #include
    531c532
    < typedef u_int32_t mDNSu32;

    > typedef uint32_t mDNSu32;

    That’s it and now it compiles on Solaris 10 (actually, I’m using Nevada b27a, but that’s 100% compatible).

    It means that it’s receiving queries on interfaces other than the interface that it’s advertised on. Multihomed box, maybe?

    Nope, I only have lo0 as the loopback interface and bge0 as my GigE main one.

    If it is a multihome problem, you can try and force which interface it binds to using the “interface” configuration option. It may or may not work, though, as I don’t have a multi-homed machine to try it on, nor a solaris machine, obviously.

    Hard-wiring the interface to bge0 didn’t change anything. Probably the mDNS code is broken in a way I don’t understand.

    Getting a Solaris machine is very easy: Just download Solaris 10 (or better the current development build of Nevada) from either http://www.sun.com/solaris or from http://www.opensolaris.org. Then install on your favourite PC. It’s really that easy.

    Disappearing machine is probably related. If it’s ignoring mdns queries, it will eventually drop off iTunes (and soundbridge).

    Probably the best solution would be to use howl as a mdns responder, and compile with “–enable-howl –with-howl-includes=/usr/local/howl-0.9.8” (or whatever).

    Yeah, I just installed Howl, compiled with Howl support, configured the Howl mDNSResponder and it now works just fine. Seems like Howl is the way to go, but it’s probably not as easy to setup for everyone than just compiling and installing standalone mt-daapd…

    Thanks!

    Gonzo

    #3877

    rpedde
    Participant

    I will probably at some point go ahead and download opensolaris, so at least I can support that.

    wrt howl: yeah, it would be nice to use a built-in, but I think the built-in is going to be removed soon — next release won’t have the built-in responder. More and more distros are shipping with a mdns of some type already: howl, avahi, or apple’s, and now I’m having more problems with the built-in stepping on an already-installed mdns server, or else code cruft in the apple one, like this problem.

    Thanks for the patches, I’ll use them when I get that opensolaris build system set up.

    — Ron

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.