I outlined the test conditions previously, but it's strictly connect to the server as a named user (a2e) and list the directory of an AFP share.Also, what is the trace of? Are you trying to netboot the Apple IIe, or just connect and browse an AFP Share? If trying to netboot, it won't work if the netatalk server is not in the same zone as the LocalTalk network, which is clearly the case when TashRouter is in play. A nbplkup should show both the LocalTalk and Ethernet connected devices if everything is in the same zone, like the Gatorbox output.
I think I mentioned this already, but the Mac SE/30 does not report a zone when connecting through the tashrouter. Would this be why?The only other thing sticking out is NBPLkUps from the LocalTalk side of the Gatorbox (generated by the router) have a zone name and are extended DDP packets, (no checksum).
I only increment the hop count when sending a datagram to another router, not when sending it directly to its destination. Unless I've misread it, this is consistent with the flowchart on page 5-26 of Inside AppleTalk.It is not incrementing the "hop count" value on extended DDP Packets that pass thru the router.
It should be responding to ZIP requests whether or not it's a seed router, if that's somehow not happening I'd be interested to know about it...If TashRouter is seeding the network, it should be replying to ZIP requests (GetMyZoneRequest) from the SE/30 when you open up Chooser or the Network Control Panel.
If TashRouter is sending out LkUps with a zone ofThe only other thing sticking out is NBPLkUps from the LocalTalk side of the Gatorbox (generated by the router) have a zone name
*
in response to a BrRq from a LocalTalk network whose zone name it knows, something's wrong - it should be substituting in the zone name.All I can tell you is what I'm observing. The IIe does get a zone name, but an SE/30 on the same LT network just calls out "unknown". If I switch the SE/30 to ethertalk it gets the zone without incident. The traces show a difference in behavior from the Gatorbox, specifying '*' as the zone.It should be responding to ZIP requests whether or not it's a seed router, if that's somehow not happening I'd be interested to know about it...
Then I can only conclude something's amiss because the packets on the localtalk side just carry a wildcard.If TashRouter is sending out LkUps with a zone of*
in response to a BrRq from a LocalTalk network whose zone name it knows, something's wrong - it should be substituting in the zone name.
Hm, @shirsch tried a change earlier that has TashRouter stick zero checksums in datagrams and it doesn't seem to have made any difference.Really, the only problem area I could possibly see is the maybe TashRouter's generated checksums are incorrect? The GatorBox is passing thru extended packets with checksums of 0x0000, which the kernel or any other host would ignore.
if datagram.destination_network == datagram.source_network and datagram.destination_network in (0, self.network):
self.send_frame(bytes((node, self.node, self.LLAP_APPLETALK_SHORT_HEADER)) + datagram.as_short_header_bytes())
else:
self.send_frame(bytes((node, self.node, self.LLAP_APPLETALK_LONG_HEADER)) + datagram.as_long_header_bytes())
if 0: #datagram.destination_network == datagram.source_network and datagram.destination_network in (0, self.network):
self.send_frame(bytes((node, self.node, self.LLAP_APPLETALK_SHORT_HEADER)) + datagram.as_short_header_bytes())
else:
self.send_frame(bytes((node, self.node, self.LLAP_APPLETALK_LONG_HEADER)) + datagram.as_long_header_bytes())
Hmm, try changingWhat would the code be to force all RTMP broadcasts to short DDP on LocalTalk?
source_network=port.network
on line 46 of service/rtmp/sending.py to source_network=0x0000
- looks like the way I implemented it, they'd always be sent with the extended header...Yeah, that's not surprising, I guess there's no reason to broadcast RTMP with extended header DDP datagrams. Whether it makes a difference to the IIe is the question, though...Pulled out the Fastpath 5, it too is broadcasting RTMP with short DDP packets.
The thing that confounds me about this as a potential explanation, though, is why does it work at all in the first place, if this is the case? If TashRouter is sending all its RTMP broadcasts over LocalTalk as extended-header datagrams, which it is, then why would the workstation card and/or ImageWriter be able to parse them at first but not later?That would line up with a client throwing its hands up in the air and timing out from not getting a RTMP packet. Given the limited CPU resources and lack of system timer on the Apple IIe, the Workstation card likely handles RTMP with it's onboard CPU and firmware routines. Those routines may not be able to handle an extended packet.