Skip to main content
Home▸ Forums▸ 68kMLA▸ Networking a Powerbook Duo: serial -> OS X/unix -> int…
Thread

Networking a Powerbook Duo: serial -> OS X/unix -> internet

68kMLA Networking 59 posts Aug 9, 2007 to Dec 20, 2018
Faced with the dilemma of how to get files between my little Powerbook Duo 280 and Intel iMac and, better yet, getting her on the Internet, I took to the grand oracle Google for enlightenment. What I found were solutions requiring hardware and software I didn't have access to. My only tools: a KeySpan USB to Serial adaptor, serial cable, and telecom software on both ends.

That would be fine for the short term, and sending files to and fro via Zmodem sure brought back memories. But I wanted something a little more elegant. OS X doesn't support AppleShare over AppleTalk on LocalTalk, so that was out. And what was I to do about internet access?

Then it hit me -- I have a UNIX based machine sitting in front of me. One that surely has a PPP daemon. I could configure my iMac as modem-less dial-up ISP, and then use FreePPP/OtTCP on the Powerbook to access the 'net. Furthermore, OS X's FTP server would serve as a much nicer file transfer scenario than ZTerm.

So, in a nutshell, I:

1. Mated the Powerbook and iMac using the KeySpan adaptor and serial cable.

2. Used ZTerm (iMac) and Microsoft Works Communications (Powerbook) to transfer over FreePPP and iCab. (Had this Powerbook not had OS 8 which includes a TCP/IP stack, I would have used MacTCP.)

3. Configured TCP/IP with an IP address local to my network (in this case, 192.168.1.245). Used OpenDNS IP addresses for the DNS.

4. Configured FreePPP to use the Serial/Printer port, in lieu of the Powerbook's modem. Left the phone number field empty. Set the baudrate to max (230400).

5. Run the following with root privileges on the iMac:

sysctl -w net.inet.ip.forwarding=1

(tell the Kernel we want to forward IP packets)

pppd 230400 tty.KeySerial1 local persist passive maxfail 0 proxyarp 192.168.1.102:192.168.1.245

(activate the PPP daemon at 230400, using the KeySpan's #1 serial port, don't use modem control lines, persistent connection, don't dump out if the peer isn't there, ditto, add to ARP table so other networked machines can see it, Ip address of the iMac:Ip address of the Powerbook)

6. Pressed "connect" on FreePPP.

Would you believe it worked right out of the box?

I am now cruising the internet, telnetting, FTPing, and other wonderful things on the Powerbook Duo 280, courtesy my own private non-dial-up dial-up ISP. The best part: no docks or additional cables to buy. Sure, it's not as fast as ethernet. But that's an opportunity cost I'm willing to pay for close to zero financial investment. And it's a "universal" solution, in that I can get any platform that supports PPP and TCP/IP online this way. Anyone care to surf the web using Lynx on my Amiga 1000?

Cheers! ;D

Hold on a second, fellas! I don't think this should have been moved to the Powerbooks forum. Did you read it? This solution works with any old world Mac that has a serial port. The only thing Powerbookie about it is my personal experience. I'd hope this solution would be available to all users of 68k Macs!

Pretty slick!

Correct me if I'm wrong, but if you don't specify the IP addresses at the end of the pppd command wouldn't you, in theory, be able to use phonenet connectors and use this technique with multiple vintage macs simultaneously?

If I understand this correctly "192.168.1.102:192.168.1.245" statement limits you to a 1:1 relationship. However, if this is not specified the iMac (in this case) should obtain the address that you manually entered into the peer (Duo).

It's a theory anyway... I could be wrong, but it wouldn't hurt to try.

This looks like a bit of a breakthrough. I'll have a play with this at some point and see whether I can get my Mac Plus connected through my G4. It would be great to have a non-ethernet solution for hooking 68K Macs up to my internet connection.

Very cool!!!!! Why did i nor anyone else ever think of that? :embarassed: That is awesome!

This is very clever and cool - going to have to try this.

Cheers! [:)] ]'>

Correct me if I'm wrong, but if you don't specify the IP addresses at the end of the pppd command wouldn't you, in theory, be able to use phonenet connectors and use this technique with multiple vintage macs simultaneously?
I'm not familiar with how Phonenet works, so I don't know. My gut says it wouldn't work because we'd need mutple PPP daemons running, and only one daemon can run on a given serial port at any time -- where the real "1 to 1" relationship begins. But, hey, I almost wrote off my project thinking Apple had crippled pppd in OS X. Nothing ventured, nothing gained! If you try it, do let us know!

Congrats on getting the Duo on the net. That is a rather clever solution.

Perhaps it isn't as fast as ethernet, but it could still be quite fast.

Back when I first got DSL (and before hardware routers were affordable), I ran IPNetRouter on my Quadra 840av to share the DSL between several Macs and a PC. Most of the computers were on ethernet, but my Powerbook Duo 280c was on LocalTalk. The Quadra must have been able to pump up the serial port speed past what was normal for the Duo, because the Duo could download files via FTP at around 80KB/sec. That is equal to 640kbps, which is much faster than the typical 130kbps it should have been getting, and pretty close to the 768kbps DSL I had.

For comparison, the Centris 650 Macs that I had in my computer lab in college would get between 80-100KB/sec download rates over ethernet. Any way you look at it, it will be leaps and bounds better than dial-up.

I am not sure what your USB-to-Serial adapter is capable of, but the one I have here at work handles rates up to 230kbps.

From the way I understand it, you are using direct serial communication between the Powerbook and iMac. That is where the 1-to-1 ratio lies. If it was doing LocalTalk (MacIP for TCP/IP networking), then you could have approx. 250 computers daisychained to your iMac. AFAIK, serial communications are limited to 2 devices though.

Yeah, you guys are probably right... It was a thought anyway.

By the way, which serial adapter are you using? The twin adapter? PDA adapter? I'm not sure if it would make a difference or not (other than the cables you would need). I have the PDA serial adapter. I'll have to give this a try when I get a few mins.

By the way, which serial adapter are you using?
I'm using the KeySpan USA-28X. Got it years ago for transferring text files from a Tandy TRS-80 Model 102 to a G4 iMac.

I am not sure what your USB-to-Serial adapter is capable of, but the one I have here at work handles rates up to 230kbps.
According to the manual, the data rate on the USA-28x maxes out at 1Mbit/s. FreePPP's modems configuration panel tops the data rate at 230kbps (which is interesting, as Low End Mac's entry for the Duo claims the limit is 56kbps).

My next goal is to get the Duo into the wireless age with a pair of RS-422 to Bluetooth transceivers. (At $199/unit, maybe not soon...) ;D

If and when the pre-crash threads are recovered, there's a great thread there about potential wireless solutions for Duos.

1405cbl.jpg.f040a5fa64ac1dfa890d9971cde7af2a.jpg


Would this work for connecting to a pc with a serial connector? How would I go about networking for just file sharing and possibly internet sharing from windoze? Any body know of a canadian website to get the cable? sorry to bombard you guys with questions.

I've been trying a similar thing with my PowerBook 2300c Duo with Mac OS 7.6.1. I've got it hooked up to my MacBook Pro 17" with a Keyspan USA-28 serial adaptor. FreePPP says 'Establishing Conncetion' and eventually says 'Link Dead'. Any ideas on this one?

I was wondering - what are your FreePPP settings? Modem? Speed? Flow Control? What did you do for a Connection Script?

Thanks!

I've only done a direct serial connection with a terminal program like Z-Term or the Communications mode of ClarisWorks. In that situation, you'd need to select Null Modem Cable from the list of modems.

If you are using PPP, then you would also have to select Null Modem Cable. The "server" computer would have to have some software running to accept the connection and assign the client an IP address. I'm not sure how that would be done.

If you have a DuoDock for your 2300c, just connect your Duo to your cable/DSL modem and use iCab to browse the web.

I was referring to the first post made here since this fellow managed to his working with the same equipment as me. ZTerm and ClarisWorks Communication works but is very very slow so using FreePPP would allow me to use FTP as I can setup an FTP server on OS X and access it using Fetch on the Duo. I followed his instructions but it doesn't actually connect :( pppd on OS X is supposed to provide the IP address and such if it connects.

Sorry to revive a dead post here, but would this be possible to do over two modems connected together?

Sorry to revive a dead post here, but would this be possible to do over two modems connected together?
Via the PSTN yes. One is the server and waits for connections, the other is the client who dials and connects.

I would doubt you can just wire two modems back to back and expect them to work, they normally expect ring tone before dialling out.

Correct me if I'm wrong, but if you don't specify the IP addresses at the end of the pppd command wouldn't you, in theory, be able to use phonenet connectors and use this technique with multiple vintage macs simultaneously?
No, the clue is in the name, PPP stands for Point to Point Protocol.

I would doubt you can just wire two modems back to back and expect them to work, they normally expect ring tone before dialling out.
There are ways to do it using a battery circuit and some hayes commands that turn off dial-tone detection. I don't have the details, but it's not a dead end.

I actully am connecting My iMac G3 to my POwerBoook 180c with a plain phone cable, I just put these commands on both ends: ATX3&C0 then one one I put: ATA and on the other I put: ATD . I do have xubuntu 7.04 on my iMac, I am wondering if I can do the PPPD with the modems. Another thing I am wondering about is directly hooking my modem attached to my PowerBook 180c, and printing to a fax machine. I have the modem installed, and I can fax all documents to a fax machine, is there any way to fax directly?

There was a thing called Apple Remote Access which did this kind of thing, and ran AppleTalk over PPP.

Is there a version that would work on Mac OS 7.5.3? I have it in OS 9 on my iMac so it might be possible to do a direct connect. But is there any software (Mac OS 9 or Linux) that could help me out here?

5. Run the following with root privileges on the iMac:

sysctl -w net.inet.ip.forwarding=1

(tell the Kernel we want to forward IP packets)
I want to try this ingenious solution as soon as possible. But I'm a bit ignorant in many things UNIX. My question is: when I want to stop the connection and the IP forwarding, I just type:

sysctl -w net.inet.ip.forwarding=0

or is it more complicated than that?

Thanks in advance for any help.

Rick

Is there a version that would work on Mac OS 7.5.3? I have it in OS 9 on my iMac so it might be possible to do a direct connect. But is there any software (Mac OS 9 or Linux) that could help me out here?
Oh, like this one then?

http://docs.info.apple.com/article.html?artnum=22085

The recommended system software version for Apple Remote Access 3.0 is 7.5.3 or later, updated with Open Transport 1.1.1. or later networking software. System Software versions 7.1, 7.1.1, and 7.1.2 releases are also compatible with Apple Remote Access 3.0 updated with Open Transport 1.1.1 or later.
If you have Linux with AF_APPLETALK stack enabled then pppd should help you out.

Thanks! I will have a go at this!

If you have Linux with AF_APPLETALK stack enabled then pppd should help you out.
How would I know if I have the stack installed? Does netatalk have this?

I would need help figuring out what I need in the pppd command. This is what I have that can probably help: Connecting with the internal modem on the iMac G3, internet is connected through the Ethernet port (IP is 192.168.0.174), speed is 38400 baud. Once I get this working I will post a tutorial somewhere.

EDIT: Well I got ARA 3.1... It will only work with 8.1 or higher. I cannot find ARA 3.0, only updaters. I can't seem to find it on the kdx server as well (It might be there, I just can't find anything!). If I just had a Mac with a PCI or Comm slot that I could shove an ethernet card and localtalk bridge onto...

How would I know if I have the stack installed? Does netatalk have this?
Not sure how pppd and netatalk play together, you may or may not need netatalk, I've never done this myself. The AF_APPLETALK enabling is part of the Linux kernel.

The AF_APPLETALK enabling is part of the Linux kernel.
Okay, I searched for information about this and I came up with this:

8.2 Appletalk (AF_APPLETALK)
The Appletalk support has no special device names as it uses existing network devices.

Kernel Compile Options:

Networking options --->

<*> Appletalk DDP

Appletalk support allows your Linux machine to interwork with Apple networks. An important use for this is to share resources such as printers and disks between both your Linux and Apple computers. Additional software is required, this is called netatalk. Wesley Craig netatalk@umich.edu represents a team called the `Research Systems Unix Group' at the University of Michigan and they have produced the netatalk package which provides software that implements the Appletalk protocol stack and some useful utilities. The netatalk package will either have been supplied with your Linux distribution, or you will have to ftp it from its home site at the University of Michigan
It appears that netatalk is needed.

UPDATE: I probably know why I can't get it connected, Linux might not have the modem init string... Maybe, but does anyone know the modem in the iMac G3 350 MHz and where to configure the modem string or add it in the command?

I'm confused... Why are you worried about Netatalk? Aren't you just trying to get a ppp connection to you mac from the linux box via a modem-pair?

I'm confused... Why are you worried about Netatalk? Aren't you just trying to get a ppp connection to you mac from the linux box via a modem-pair?
In order for pppd to route AF_APPLETALK packets it *may* need the assistence of netatalk, we're not sure.

http://www.faqs.org/rfcs/rfc1378.html

I just want to get TCP/IP on there for FTP, IRC, and basic web. What I think is happening is that there is no init string on the iMac.

I just want to get TCP/IP on there for FTP, IRC, and basic web. What I think is happening is that there is no init string on the iMac.
If all you want is TCP/IP then MacPPP, OT/PPP, FreePPP should all work.

Slightly OT but I just had a thought.

Let's say you have a Duo 2300 motherboard, and use a SCSI internal disk, leaving the IDE header free. (Yes, it's been shown that you can use both at the same time). Then attach a 2.5" IDE to CF adapter.

Let's say also that you can find a Compact Flash format WiFI card that has the same chipset as a PCMCIA WiFI card that's known to be usable under OS 9.x and/or earlier (like the Proxim/Lucent/Avaya Orinoco).

Trick the installer to put the appropriate drivers on the Duo's hard drive. (ie using SCSI Disk Mode from a 1400 or other Powerbook with a PCMCIA slot)

Does it seem even remotely possible that the CF card would be recognised?

Does it seem even remotely possible that the CF card would be recognised?
I would have thought IDE devices were driven in a very different way to PCMCIA.

IDE (ATAPI) are basically storage devices, end of story.

I just want to get TCP/IP on there for FTP, IRC, and basic web. What I think is happening is that there is no init string on the iMac.
And remind me again why you're trying to do this through two modems sans phone line? Can't you connect the powerbook to the linux box via a null modem cable on the serial ports?

equant

Pardon the thread necromancy, but is there any compelling reason that would prevent jcassara's original solution from working over a wireless serial adapter? For example, the following unit, to a Bluetooth-equipped Mac:

Bluetooth SMD Module - Roving Networks

This Bluetooth module is designed to replace serial cables. The Bluetooth® stack is completely encapsulated. The end user just sees serial characters being transmitted back and forth.
Features {selected}:

* Fully configurable UART

* UART Data rates up to 3Mbps

* Over air data rate of 721kbps to 2.0Mbps

* Compatible with all Bluetooth® products that support SPP (almost all do)

* Includes support for BCSP, DUN, LAN, GAP SDP, RFCOMM, and L2CAP protocols
Then it hit me -- I have a UNIX based machine sitting in front of me. One that surely has a PPP daemon. / Would you believe it worked right out of the box?
I am now cruising the internet, telnetting, FTPing, and other wonderful things on the Powerbook Duo 280, courtesy my own private non-dial-up dial-up ISP.
Great thread. Somehow, I missed it first time around.

Bluetooth on modern Mac: easy.

Bluetooth on 68K: err, no.

Why not? The unit above is designed for industrial and embedded applications. It appears to the host as a standard serial connection. As far as the OS is concerned, there is no "Bluetooth", just a serial port that goes ... somewhere. jcassara's ppp setup takes care of the rest - provided a serial tty can be opened on the receiving Bluetooth Mac.

At least that's how I read it.

Yes, because the Bluetooth adapter has it's own built-in bluetooth stack, It should work.

consider setting up ttys with pppd, or calling if after you login with getty instead of having to run it manually from the OS X machine.

Hey everyone, I've been trying to follow along with this thread with no luck :(

I'm trying to hook up my PowerBook 180c to an intel Mac-Mini with 10.6 to no avail... I have a USB-to-Serial adapter that is recognized by the system, but I'm not sure what to do in order to connect the two.

The only network-related programs I have available on the PB is the standard MacTCP and TCP/IP control panels. I have no way of transferring any files to the PB unless I get this working.

Any ideas?

Thanks

Hey everyone, I've been trying to follow along with this thread with no luck :( I'm trying to hook up my PowerBook 180c to an intel Mac-Mini with 10.6 to no avail... I have a USB-to-Serial adapter that is recognized by the system, but I'm not sure what to do in order to connect the two.

The only network-related programs I have available on the PB is the standard MacTCP and TCP/IP control panels. I have no way of transferring any files to the PB unless I get this working.

Any ideas?

Thanks
Do you have a terminal program of some sort (MacTerminal, Microphone, ZTerm, anything that uses the Apple communications tool box) for the PB? You need to get MacPPP on your PB if you want TCP/IP access, or a terminal program if you just want to transfer files without using disks.

a question
Do you have a terminal program of some sort (MacTerminal, Microphone, ZTerm, anything that uses the Apple communications tool box) for the PB? You need to get MacPPP on your PB if you want TCP/IP access, or a terminal program if you just want to transfer files without using disks.
I have both ZTerm, MacPPP and FreePPP on my PB, and I've been trying to follow the steps on the first post as closely as possible.

The only problem I'm having really is with step 3.. I'm kind of a noob when it comes to networking so I'm not sure how to setup the DNS.

Does it seem even remotely possible that the CF card would be recognised?
I would have thought IDE devices were driven in a very different way to PCMCIA.

IDE (ATAPI) are basically storage devices, end of story.
Actually, the very original PCMCIA memory cards were descended from micro-card ATA memory cards with the pins and form factor that later became PCMCIA. When PCMCIA became a standard (and later became "PC Card", which evolved into "CardBus",) they kept the old ATA compatibility.

And Compact Flash cards are just reduced-size PCMCIA flash cards. And thus, retain 100% ATA compatibility.

That's why a Compact Flash-to-IDE converter is just a simple wire converter, with no active controller chip.

I have both ZTerm, MacPPP and FreePPP on my PB, and I've been trying to follow the steps on the first post as closely as possible.

The only problem I'm having really is with step 3.. I'm kind of a noob when it comes to networking so I'm not sure how to setup the DNS.
Don't worry about the DNS for now. Typically, the ppp server on Mac OS X will forward the DNS requests for you. I have used a similar setup before and have never had to specify a dns server in either the MacTCP control panel or in the /etc/ppp/options file on Mac OS X.

Here is a post that will give you more specifics on getting the terminal connection running. Once you do that, it is easy to get ppp running using the terminal in FreePPP or MacPPP.

http://68kmla.org/forums/viewtopic.php?f=7&t=11335&start=25#p117254

Using that way you won't have to manually type in the long pppd command every time you want to log in.

--Eric

If I had a modem hooked to my SE and connected to one of my OS X Macs would this work? Or did this only work because of the serial connection?

Thanks,

agg23

Anyone??? :'(

In short, lose the modem. Just go serial-serial-USB

The problem is that I don't have a serial to usb. I wanted to know if something similar would work for making my own dial up isp, and connecting to it via a phone line and modem.

I guess it was a stupid question :(

This one is old, but i guess it fell through the cracks. 8-o

Code:
My question is: when I want to stop the connection and the IP forwarding, I just type:

sysctl -w net.inet.ip.forwarding=0

or is it more complicated than that?
That would just stop IP forwarding. The OSX kernel can either transport packets from one network to another, say, from your 68kmac-OSX-serial-network to your OSX-ISP-network, or not. That is all. The 68kmac-OSX-network still runs, as long as the serial connection is established. Wich means, you can still accesss a FTP server on your OSX machine, but not on the internet. To stop the serial connection, kill the ppp daemon or client.

Just kind of stumbled on this thread...the modem-to-modem connection is definitely possible. There are two things you need to fix to enable this:

First is line power -- all telephone lines provide a low amperage power to communicate/power phones/etc.

this page describes the "line simulator" that is required to make this work. http://www.jagshouse.com/modem.html

Second part is the modems themselves. There are several lines between a modem and serial line that need to be possibly manipulated. An example I can think of is the following:

I had a laptop with a modem (running linux) that connected to the 56k modem on my dreamcast. There was a web browser disk that would allow you to dial up to a ISP and connect to it, and allow you to browse the web. The first part is the easiest --- the physical part. Hook em up together. Done.

The second part is telling the OS on the "server" side that whenever the modem answers, it needs to provide IP services (PPP). Typically, in windows, this is provided via DUN listening on a serial port.

Now, the last part is the oddest part and the one I dont 100% remember: Ordinarily, modems are connected via telephone switching stations, which take one active call, route it to where it needs to go, prefixing that "connection" with a telephone ring. The idea is to simulate that. You'd dial any number, setup PPP/DUN, and to connect the call, you'd connect the lines together. The modem would detect the carrier and the ringing noise on the line, put the modem off the hook (answering the call) and there ya go. You *may* have to configure the dialing end to "ignore dial tone before dialing" because there wont be a dial tone. But once the modem dials the number, it'll send out carriers and the "server" modem will be listening.

I have managed to make this technique work in OS X*.

*: But only OS X 10.4 (haven't tested lower). In 10.5, I'm still in the process of working on figuring out how to revise the command so it works correctly. For 10.4 and the LCII with a USB FTDI RS232 adapter, I type:

Code:
sudo /usr/sbin/pppd 38400 tty.usbserial-A601FT6I local persist passive maxfail 0 proxyarp 192.168.1.100:192.168.1.125
In 10.5, running this command in a separate Terminal window is a good idea:

Code:
tail -f /var/log/system.log
During a session of monitoring the output, I get some issues in 10.5 which make it not work. I don't have 10.6 or higher so I can't speak for those.

I use MacPPP 2.0.1 in System 6 and 7.0.1. System 7.0 and 7.1 have a most abhorable bug where the MacPPP INIT can't start because of "insufficient memory". I tried 2.1.1SD (can't find 2.0.1cm4, but probably won't fix it) and 2.2.0a and all had the same exact problem. Basically this is the equivalent of shipping a car to consumers with no windows on it.

The proper command for Linux is also something I'm working on. The only real digest worthwhile is some pages which are over a decade old and pertain to kernel 2.0 and 2.2. :o)

As I thought about this process, I wondered if there is a way to pipe Lynx output from a host *nix or OS X computer to ZTerm .9 or 1.0b on a old mac over a serial port.

jag does mention it:

If everything goes as planned, you're in. If it doesn't, make some coffee and read a few Dilbert strips. After the obligatory intorduction text appears and stops scrolling, type the word Lynx and hit the enter kley. If your ISP has Lynx on their server, you should automatically go to a web page, more than likely it will be your ISP's home page. You are now on the web with 1 meg of ram!