• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

SE/30 ethernet card performance

halkyardo

Well-known member
My ethernet card project has gotten to the point where it's stable enough that I'm using it day-to-day in my SE/30, but one thing I'm curious about is how it performs in comparison to other PDS ethernet cards. In theory it should perform just as well, if not better, than a 'vintage' card, but I haven't put much effort into optimizing the driver yet, and I suspect that even though my card can do 100 MBit full-duplex, the biggest bottleneck is still going to be bus bandwidth and CPU time.

While I've done some testing in my IIfx (yes, it works in the IIfx's PDS slot too!) which shows it performing noticeably better than a NuBus ethernet card, I don't have any other SE/30 ethernet cards to do an apples-to-apples comparison, so I'm looking for a little bit of help:

If you've got an SE/30 with a PDS ethernet card, and a handy AppleShare volume running on a comparatively-fast machine (I've been testing against a Netatalk 2.x server on a modern Linux box), I'd really appreciate it if you could run Helios LanTest and let me know what performance figures you get - as a benchmark, I'm seeing about 200 kilobytes/sec read and write in the SE/30.
 

zigzagjoe

Well-known member
Funny enough, when I saw that thread and the mention of Helios LanTest, it spurred me go and run some tests myself rather than the rather unscientific copy & timing testing I'd done previously. So here are some ready to go results. Fantastic work, by the way.

I haven't done a test on an unaccelerated machine as of yet - I'll put the Carrera one in 030 mode and test at some point as well.

1703483763507.jpeg
SE/30, Asante Maccon, Carrera 040 accelerator at 45mhz, against a 40mhz Quadra 650 running A/UX and Appleshare Pro (AFP) on a ZuluSCSI RP2040

1703483830408.jpeg
SE/30, Asante Maccon, Carrera 040 accelerator @ 45mhz, against a Synology running Netatalk 3.x (IP). Write figures look funny.

1703483881596.jpeg
SE/30, Asante Maccon, Diimo 030 accelerator @ 58mhz, against a 40mhz Quadra 650 running A/UX and Appleshare Pro (AFP) on a ZuluSCSI RP2040

1703483915054.jpeg
SE/30, Asante Maccon, Diimo 030 accelerator @ 58mhz, against a Synology running Netatalk 3.x (IP). Write figures again look odd. I have not done further testing to confirm where the problem lies.
 

zigzagjoe

Well-known member
And here's the set of "stock" runs. Looks to me like your results of 200KB/s on the stock CPU is very good!

1703612203154.jpeg
SE/30, Asante Maccon, Carrera 040 (disabled - running on 030), against a 40mhz Quadra 650 running A/UX and Appleshare Pro (AFP) on a ZuluSCSI RP2040

1703614875490.jpeg
SE/30, Asante Maccon, Carrera 040 (disabled - running on 030), against a Synology running Netatalk 3.x (IP). Still with the awful writes. Maybe it's an appleshare over IP thing?
 

halkyardo

Well-known member
Ha, as it turns out, those 200kbps figures were from my debug build with optimizations turned off, and a bunch of extra checks and logging added. As it turns out, it's a bit quicker than that :).

SE30.gif

For another reference point, here's my IIfx with an Asante NuBus ethernet card:

IIfx Asante.gif

Both are running System 7.1, connecting via AppleTalk to a Netatalk 2.2.10 server on a Linux box. I haven't gotten around to installing 7.6 so no ASIP for me, but that'll definitely be part of my compatibility testing before I let my cards out into the wild.
 

zigzagjoe

Well-known member
That looks real good! I need to take a second go at Netatalk 2.x to try to get some apples-to-apples numbers - it was irritating me thoroughly the last time I poked at it so I left that as a project for another time.

Also, I forgot about OS - The color screenshots are 8.1 and the B&W are 7.5.5.
 

halkyardo

Well-known member
That looks real good! I need to take a second go at Netatalk 2.x to try to get some apples-to-apples numbers - it was irritating me thoroughly the last time I poked at it so I left that as a project for another time.
Thanks, I really appreciate the help!

If it helps at all, the Netatalk project has resumed development on the 2.x branch, incorporating some of the additions the various 2.x forks had made, and I gather they've fixed a few of the issues that made it difficult to get working on current Linux distros. I'll admit that I haven't tried it out since I'm still hesitant to mess with my current setup that took me far too long to get working, but it's worth a shot if you're able to start from scratch.

Also, I forgot about OS - The color screenshots are 8.1 and the B&W are 7.5.5.

One other question - are you running with Open Transport or Classic Networking? I stuck 7.5.5 on my SE/30 (I normally run 7.1) and I've noticed that under Open Transport I see a pretty big performance hit - still a tad quicker than your unaccelerated 7.5.5 figures on most metrics, but not quite as impressively so, and noticeably slower on the read and lock/unlock tests. Interesting. Wonder if I've got some more room to improve there.

SE30 Open Transport.gif

Those TCP/IP figures are interesting too. I haven't gotten around to installing the ASIP client, but I remember when I was testing earlier builds of my driver under AFP and saw massive spikes like that, it turned out to be a bug in my driver causing packet loss (I got my ring-buffer logic wrong and packets that 'wrapped around' in the buffer were getting corrupted and subsequently dropped).
 

zigzagjoe

Well-known member
Thanks, I really appreciate the help!

If it helps at all, the Netatalk project has resumed development on the 2.x branch, incorporating some of the additions the various 2.x forks had made, and I gather they've fixed a few of the issues that made it difficult to get working on current Linux distros. I'll admit that I haven't tried it out since I'm still hesitant to mess with my current setup that took me far too long to get working, but it's worth a shot if you're able to start from scratch.



One other question - are you running with Open Transport or Classic Networking? I stuck 7.5.5 on my SE/30 (I normally run 7.1) and I've noticed that under Open Transport I see a pretty big performance hit - still a tad quicker than your unaccelerated 7.5.5 figures on most metrics, but not quite as impressively so, and noticeably slower on the read and lock/unlock tests. Interesting. Wonder if I've got some more room to improve there.

View attachment 67246

Those TCP/IP figures are interesting too. I haven't gotten around to installing the ASIP client, but I remember when I was testing earlier builds of my driver under AFP and saw massive spikes like that, it turned out to be a bug in my driver causing packet loss (I got my ring-buffer logic wrong and packets that 'wrapped around' in the buffer were getting corrupted and subsequently dropped).

No problem. I like interesting data, and was curious what differences I'd see between the various CPUs.
These are all Open Transport numbers. Forgot about that.

Currently I have a Quadra 650 with A/UX that I was flirting with the idea of using as a fileserver since I'm not happy with the Netatalk 3.x based Synology. I'd need to try to get a ~2008 version of samba to compile on what would have been a 15 year old unix at that time. Hardware tinkering is more fun for me, so I've been working on board designs instead.

If I was smart I'd give netatalk 2.x a second go, but it annoyed me pretty thoroughly on my first go with it.
 

mdeverhart

Well-known member
If I was smart I'd give netatalk 2.x a second go, but it annoyed me pretty thoroughly on my first go with it.
I just did a build and install of Netatalk 2.2.10 on a fresh Ubuntu 2022.04 install, and it went really smoothly. I had an existing set of post-install config files from a prior install, so that helped with the configuration, but the actual build/install process was pretty smooth.

Edit: I’m also using that Netatalk server to share files off my Synology across the AppleTalk network. Ubuntu server mounts the Synology share over SMB, and then afpd shares that mountpoint over AppleTalk.
 

slipperygrey

Well-known member
@zigzagjoe I've been working on refreshing the Netatalk website recently, and we have a wealth of installation guides over at https://netatalk.io/docs/ -- hopefully one of these can be helpful to you, but if not please let me know.

Additionally, I spent some effort since last year getting the official Webmin module working nicely, with more and more configurations supported. Here's the latest version. See the readme for how to install Webmin proper and get started: https://github.com/Netatalk/netatalk-webmin/releases/tag/netatalk2-1.2

Webmin can help with the initial hurdle of getting to a working configuration for your setup, since it presents you with the relevant options in a structured GUI.
 

zigzagjoe

Well-known member
@zigzagjoe I've been working on refreshing the Netatalk website recently, and we have a wealth of installation guides over at https://netatalk.io/docs/ -- hopefully one of these can be helpful to you, but if not please let me know.

Additionally, I spent some effort since last year getting the official Webmin module working nicely, with more and more configurations supported. Here's the latest version. See the readme for how to install Webmin proper and get started: https://github.com/Netatalk/netatalk-webmin/releases/tag/netatalk2-1.2

Webmin can help with the initial hurdle of getting to a working configuration for your setup, since it presents you with the relevant options in a structured GUI.
I appreciate it!
 
Top