Broadcast Message

Discussion in 'Tomato Firmware' started by Dashiell, Sep 17, 2010.

  1. Dashiell

    Dashiell Network Guru Member

    I've tried a search for this, doesn't seem to be covered yet as far as I can tell.

    Is there a way within the tomato console to send a broadcast message to all connected workstations?

    "Router rebooting in 5 mins." type of thing. Perhaps for all machines on the subnet...
  2. rhester72

    rhester72 Network Guru Member

    You could theoretically write a custom Shutdown script for it, but it's unclear how you define "workstations" - Windows, Linux, other? There's no standard protocol for such a thing, and no single authentication method possible, so you'd probably have to write some custom code to run as a daemon on all of them to listen on a particular port for your broadcast and then netcat it out on the router.

  3. Dashiell

    Dashiell Network Guru Member

    Yikes. I figured as much.

    My network at home is a melting pot. Windows (xp, vista, 7), Linux (Ubuntu, Debian, Mint), and one Mac. I see what you mean.
  4. ehunt123

    ehunt123 Networkin' Nut Member

    Some history/technical details since an answer depends entirely on your environment.

    Right now, your options to "broadcast" are limited by the completely different implementation of notifications on OSX/Windows/Linux.

    Each OS lacks a "formal" notification system that works well outside its own turf.

    Windows couples the messages it sends over SMB/NMB -- look for netsend on the console. Unfortunately, its never been friendly outside Windows and I doubt it will ever be because of technical reasons.

    Linux now traditionally uses libnotify. You can find it in every distro and many desktop environments like GNOME and KDE have supported it out of the box for some time now. It's a bit more portable since you can get it compiled on any UNIX-like system (osx and I recall cygwin having a port) but its still cumbersome.

    OSX has had a great framework called Growl for many years. Thousands of applications support it and its the best out of the box.

    Fortunately, a developer ported Growl to Windows and in the two years it has been out there, many applications have integrated support to utilize it.

    The problem within all of them is that there was never any agreement on how to send a local notification to a remote computer. Growl on the Mac had begun to support a UDP protocol called "GNTP" that sought to solve this and this looks to be the standard for what each will implement and support. Growl on Windows has full support and Growl on the Mac has pretty good/works well. I'm unaware of the libnotify status on Linux beyond using third-party applications.

    I just asked the developer who maintains the third-party repo of apps/utils to compile a Growl c-based cli client and a Prowl, so hopefully we will be able to test soon.

    GNTP, afiak, was not designed nor developed to send a broadcast packet, even though it is UDP and receives no acknowledgement of a response. I've seen some folks on the Mac wrap something like this in a mDNS/Bonjour script so when it would get a notification, it would relay it to the lan itself.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice