• 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.

PowerBook 1xx Wireless Modem

jyeandle

Member
I started working on a similar device that connects to the external serial port a few years back, before life got in the way and I had to focus on other things. I modified the esp slip firmware to add escape sequences to the slip protocol that allow me to set up and control the wifi network connection through the slip interface. Worked well. Where I got bogged down was on the mac software end. Using a serial terminal I could poke out values to set up and start the wifi connection, then connect via the InterSlip driver, and it works just fine. But writing my own slip driver to combine the wifi control and pass the network data on to MacTCP was more time consuming than I could spare.

Some hurdles you may run into - the serial connection will massively throttle down the bandwidth, and the esp slip firmware as written will pass through every packet, so you'll end up with a huge backlog of retransmitted packets further clogging up the pipe. You may want to add some sort of packet buffer on the esp that drops packets that have been retransmitted by the server while still queued up in the esp for transmission over the serial line. Also, I don't know if its just my router, or if it's a product of the evolution of the internet in the past 20 years, but I found that every packet returned from the internet had a flag set in the TCP packet which would cause MacTCP to drop it. I ended up having to add code to the esp which would modify the tcp header and recalcuate the checksum before forwarding it on over serial.

Definitely going to be watching your progress.

unnamed (21).jpg

 

sutekh

Well-known member
Interesting! I like the idea of configuring the wifi and initiating the connection in one app via a single protocol, whether as you sought to do or as @techknight suggested above. That said, it's quite easy, once a SLIP connection is initiated, to telnet into the ESP and execute a single command to set the AP (e.g., set <ssid> <password>), so not sure it's worth the effort IMO.

Out of curiosity, what kind of speeds were you seeing? I thought about fiddling with the more capable external RS-422 ports vs. the slower internal RS-232, but pretty quickly abandoned that thinking for two reasons:

  1. Given that this was designed for a portable, I really wanted a sleek, internally integrated solution without an external module and wires.
  2. If your going to have an external module, SCSI would offer superior performance, so why mess with serial?

I can't say that I've had the same experience with MacTCP. I've had good results with both Open Transport on my 180c and MacTCP on my 180. What SLIP software were you using? MacSLIP isn't compatible with OT (unless you have v3, and if so, please DM me!), but InterSLIP seems to work fine with both.

I also haven't sniffed packets between the PB and ESP, although you've piqued my interest, so I'm downloading a couple of capture utils right now. Any you'd recommend? That said, packets seems to be flowing reliably with no significant volume of rexmits according to netstat, so I hadn't really had a reason to do so.

From the pic, it's a bit hard to tell: Were you level shifting the I/O pins between the RS422 and ESP? Also, did you implement flow-control? Seems RTS/CTS should solve the problem your describing with "clogged pipes".

 

Trash80toHP_Mini

NIGHT STALKER
Maybe someone can chime in with the product name? I recall a serial port/modem kinda thing for PowerBooks that significantly enhanced throughput.

 

jyeandle

Member
Interesting! I like the idea of configuring the wifi and initiating the connection in one app via a single protocol, whether as you sought to do or as @techknight suggested above. That said, it's quite easy, once a SLIP connection is initiated, to telnet into the ESP and execute a single command to set the AP (e.g., set <ssid> <password>), so not sure it's worth the effort IMO.

Out of curiosity, what kind of speeds were you seeing? I thought about fiddling with the more capable external RS-422 ports vs. the slower internal RS-232, but pretty quickly abandoned that thinking for two reasons:

  1. Given that this was designed for a portable, I really wanted a sleek, internally integrated solution without an external module and wires.
  2. If your going to have an external module, SCSI would offer superior performance, so why mess with serial?

I can't say that I've had the same experience with MacTCP. I've had good results with both Open Transport on my 180c and MacTCP on my 180. What SLIP software were you using? MacSLIP isn't compatible with OT (unless you have v3, and if so, please DM me!), but InterSLIP seems to work fine with both.

I also haven't sniffed packets between the PB and ESP, although you've piqued my interest, so I'm downloading a couple of capture utils right now. Any you'd recommend? That said, packets seems to be flowing reliably with no significant volume of rexmits according to netstat, so I hadn't really had a reason to do so.

From the pic, it's a bit hard to tell: Were you level shifting the I/O pins between the RS422 and ESP? Also, did you implement flow-control? Seems RTS/CTS should solve the problem your describing with "clogged pipes".
The integration of the protocol was done with the idea of having there be a menu a la windows 10 that lists networks and allows the user to connect and disconnect from different networks, and updates on the fly when opened with a list of available networks. It also allows the esp to periodically send updates to the mac on signal strength, which changes the menu icon to reflect, and do so while continuing to send ip packets to the mac over the same lines. It doesn't need to be that way to work, but I thought it would be a fun challenge. Eventually I hope to circle back to finish the interface.

Given the size my original idea was to try and power the whole thing via the serial port by driving the handshake lines high and drawing power from them, and just having it be a dongle that plugged into the modem port, but the esp module draws too much power, and I couldn't find surface mount male mini-din 8 connectors anywhere.

In terms of speed, the connection runs around 7-8k/s for a while, then as the retransmissions start piling up in the packet queue waiting to be transmitted from the esp to the mac the throughput drops down to 2-3k/s. I haven't yet implemented any sort of packet drop on the esp, with the exception of having it drop IPv6 broadcast packets since it was passing those through as well.

I used wireshark to sniff the packets between the network and the esp, and I just tapped the serial lines from the esp and had them go to a pc where I have it connected to two usb-serial ports, one monitoring the tx line, one monitoring the rx line, a terminal program monitoring each that displays the raw data in hex, so I can track the data to/from the mac.

The issue with MacTCP dropping packets from the internet was a head scratcher. I did most of my tests with a web server on my home network, and it worked just fine. But anything that came from the wider internet was dropped. Comparing the tcp headers from my web server vs the internet revealed a flag set for traffic from the internet that wasn't set on my internal network. Like I said, Im not sure if that's a thing my router is doing or if that's a flag that the internet just sets. If memory serves it was the ECE flag, but I'd have to find my notes to double check.

Component list wise I used the Max3490 rs-422 transceiver (its tucked under the esp module in the picture), which is a 3.3v chip, so no level shifting is required. There's only 4 components on the board, if you include the mini-din port and the power port. I power it with a 3.3v wall wart. No flow control implemented. I might circle back and implement something at some point.

 

snes1423

Well-known member
i wish i knew how to build one of these but not good at schematics due to a eye disorder called duane syndrome but good at everything else when it comes to soldering (capacitors,transistors etc)

 

sutekh

Well-known member
I initially ordered 3 boards and have 3 PowerBooks, although one doesn't work at the moment. I'm also contemplating a slight remix to include a bluetooth audio transmitter board (KCX_BT_Emitter v1.1) in addition to the ESP module. Using a spare GPIO on the ESP and small revision to the EXP_SLIP_Router code, I should be able to toggle a connect pin from the CLI for pairing. Once done, In addition to wireless networking, I'd have wireless BT audio and could use my Airpods with the PowerBook :p

HTB1r91IXuH2gK0jSZJnq6yT1FXaH.jpg

Anyway, If I go down that road, my existing boards would become redundant and I'd be happy to sell you one.

 

maceffects

Well-known member
@sutekh where does this project stand?  If you found a way to perfect all the issues and have it streamlined, I’d be willing to build brand new injection molded rechargeable battery packs for the PB1x0.  It would be a fitting compliment to make the PowerBook truly wireless. 

 
Last edited by a moderator:

sutekh

Well-known member
@sutekh where does this project stand?  If you found a way to perfect all the issues and have it streamlined, I’d be willing to build brand new injection molded rechargeable battery packs for the PB1x0.  It would be a fitting compliment to make the PowerBook truly wireless. 


They work well IMO. Of the 3 I built, 2 are installed in functional power books and I use them regularly. I tried to reply here using one in fact, but alas, iCab through WRP via a ~14.4 connection exceeded the limits of my patience :) They work fine though for IRC (logged into #68KMLA now in fact), telnet / SSH, small file transfers, TCP games (Netrek, ChessWorks, etc.)

I haven't yet pursued the bluetooth audio remix mentioned above, but that would require tapping a harness onto the audio output jack of the mainboard, which is less in keeping with the spirit of a fully reversible, drop in replacement. 

Interested to know more about what you're planning on the battery front. You may have seen my attempts at creating Li-ion batteries for mine in the 68K PB forum. I have 2 functional packs and my 180c and 180 are both "truly wireless" at this point, but neither of those designs is production / consumer ready IMO




 

maceffects

Well-known member
@sutekh I was planning on using a design similar to what someone on here did in 2015, but actually use NiCad rechargeable batteries that people can charge on their own without relying on their own charging circuitry.  I would injection mold the battery case.  Your project is very interesting though!  I'm not an electrical engineer so things dealing with that handle and regulate power is not something I have experience with.  I've stalled out on the PowerBook battery simply because there wasn't much demand, but I'm certain that would be demand for it if a PowerBook could also have (slow) WiFi.  Anyway, if you ever want to work together to make production ready solutions, I'm very happy to help in any way I can. 

 

hughhalf

New member
@sutekh this sounds like a great bit of work. I'm just dipping my toe into vintage 68k Macs with a PB180 due to arrive next week. I got to thinking about how to reuse the modem port, wondered if an ESP8266 or ESP32 might be pressed into service, started digging around and found this thread. Sorry if my google-fun is weak but did you release any of your designs and/or source code?
 

schreinerman

New member
@sutekh do you have the pinout information of the connector? I had a similar idea and found your post. Also if it is not the fastest solution, it is al least a solution to connect to the "modern" networking world...
 

schreinerman

New member
In the meanwhile I found the "Macintosh PowerBook 100 Developer Note" PDF.

I'm currently planning a board that fits into the PowerBook 100 Series internal Modem Slot, but with Micro-SD Card holder extended from BlueSCSI-v2 Powerbook.

But the same board will have also an assembly option, so it can be used externally: With 2x ADB-Port (4-pin Mini DIN) for 5V power (ADB Bus forwarded) or Micro-USB for 5V power (maybe plus ch340 and programming circuit), Geoport (8-pin Mini DIN) and D-SUB9 RS232 Serial connector.

So the board can be used internally or externally with Macs or PCs.
 

schreinerman

New member
I have it ready: My universal SLIP Board which can be used internally with PowerBook 100 Series, but also externally with several options. For sure if used internally, all connectors must be not assembled but the bottom connector.

The RJ45 Connector will be left open, so an extension cable of RIBU https://www.ribu.at/microsd-verlaengerungskabel can be used for a BlueSCSI PowerBook adaptor. The Micro SD Card can be easily accessed by the empty RJ45 port.

There is also the option to use an ESP-01S instead of ESP-12F. If used with ESP12-F the ports can be used for an daughter board to make own extensions accessible by the left open RJ45 Port.

If used externally, power can be got by USB or ADB-Bus. The ADB-Bus is extended, so the port can be still used for USB Mouse, Keyboard, etc.

Serial connections can be done by the 8-pin Apple serial connector or a D-SUB9 RS232.
 

Attachments

  • pb100series-wifi-modem-bottom.jpg
    pb100series-wifi-modem-bottom.jpg
    214.1 KB · Views: 30
  • pb100series-wifi-modem.jpg
    pb100series-wifi-modem.jpg
    256.1 KB · Views: 31
  • pb100series-wifi-modem-side2.jpg
    pb100series-wifi-modem-side2.jpg
    189.4 KB · Views: 30
  • pb100series-wifi-modem-side1.jpg
    pb100series-wifi-modem-side1.jpg
    146.3 KB · Views: 28

twelvetone12

Well-known member
Are the data signals of the internal port the same as the external one? We could make a miniaturised version of the localtalk to wifi bridge
 

schreinerman

New member
@twelvetone12 attached the schematic. The PCB is designed, so it can be used as:
1) D-SUB-9 RS232 to Wifi Bridge (powered via USB Micro)
2) 8-pin Apple serial connector to Wifi Bridge (powered via ADB)
3) Internal PowerBook 1xx Series modem to Wifi Bridge (SD Card of BlueScsi accessible via old RJ-45 phone port)
 

Attachments

  • pb100series-wifi-modem.pdf
    183.8 KB · Views: 8
Top