First post, by retroduck
Recently, I've been configuring my Pocket 386 system with an ESP8266-based SLIP<->Wifi device (https://github.com/martin-ger/esp_slip_router). I've used these before with DOS and Windows systems and find them to be quite a good way to add connectivity to "retro" systems, particularly portables and laptops that can't take network cards (I know the Pocket 386 can have a network card added to the ISA connector, but either compromises portability or requires hard-to-get custom hardware). I even managed to install the ESP8266 internally inside the Pocket 386, using the otherwise-unused "COM2" connections on the serial card.
While it was relatively easy to make it work at the full 115,200bps with DOS (ETHERSL), Windows 3.1 (Trumpet Winsock) and Windows 95 (Dial-Up Networking with a Null Modem driver), I came across a couple of issues with Warp 3 (Connect), one of which appears to be a bug in the provided SLIP Driver.
Firstly and easily worked around, the graphical "dialler" program that comes with Warp Connect, while it has built-in support for Null Modem connections, it seems to have no way to turn off hardware flow control, which won't work with a "3-wire" serial connection. Thankfully, the documentation includes a section on how to "manually" set up a SLIP connection without using the dialler.
Secondly, the SLIP Driver seems to have a bug where, if the port is configured for 115,200bps, it will reset it to 9600bps. This seems to be 100% reproducible and did not occur when the port was configured for any other baud rate.
I guess nobody used such speeds in ~1994? Even if dial-up modems never achieved more than 56K, PC-to-PC serial connections and more exotic WAN connections (e.g. ISDN) could use the 115,200 rate. Maybe they all preferred PPP to SLIP? (I understand that PPP is more flexible, but the simplicity of SLIP means the overhead is much reduced, great for low-spec machines.) Was this bug known about at the time? I did find a fairly recent blog post which mentions an inability to make 115,200bps SLIP work, probably for the same reason (https://www.uninformativ.de/blog/postings/202 … POSTING-en.html).
Fortunately, it's possible to work around the second issue too, by issuing a "MODE" command to re-configure the serial port after the SLIP Driver has started. This is easiest to do with an "attachment script", which is run by the SLIP Driver itself as part of the connection process.
All you need is a configuration file (e.g. "slip.cfg") with something like:
interface sl0 { device=COM2 MTU=1500 compression=off attachcmd=c:\\path\\to\\script.cmd }
(Note the double slashes in the script path.)
And then a script like:
'mode com2 baud=115200 rts=off octs=off'
'ifconfig sl0 192.168.240.2 192.168.240.1 up netmask 255.255.255.0'
'route -fh add default 192.168.240.1 1'
(Note that commands are in single quotes, since this is a REXX script. The IP addresses are the defaults for the ESP firmware, change as necessary for your configuration. DNS is configured via the system TCP/IP Configuration GUI, I couldn't find a way to do it via a command.)
You can then establish the SLIP connection via the command "slip -f c:\path\to\slip.cfg" or just by running "slip" in the same folder where slip.cfg exists, since that's what it looks for by default.