Various Questions on Mac Serial and PPP

Reasons.

Well-known member
I'm thinking through a project on Digi's Portserver line; specifically, I'd like to document how to use them as serial network switches (of sorts) for computers without Ethernet. In the Mac context I'd be direct-wiring machines to the Portserver over serial connections and using the Portserver's PPP server to establish TCP/IP connections. Not planning to use any modems except for on devices that don't have another option; none of those are Macs, though.

A few questions related to that:
  1. Is there a practical difference (particularly in bandwidth) between using a Mac's serial ports with RS-232 and RS-422? Digi makes devices that support RS-422, but they're typically more expensive. Is it worth using RS-422 for any Mac? If it makes a difference for some models, which ones?
  2. What's the speed cap for the Mac's serial ports without external clocking? I believe there's a difference between Geoport models, traditional serial, and more exotic implementations like on the IIfx.
  3. Some sources mention that you should plan on setting your baud rate to twice your modem's to make sure you're not bottlenecking your connection. Is that the case with a null modem connection or only traditional modems?
  4. Should I prefer FreePPP over MacPPP where available? Do they both support null modem connections?
  5. There's a lot of mention of PPP being able to encapsulate AppleTalk, but it's hard to find information on how that works in practice or if it enables you to connect to other Macs on standard Ethernet networks. Assuming I'm able to give a Mac Plus, for example, an IP address on a local network with PPP, would I be able to connect to a SE/30 that's using Ethertalk?
  6. Relatedly, should I be aware of performance degradation using null modem PPP and LocalTalk simultaneously? I've seen some mention of this, but since it was on LEM I figured I'd check here, too.
Apologies if these are very basic things I'm just missing; there's less information out there on this than I'd hope. Also happy to provide more specifics about the project if it'll help.
 

NJRoadfan

Well-known member
PPP can carry more then just IP as it is a Layer 2 protocol. AppleTalk-over-PPP is native DDP, although you'll have to use Apple's remote access software as a server since the Linux kernel long since dropped what little support it had for PPP based AppleTalk. As for serial port speeds, people have run the SCC up to 115.2k. It really depends on the machine.
 

Mk.558

Well-known member
1. There is, but not significant enough to specifically choose RS422. Based on what your top statement was, I'd recommend RS232.
2. 230400bps. There is a difference in the serial ports. Early Macs used interrupt based SCCs; starting with the IIfx, certain models used I/O Serial DMA chips which could run faster, but often had issues that meant not everybody wanted to deal with it. GeoPorts are different enough but nobody really took advantage of them. Most of the time, if it's a IIci or higher you should be fine with at least 57600bps: if it's a 68040, 115200bps seems realistic. AppleTalk being on is a factor.
3. Only with traditional modems.
4. I've never used FreePPP. MacPPP does support null modem.
5. There's ways you can do that yes, but they generally require OpenTransport. OT is realistically the only practical way to do AFP over TCP.
6. You will have a significant performance hit unless you're on something like a 68040 or early PPC that doesn't use an interrupt based SCC.

Keep in mind that an older machine, but still capable, like a SE/30 or IIsi, will probably be running PPP at something like 38400bps. At that rate, FTP is pretty slow. I recently did a AFP over TCP connection through a bridge with a LocalTalk connection and I was getting around 9-11KiB/s (i.e. roughly 115200bps). If you want speed, native Ethernet is your best choice.
 

cheesestraws

Well-known member
Is it worth using RS-422 for any Mac?

Only reason to use RS-422 is if you need really long cable runs.

What's the speed cap for the Mac's serial ports without external clocking? I believe there's a difference between Geoport models, traditional serial, and more exotic implementations like on the IIfx.

Depends how fast the Mac is :). But yes, as both @NJRoadfan and @Mk.558 have said, 115.2k is the most you're going to reasonably get from a relatively fast 68k. LocalTalk does run at 230kbps, but it relies on hardware features to do that, and you're not going to get that throughput in normal serial mode.

Some sources mention that you should plan on setting your baud rate to twice your modem's to make sure you're not bottlenecking your connection

In a null modem connection there is no modem, so you can't set your baud rate to double it ;-). You need both ends of the serial wire to be talking the same baud rate so they can communicate at all.

There's a lot of mention of PPP being able to encapsulate AppleTalk, but it's hard to find information on how that works in practice or if it enables you to connect to other Macs on standard Ethernet networks. Assuming I'm able to give a Mac Plus, for example, an IP address on a local network with PPP, would I be able to connect to a SE/30 that's using Ethertalk?

There's multiple things going on here, and it sounds like you're mixing some of them up. AppleTalk is a layer 3 protocol like IP; they deal with nodes talking to each other over connected networks. PPP and Ethernet are both layer 2 protocols: they deal with nodes on the same physical connectivity type talking to each other.

So - if you had a PPP link with IP running on it (so your Mac Plus had an IP address), you had a properly set up IP router between your PPP link and your Ethernet network, and you had an SE/30 with an IP address on the Ethernet network, you would be able to send IP packets from one to the other. If you had a PPP link with AppleTalk running on it, you had a properly set up AppleTalk router between PPP and Ethernet, and you had an SE/30 with an AppleTalk address at both ends, you could get AppleTalk packets from one to the other. But no matter what you do in the middle, you can't send AppleTalk packets to an IP address, because they're speaking different languages.

As @NJRoadfan notes, though, practically speaking support for AppleTalk over PPP is tricky to come by.

Relatedly, should I be aware of performance degradation using null modem PPP and LocalTalk simultaneously? I've seen some mention of this, but since it was on LEM I figured I'd check here, too.

I'd expect so, running LocalTalk at full speed takes quite a lot out of an older machine even on its own. If you're also trying to juggle a PPP session running as fast as you can as well, that's going to be quite demaning indeed.
 

Realitystorm

Well-known member
From what I’ve read on Low End Mac and MacWorld (April 1996 page 47), the connection speed limits for serial connections are likely:

  • 19.2 kbit/s (2.4KB/s) on 68000 Macintosh Systems
  • 57.6 kbit/s (7.2KB/s) on all other pre-PPC Macs except IIfx and Centris/Quadra AV that have IOP ports
  • 900 kbit/s (112.5KB/s) for the IIfx, Quadra 900, and Quadra 950 thanks to there Input/output processor (IOP) ports
  • 2Mbps (256KB/s) for Centris/Quadra AV systems with Direct Memory Access (DMA) serial ports (GeoPorts)
I have a 660AV now that I need to do some tests with.

 

Reasons.

Well-known member
Thanks, all! This is very helpful. Sounds like speeds won't be anything to write home about, but I expected that. It sounds like we're looking at a bit worse than DaynaPort emulation, which feels like enough to make it worth pursuing if not a substitute for Ethernet. @NJRoadfan, I'll definately have to check out AppleTalk Remote Access.

LocalTalk does run at 230kbps, but it relies on hardware features to do that, and you're not going to get that throughput in normal serial mode.
This does make me think about the possibility of using a RS-422-compatible Digi device as a way of encapsulating a point-to-point LocalTalk connection and routing it over a broader TCP/IP network. Is Localtalk compliant with the RS-422 spec in transit?

So - if you had a PPP link with IP running on it (so your Mac Plus had an IP address), you had a properly set up IP router between your PPP link and your Ethernet network, and you had an SE/30 with an IP address on the Ethernet network, you would be able to send IP packets from one to the other. If you had a PPP link with AppleTalk running on it, you had a properly set up AppleTalk router between PPP and Ethernet, and you had an SE/30 with an AppleTalk address at both ends, you could get AppleTalk packets from one to the other. But no matter what you do in the middle, you can't send AppleTalk packets to an IP address, because they're speaking different languages.
This is very helpful, and does help correct some misunderstandings I had on how AppleTalk worked. Presumably in this scenario the AppleTalk router would be terminating the PPP connection? Can you blend IP packets and AppleTalk packets in the same PPP link, or is that set during connection negotiation? In any case, in that scenerio I don't think there's a ton of utility in the Digi device.
 

cheesestraws

Well-known member
This does make me think about the possibility of using a RS-422-compatible Digi device as a way of encapsulating a point-to-point LocalTalk connection and routing it over a broader TCP/IP network. Is Localtalk compliant with the RS-422 spec in transit?

All RS422 tells you is the electrical levels you're using on the wires, not how to interpret them. You can plug two RS422 devices into each other without blowing them up, but there's no guarantee they'll actually be able to communicate.

There is quite a lot of difference between RS422 + UART which is probably what the portserver devices support and LocalTalk, which is HDLC-framed synchronous serial. Aside from the actual voltage levels on the wires, they don't have a huge amount in common.

Presumably in this scenario the AppleTalk router would be terminating the PPP connection?

I'd expect so, but I don't really know anything at all about AppleTalk over PPP, or over dialup in general, so I can't give you many answers here.
 

Reasons.

Well-known member
All good information, thank you! Sounds like I'll need to do some experimentation (which is half the fun, anyway).
 
Top