I've been working on using the instructions from
@finkmac but applying it to the existing
MacIPRpi pre-made image for the Raspberry Pi which I already use. I've stumbled quite a bit figuring where things are located, where things are started from, etc. but feel like I'm making some progress.
My first goal is to test certain portions and bring them up as I go. First I tried to use the TashTalk Hat with
tashtalkd to bridge LocalTalk to LToUDP. This seemed to work immediately. My Mini VMac emulated Mac using LToUDP was able to see the ImageWriter II over LocalTalk (using PhoneNET).
Next, I tried using
tashrouter. The Raspbian Buster install didn't have the bridge software installed to define "br0" so I added that with "sudo apt install bridge-utils". I also uncommented the line in the "tap-router.py" script to get more logging output which was nice. So far, it seems like things are working half-way. The Mini VMac LToUDP seems to be picked up by tashrouter as it shows in the debug. It also seems to be sending it to the tashtalk/LocalTalk port as I can see a response coming back (in this case, my ImageWriter II). But at this point, no devices show up in the Chooser in Mini VMac. Edit: I should add that all three zones show up in Mini VMac when tashrouter is run so that works!
Note: One thing I had to do was make a couple of changes to tashrouter. There's a few instances of use of a new operator introduced in Python 3.8 called the "wallrus operator," denoted by := that doesn't work on earlier versions of Python (MacIPRpi has Python 3.7.3) and updating Python apparently isn't straight forward so I didn't try it. I instead attempted to rewrite those sections of the code to remove the walrus operator. There's a chance I got it wrong?
In anycase, I'll keep trying things and see where I get. My goal is to have a single Raspberry Pi that can act as a file and time server, but also as an AppleTalk bridge and router, all in one tiny machine!
Extended goal would be to add support for Apple Update Based Routing (AURP), the protocol used by Apple Internet Router with the IP extension added. It's basically IP tunneling of AppleTalk using UDP between other routers. There's a large group of folks using this very thing right now that a few of us started for MARCHintosh that has been colelctively called #GlobalTalk where we're printing to each other's printers, dropping files in shares, chatting with HyperCard, etc.
Instllation was tricky as it seems to be limited to System 7.1 but I wrote some instructions on my blog for it. In any case, I'd love to help add support for AURP in tashrouter (
there's an RFC for it that details the packets that might help.)