So, after seeing the following come up every couple of minites in the logs, I decided to investigate what's going on.
netbiosd: name servers down?
It turns out netbiosd is trying to bind to UDP ports 137 and 138, which are needed by the NetBIOS protocol to work. But its launchd file configures netbiosd to run as the _netbios user, which is unprivileged and cannot bind to those ports, resulting in the following error message when netbiosd starts up:
netbiosd: Unable to start NetBIOS name service:
Simple, right? Just run netbiosd as root. But it's not so easy. Running netbiosd as root using launchd, it again can't bind to those ports. That's because launchd is configured to bind to those sockets on behalf of netbiosd, and it seems like netbiosd is not properly programmed to support running under launchd, so it tries to bind to those ports itself, rather than having them passed in by launchd, so once again it cannot start the NetBIOS name service.
Then I tried removing those sockets from the launchd config for netbiosd. Which resulted in the following error message:
netbiosd: failed to send CheckIn message to launchd for job checkin: Operation not permitted
So it seems like it's checking in with launchd after all! Yet it still wants to bind to those ports itself. Is this daemon just completely broken then? Has anyone had any luck getting it to work?