The LC has started being a bit unstable being on for long times again... so I've been trying out jrouter a bit more. It seems to be pretty decent, but for some reason my macippi doesn't want to play nicely.

afp over ip, fine
macip sees everything, fine
old macs see *nothing* from macip

Turn off jrouter so there’s no zones at all, and macip + old macs play nicely, no problem.

I'm sure it'll end up being something silly and straight forwardy. Oh, computers.

#GlobalTalk

Soooo... if I run:

tcpdump -i 1 udp port 387 -vv -X

on the netatalk machines, then suddenly they appear in old Macs' Choosers and everything works with jrouter running.
🤷

#GlobalTalk

And the second I go control-c and stop tcpdum, it all disappears from the Chooserses again.

#GlobalTalk

Looks like just 'tcpdump udp port 387’ works. All the other gubbins are superfluous. This stuff is too far beyond my knowledge.

@billgoats tcpdump would likely enable promiscuous mode (since it wants to get packets that aren’t addressed to it)

No idea if that’s anything to do with it but I like writing promiscuous.

@colinburgess Looks like that might have something to do with it…
@billgoats That’s super weird. The only thing I can think of is the interface needing to be on some special mode (promiscuous or something) for the Apple talk stuff to work, not being in that mode normally and tcpdump setting it to that mode while running kinda fixes the issue accidentally. I vaguely remember I had to do some weird config on the Pi network interface for jrouter to work, I think. Can try to look into it tomorrow. Some virtual switch or something?
@arroz Cool, yeah, that'd be handy! Alternatively, I can always be janky and just run tcpdump in screen 😜
@billgoats I wouldn’t be surprised if a certain backend app on the stack of a certain billion dollar media store still printed the debug lines I left there 10-ish years ago when it starts up because for some reason with that instrumentation things worked, without it, not really.
@arroz ifconfig eth0 promisc seems to get it working ¿
@billgoats Lovely! I’m not surprised something like that has to be done. Those are not IP packets, so they won’t go through the usual mechanisms. Probably the interface isn’t recognizing the packets are for itself and won’t push them up the stack, but promiscuous fixes that.
@arroz @billgoats that's still weird – raw ethernet sockets should still receive frames as long as they're addressed to the host's MAC (or broadcast)... but I guess appletalk might rely on multicast or something?
@grawity @arroz Computers are weird and AppleTalk makes them weirder 🤷
@billgoats @grawity I thiiiink it relies on multicast, although I’m not 100% sure. Don’t forget this thing was made for daisy chained networks so there was really no need to implement anything like arp.
@arroz @billgoats I'm pretty sure I've seen AARP in my packet captures the last time I experimented with appletalk...
@grawity @billgoats Maybe, I don’t really remember the details. There’s something based on multicast though, that causes issues with AppleTalk being blocked by some wifi access points. But it’s not something I looked very deeply into.
@arroz @grawity @billgoats On the wifi/Appletalk issue I came across this thread on 68kmla recently as I wanted Appletalk on a Pismo via wifi. I’d heard that it was problematic but then was surprised that it worked perfectly on an old router repurposed as an AP using DDWRT. From the thread I understood that it only works with APs that route AARP packets between WiFi and Ethernet. Many do not, although ones using the Linux kernel do (hence why dd-wrt works fine). https://68kmla.org/bb/index.php?threads/what-is-the-technical-reason-why-ddp-appletalk-doesnt-work-with-wifi.45811/
What is the technical reason why DDP AppleTalk doesn't work with WiFi?

It is common knowledge that one can't natively use the AppleTalk protocol (also known as DDP) over WiFi. The notable exception is very early access points, particularly Apple's AirPort series, had special packet handling to allow it to work. When WiFi became popular, AppleTalk printers were...

68kMLA
@billgoats Promisc.... ah, Colin beat me to it!
@billgoats This feels like Deja-Vu I swear I saw someone else in March had an issue where just tcpdumping the port solved it

@billgoats This is the thread I was thinking of! tcpdump puts the interface into promiscuous mode

https://mastodon.incognitus.net/@nikdoof/114123206261949152

Andrew Williams (@nikdoof@incognitus.net)

I was wondering why my NAS hasn't had any files or prints from #globaltalk and it seems its only visible on Appletalk when i'm running tcpdump, which keeps the interface in promiscuous mode. ....huh? #marchintosh

Incognitus
@kalleboo A couple of other promiscuous folk suggested that could be it too. Turns out that using ifconfig to put it into promiscuous mode works just fine. Looks like I'm not the only one baffled by it ;)
@kalleboo @billgoats Not sure if this is relevant at all but when I tried to move from AIR to Jrouter whereas I could see external zones/shares I could not see my own Netatalk shares from any Macs connected via LT. But I could still see them from EtherTalk connected Macs. I guessed it was either some conflict between TashRouter and Jrouter (running on the same RPi) or I had done something daft. But I had no real idea and I gave up as I was tearing my hair out :-)
@fergycool Nope, no old Macs could see the netatalk machines, even though the netatalk machines could see the Macs, no matter how they were connected up. A few folk here suggested that if tcpdump magickally made things work then it could be to do with promiscuity. So put the netatalk machines’ eth0 into promiscuous mode and suddenly everything work :S
@billgoats Ahh. That's a shame. The PC running AIR via QEMU is a little noisy and my office is quite "cosy”. I'd love to move it to a quiet RPi instead!
@fergycool Nono, it *does* work now! One pi with jrouter runs fine. Then another pi (or other device) running netatalk just needs 'ifconfig eth0 promisc’ set and it's all good. (or whatever your interface name is)
@billgoats Thanks! In that case I'll give it another go. Wish me luck!
@fergycool Good luck :S
@billgoats Well I had another go with jrouter. All seems to work fine now. I can see my own AFP shares from Macs connected via LT, Ethtalk and LT0UDP perfectly fine. I can see other peoples shares too! I wonder why it failed previously.
@billgoats The only thing that appears not to work is I cannot see other zones from my Netatalk server (running via Docker). Running “getzones” only shows my own zone. Restarting Atalkd does nothing. I guess I need to play with the appletalk config somewhat. I did put the net interface into promiscuous mode to see if it made a difference (no ifconfig on this box so “ip link set eth0 promisc on”). But it made no difference. But overall it looks good. So thanks for the push to have another go!
@fergycool Woo! I'm sure you'll have plenty of successes and plenty of mindboggles along the way to getting it all working properly ;)
@billgoats I hope you're not trying to run both on the same Pi, as that doesn't work :)
@scj Nope, different pi’s. *shrug*
@billgoats Are you trying to run them in the same zone? I'm guessing they're both trying to act as a seed router which is causing a conflict.
@smallsco same zone, yes, but it all worked fine with the real AIR machine 🤷 will poke again later, no doubt.