On Fri, Mar 27, 2009 at 08:20:56PM +0000, Theo Markettos wrote: > It looks like AppleTalk multicast might be the problem. Apparently it uses > it extensively for naming and advertising services, issuing up to 20 > requests at startup. [snip] > However, it's quite possible that what it needs is multicast support in > RPCEmu's TAP code.
I've done some more digging... 1. Multicast TUN/TAP in Linux is broken, or at least was in July 2008. There was a bit of effort to fix it, but it's not clear if it happened. In any case fixes probably haven't trickled down to distros yet. This thread is the salient one, in particular noting the brokenness (Max Krasnyansky wrote and maintains the TUN/TAP drivers): https://lists.linux-foundation.org/pipermail/virtualization/2008-July/011282.html 2. As I said earlier, AppleTalk makes heavy use of multicast 3. RISC OS Adjust has had quite a bit of multicast rejigging. See: http://www.drobe.co.uk/extra/select4features.txt In particular, the ZeroConf stuff uses ResolverMDNS which does Multicast DNS, an Apple replacement for DHCP (whose implentation was called Rendezvous, now Bonjour). The multicast filtering listed as now supported by the Internet module won't, I think, make much difference since old drivers who don't know about it should still work. 4. TUN/TAP under OS X /may/ support multicast: http://repo.or.cz/w/tuntaposx.git?a=blob_plain;f=tuntap/Changelog;hb=HEAD My instinct would be to file this under 'too difficult': the ZeroConf stuff is mostly irrelevant when the emulator can always be set up from the host, and AppleTalk is deprecated these days anyway. What would be nice is something that automatically sets the unplug bits for these modules. I could envisage a system where we take a hash of the ROM image, and use this to reference a CMOS RAM file. If we haven't saved a CMOS file for that ROM, a set of defaults for that OS is pulled out and used. That could have the unplugging bits already set. But I don't know if the relevant modules are unpluggable, or whether they feature too high to have a CMOS bit. So it might require some fiddling either killing them on startup (say a podule ROM), or trying to intercept the module initialisation sequence (messy). Theo _______________________________________________ Rpcemu mailing list [email protected] http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu
