• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Netbooting a IIgs (ROM01) using Netatalk 4.x a2boot/atalkd with AsanteTalk LocalTalk to ETH Bridge

Is there anybody out there that can help improve my knowledge and understanding on how to further debug this situation?

More information about my issue is able to be seen at https://github.com/Netatalk/netatalk/issues/2208, but I'll also put in a lot of extra detail below.

I'm unable to see NBP traffic coming from the IIgs when it is attempting netboot. In the BIOS I have "Your Card" selected on Slot 1/2, and Slot 7 is set to "Built-in AppleTalk", and I'm selecting Slot 7 instead of "Scan".

I have verified using an oscilloscope that data is being sent by the IIgs, by monitoring the pins of the LocalTalk connector. So this data presumably is interpreted by the AsanteTalk bridge. I'm expecting to see at least some NBP traffic from the machine because of what is documented at http://apple2.guidero.us/doku.php/mg_notes/apple_ii_atlk/iigs_netboot

Stage 0 - ROM: The system has a very minimal AppleTalk stack built into the ROM. It is capable of NBP lookups, ATP, and the lower level protocols to support these, and not much else. The stage 0 code performs an NBP lookup for Apple //gs. When it finds it, it retrieves the stage 1 code using ATP requests in the same fashion as the Workstation Card retrieves its boot blocks. The image is usually called ProDOS16 Boot Blocks

I am using atalkd from Netatalk 4.2.3, as well as a2boot and netatalk itself. I've used this stack successfully with an SE30 and LCIII running Open Transport, as well as BasiliskII with the sheep_net kernel module, and it works flawlessly. However, when it comes to the IIgs, I've been unable to observe any NBP packets coming from the machine via the AsanteTalk bridge I have access to. I get plenty of NBP traffic on the LCIII/SE30 during operation, even without Netatalk/Atalkd running, so wireshark is behaving as expected. I believe all of this traffic goes through the `CONFIG_APPLETALK` Linux kernel module ultimately? I'm running Linux Kernel version 6.15 in case this becomes relevant.

My atalkd config is:

Code:
enp196s0 -router -phase 2 -net 1 -addr 1.48 -zone Default

My netatalk config is:

Code:
[Global]
afp port=548
appletalk=yes
guest account=matthew
legacy icon=daemon
prodos=yes
save password=no
uam list=uams_guest.so uams_clrtxt.so

[example-volume]
legacy volume size=yes
path=/srv/volume
read only=false

I have tried various permutations of the above atalkd config, but it hasn't changed the fact that Wireshark and my kernel aren't receiving NBP packets from the IIgs via the AstanteTalk bridge. Am I wrong to expect this NBP traffic to occur and to be looking for it? Any help or insight would be really appreciated.
 
WireShark should be able to detect and decode NBP packets if it's on a network that has them. The fact that you're not seeing any suggests that they're getting dropped at the bridge? If you monitor on the Ethernet-side of the AsanteTalk bridge, do you see activity that matches the NBP packets you're expecting?
 
WireShark should be able to detect and decode NBP packets if it's on a network that has them

Yes - do a packet capture on the machine that's running netatalk and see if any of the packets are actually making it that far, for starters. Wireshark will do it as @adespoton rightly says; if you don't have a GUI on that machine, you can use the -w option to tcpdump to write a capture file you can copy back to a desktop and use wireshark to look at.
 
@cheesestraws @adespoton In my current configuration and the configuration I've validated LCIII/SE30/sheep_net in, I have only ever done things point-to-point, where the AsanteTalk is connected by ethernet directly to my laptop's ethernet interface. Wireshark sees no activity of any kind when plugged into the IIgs, and the rx/tx indicators on the AsanteTalk box also do not see anything. Though I know for sure that the IIgs is sending data thanks to an oscilloscope.
 
So, the IIgs is definitely sending data but nothing is coming out of the Asante bridge at all?

Without meaning to make irritatingly simple suggestions, have you checked that you're using a properly wired serial cable?
 
I'll try to respond the best I can here and on the github issue request. To put it simply, I don't have an AsantéTalk bridge to do actual testing of the various Netatalk services. The only AppleTalk "bridge" solution I have ready access to is Apple's LocalTalk Bridge running on a Mac. The rest are proper AppleTalk routers.

The problem could lay in the bridge, the computer, or Netatalk. Do LocalTalk connected Macs work ok over the bridge? If so, there is a tool called "Watch 1.7.1" that can do network packet capture over LocalTalk. For added fun, you can even run it on Minivmac if you have a AirTalk or other LToUDP solution.

I have been working on A2SERVER, so I know the a2boot portion of Netatalk is working at the moment. The scripts to set it up, actually extracts and patches the boot blocks direct from the GS/OS System 6.0.1 "Apple II Startup" (Disk 7) floppy.

Also, the prodos parameter should go under the volume section and legacy volume size is NOT needed as the prodos flag limits the visible file system size to 32MB.
 
Last edited:
If there's no TX/RX on the Asantetalk, that suggests there's no signal getting to the Ethernet side of the device -- so the issue is somewhere between the serial port on the IIGS and the serial port on the Asantetalk router. As @cheesestraws suggested, this does sound an awful lot like the signal is hitting a brick wall in the cable itself -- possibly due to the pinout on the Asantetalk side? Are TX and RX flipped for direct connection?
 
Are you connecting to the LCIII and SE30 through the AsanteTalk router? I thought you said you were connecting directly? Which would require TX and RX to be reversed in the cable (which you wouldn't want when connecting to the router)?
 
I'm confused as to what your network situation actually looks like - could you draw a quick diagram? I got the impression from your original post that the LC and SE/30 were via Ethernet...
 
@adespoton @cheesestraws It's just a point to point connection between the AsanteTalk and my Laptop.

IIgs (Printer Port Builtin AppleTalk) -> AsanteTalk (ETH) -> Laptop (ETH)
LCIII (LocalTalk) -> AsanteTalk (ETH) -> Laptop (ETH)
SE30 (LocalTalk) -> AsanteTalk (ETH) -> Laptop (ETH)
 
So does this mean you're connecting only one of these machines at a time to the AsanteTalk? And you're using a non-twisted serial cable, and not something like PhoneNet with termination on both ends, for instance?
 
@slipperygrey Yes, one at a time. I am using the yellow crossover cable that comes in the AsanteTalk box, where the manual states to use it if connecting to a computer directly, rather than a switch https://connor.zip/resources/pdfs/asantetalk-manual.pdf
The yellow crossover cable is used to establish the physical net-
work connection when the configuration consists of the AsantéTalk
and the computer. To connect this cable, simply insert one end of
the cable into the RJ45 female cable connector. The other end of
the yellow cable will attach to the RJ45 port on the AsantéTalk. In-
sert the cable end into the appropriate connector.
 
Back
Top