VOGONS


First post, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

I'd like to network with an old DOS PC via serial. The second PC is more modern and does not have serial ports (only 3 USB ports) but also runs DOS. Both have Microsoft INTERLNK/INTERSVR set up.
I have a serial to USB adapter in my cable collection.

The second/modern PC, when DOS boots up with INTERLNK loading, says No ports available. Driver NOT installed. Clearly it doesn't recognise USB, so what needs to be done now, are third-party USB drivers for DOS enough? Because either way, DOS will have to see a USB port on the system as being a COM port for it to work and communicate.

FYI the serial to USB adapter does power on (its light turns on when connected to USB).

Reply 1 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

I suspect your problem is that DOS isn't loading drivers for USB and USB serial
ports. ... and since INTERLNK loads at a fairly low-level, it may not talk to
anything but "Real" serial ports.

It all depends on what you need/want to do.

--

MSNET will run under DOS (at one time I extracted the networking components
from WindowsForWorkgroups and was able to make a DOS client that could connect
to a Windows server --- but early Windows SMB networking was insecure and is
disabled by default in newer versions - it is possible to re-enable it, but to
be honest I've never found interfacing DOS to modern Windows easy or very
workable.

If you NEED to share a drive allowing remove access, perhaps Brutmans TCP
offerings with NETDRIVE can work - I've not personally tried it yet, but I do hear
good thing about it.

--

If all you need to do is move files/directories back and forth between DOS an
a more modern system - the solution I eventually settled on in my own DDLINK
tool - DDLINK is a single DOS .COM, does not have to be installed and can
transfer files over Serial, Parallel and Network (Network does need a "packet
driver" - a small TSR to access your network card).

The good news is that on "modern" systems, DDLINK runs just fine in DosBox
(which can make any area of your system accessible to "virtual DOS"), and
DosBox can make serial ports accessible as "real" DOS serial ports (even host
USB ones), and also provides a virtual NE2000 network interface to access the
hosts network, and NE2000 packet driver is very common).
- One thing I've not figured out how to make work is a "real" parallel port
emulation to the point where DDLINK can transfer through parallel.

Using DDLINK running is DosBox on a modern system, and DDLINK running natively
under actual DOS on the remote end, I transfer files and whole directories back
and forth between DOS and Win7/Win10 all the time.

--
Note that DosBox seems to present the host serial connection as an actual 8250
hardware serial port to DOS - DDLINK talks directly to the hardware and has no
problem under DosBox.

If you boot actual DOS under DosBox, you might be able to get InterLink to work
on the modern system, but ... one big advantage of DosBox's virtual DOS is that
you can "mount" folders on the host and access them as DOS drives - When you
boot real DOS under DosBox, you lose this capability and can only operate on
disk Image files (files on the host containing an entire DOS disk drive)

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 2 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

Sorry, I missed/forgot that the modern PC is also running DOS while preparing my first response offline.

Do you have USB/USB-serial drivers loaded under DOS on that system?

Can you load a serial TTY program (like my own: SDT, LapTalk or PC100) on each end and
"type" between them over a null-modem serial connection?

(as I mentioned in my last message, even if you can get this to work, it may not work for
InterLnk - I would think InterLnk uses direct interrupt-driven access to the serial port and
my not work with something USB)

[Btw, if both systems have a parallel port - you might be able to make that work and be much faster
than serial]

--

If you're really lucky newer BIOS might recognize the USB COM port and provide an
emulation for BIOS access - I've got a couple systems which do this for USB floppy
drives, but I've not seen it for serial (and BIOS doesn't provide very good services for
serial port access - so It might not help much anyway)

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 3 of 22, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

I have not loaded any drivers whatsoever in regards to USB or serial on both the DOS systems.

No parallel port possible. And nope not lucky regarding the BIOS emulation!

Reply 4 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

DOS doesn't recognize USB at all... You'll need some sort of drivers, and given DOSs poor support of serial ports directly (pretty much anything I ever used
had it own direct access serial port drivers - in fact, this is why I build the serial I/o functions into my compiler library) ... don't expect much.

There must be a better way to connect them ... any change of network access? (Do they have slots that can take a NIC?)

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 5 of 22, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I'd like to network with an old DOS PC via serial. The second PC is more modern and does not have serial ports (only 3 USB ports) but also runs DOS.

Hi, this is pretty vague. It's difficult to help.
Why does the second PC have no standard serial ports, for example ? Is it an laptop or something ?
Why the idea with USB-serial converter, rather than installing a serial port expansion card ?

If the second PC is so modern that it lacks serial ports, maybe it can run Windows 98SE or XP ?
On Windows, USB-serial adapter drivers usually do emulate an 16550A compatible FiFo.
Which then can be accessed in a DOS window, too.

Alternatively, DOSBox can be used.
Here's an example video: https://www.youtube.com/watch?v=z9EoRA8ETUs

Edit: Also interesting.:
https://www.mikrocontroller.net/topic/412872
http://www.dosusb.net/

In principle, USB serial converters could be made work in DOS.
But there's no standard for such things yet.
Each USB driver must support/drive the USB Host Controller directly.
And that's another issue. There's UHCI, OHCI for USB 1.x, EHCI for USB 2, XHCI for USB 3.x.
Then, additionally, USB hubs must be supported, too.

https://en.wikipedia.org/wiki/Host_cont ... ewire)#USB

Another idea would be to write new DOS applications that explicitly support the SERDRV.SYS driver.

SERDRV.SYS is a device driver for USB serial port adapters. It has been tested with Prolific adapters and will work with newer v […]
Show full quote

SERDRV.SYS is a device driver for USB serial port adapters. It has been tested with
Prolific adapters and will work with newer versions of these devices. The Prolific
chipset is used by many adapters and you can use USBVIEW or check in Windows
wether it is such a device.
It does not emulate an UART and therefore cannot be used with many DOS serial
communication programs which hook into the serial interrupt to read the data from
the serial port. This device driver provides a DOS device called "SERDRV". It can be
opened like a standard file in DOS. Then you can read and write to this device using
DOS read and write file commands.

That doesn't solve the issue with existing DOS applications, though, that rely on BIOS or DOS to open a COM port.
But it would be a great opportunity for FreeDOS people to update their applications. 😉

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 22, by AM_PM

User metadata
Rank Newbie
Rank
Newbie
DaveDDS wrote on 2025-11-08, 11:51:

DOS doesn't recognize USB at all... You'll need some sort of drivers, and given DOSs poor support of serial ports directly (pretty much anything I ever used
had it own direct access serial port drivers - in fact, this is why I build the serial I/o functions into my compiler library) ... don't expect much.

There must be a better way to connect them ... any change of network access? (Do they have slots that can take a NIC?)

So before I saw your response I tried something else out, but let me first address your reply. I forgot to mention the oldie is a laptop and it has no Ethernet port (it has a proprietary docker and expansion slot which are pretty much impossible to find anyway) so no networking here. As for DOS, I have not installed anything USB drivers related yet, I actually tried to look into it but it wasn't really clear to me if there is a sort of 'universal' driver that will work or if it's very specific per hardware.

Meanwhile I came across this interesting article: https://adafruit-playground.com/u/AnneBarela/ … ia-serial-ports. It gave me the idea that I can link up the old system with the modern one except with the modern running Windows 11 instead of DOS (thus be able to use USB) and with DOSBox or such. I found drivers for my adapter cable (USB HS Serial Converter) and installed it, linked the machines together (with a serial gender changer at the old computer's end), and I followed the article instructions to test the serial connection. DOS successfully opened up its (only) COM1 port, but on the modern PC I tried DIR >COM1: in PuTTY several times but sadly no response at all.

Though when I pressed enter in the terminal after the command, the adapter cable clearly responded (its red 'RX' light quickly blinked) so I'm guessing the adapter itself isn't broken. But what's the issue here then? Just so you know, I'm not well educated regarding serial communications, so I can't tell what I might be doing wrong or if something else is broken. (In fact I tried this on 2 other PCs as well using the cable and PuTTY again, all with the same result.)

Jo22 wrote on 2025-11-08, 18:49:

Why does

Yes, the second PC is a laptop, no expansion slot, and it is modern.

I saw your reply as I was writing my own, as you see I actually tried to link the oldie with the second PC running modern Windows (instead of DOS) using the serial to USB cable, but it seems like the serial failed to communicate.

Reply 7 of 22, by weedeewee

User metadata
Rank l33t
Rank
l33t

I think flow control might be part of your current problem, as well as baudrate since you didn't mention it.
also
I'm questioning whether all the signal lines of the serial link are correctly connected.
at minimum you need three lines connected, two for a one way link,
TxD of pc1 to RxD of pc2,
Rxd of pc1 to Txd of pc2 and
gnd of pc1 to gnd of pc2

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 8 of 22, by lolo799

User metadata
Rank Oldbie
Rank
Oldbie

You'll need a null modem cable or adapter between your two computers, it won't work otherwise.
What is the model of the laptop?

PCMCIA Sound, Storage & Graphics

Reply 9 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

I use DosBox (on Win7&Win10) to talk serial to actual DOS systems all the time. This does work.

But you really have to get cabling right - null-modem, plus DOS needs to see DSR & CTS signals before it will allow data transfer.

I strongly recommend using my SDT (Serial Debug Terminal) to test/debug serial connections, as it lets you see and control
all COM signals as well as send data back and forth.

Best place to get it: It's included in the DDLINK.ZIP package available on my site (along with some information on making cables to connect two systems)

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 10 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
weedeewee wrote on 2025-11-09, 05:19:

... TxD of pc1 to RxD of pc2,
Rxd of pc1 to Txd of pc2 and
gnd of pc1 to gnd of pc2

While this is technically true for applications written to do non-controlled transfers, do be aware that DOS itself won't talk to a serial port unless DSR (DataSetReady) and CTS (ClearToSend) are asserted.

For example, DDLINK via serial needs only these three wire null-modem cable (RXD<>TXD, TXD<>RXD, GND<>GND), however to /Bootstrap it to a new system via a serial connection (which requires you to perform CTTY on the receiving system), you need 7 wires (RXD<>TXD, TXD<>RXD, DTR<>DSR, DSR<>DTR, RTS<>CTS, CTS<>RTS, GND<>GND) - I've not used/tested InterLnk for quite some time, but I wouldn't trust it to work on a 3-wire connection.

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 11 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
DaveDDS wrote on 2025-11-09, 12:14:

I use DosBox (on Win7&Win10) to talk serial to actual DOS systems all the time. This does work. ...

And just to be clear/confirm that what you want to do works, I often do this with USB serial on the Win side.

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 12 of 22, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

Thanks for the replies. I did make sure baud rate was the correct 9600. The bits, stop bit and parity settings stated in that article too were already default in PuTTY. After your reply I played around with changing flow control setting in PuTTY, again no luck. (Sorry, like I said I know next to nothing about serial communications).

lolo799 wrote on 2025-11-09, 10:26:

You'll need a null modem cable or adapter

DaveDDS wrote on 2025-11-09, 12:33:

And just to be clear/confirm that what you want to do works, I often do this with USB serial on the Win side.

That's great! So far as I see, this is the only way to get that old PC communicating (at least with what I have on hand, I don't have another old machine).

Well to be honest I don't know whether this cable is a 'null modem'. I don't know where I got it from, I just happened to have it in my cables and without its packaging. But it looks just like this: https://ibb.co/QF0K3VFs.

I suppose I can confirm this cable and the connection using your SDT tool. Just so we're clear, I'll be running SDT in DOSBox on Windows while that machine is connected to the oldie using the cable I have?

Reply 13 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
AM_PM wrote on 2025-11-09, 16:35:

... That's great! So far as I see, this is the only way to get that old PC communicating (at least with what I have on hand, I don't have another old machine).

Does it by chance have a PCMCIA slot (very common in older laptops) - you can get network adapters for PCMCIA, and I have gotten them to work in DOS.

Well to be honest I don't know whether this cable is a 'null modem'. ...

Unlikely - looks like a std USB->Serial cable to me (and I don't know that any were made available that were naturally a null modem. By the time USB became a thing, Winblows was the main OS that PCs ran, and although there still were serial devices (modems, some printer etc). Hardly anyone wanted to connect two machine via serial (there were much better ways post DOS)

I suppose I can confirm this cable and the connection using your SDT tool. Just so we're clear, I'll be running SDT in DOSBox on Windows while that machine is connected to the oldie using the cable I have?

SDT runs find in DosBox - if the cable is a null modem, you'll be able to toggle DTR and see DSR change on the other end.

A very handy gadget to have which debugging serial connections is a "light box" this is a little box with serial passthrough which
shows the state of common signals (RXD, TXD, DTR, DSR, DTS, CTS, CD) on two color LEDs .. you can easily tell the state and if it
changes as well as identify lines which are not driven.

Btw, it's dead-easy to make a "null modem" adapter - two serial connectors (1 male, 1 female) and cross the required lines between
them - plug it onto your cable and "voila" you have a null-modem cable. Details of null-modem connections are in the DDLINK docs,
of if you prefer, I can post some in-depth details here.

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 14 of 22, by AM_PM

User metadata
Rank Newbie
Rank
Newbie
DaveDDS wrote on 2025-11-09, 18:41:
Does it by chance have a PCMCIA slot (very common in older laptops) - you can get network adapters for PCMCIA, and I have gotten […]
Show full quote
AM_PM wrote on 2025-11-09, 16:35:

... That's great! So far as I see, this is the only way to get that old PC communicating (at least with what I have on hand, I don't have another old machine).

Does it by chance have a PCMCIA slot (very common in older laptops) - you can get network adapters for PCMCIA, and I have gotten them to work in DOS.

Well to be honest I don't know whether this cable is a 'null modem'. ...

Unlikely - looks like a std USB->Serial cable to me (and I don't know that any were made available that were naturally a null modem. By the time USB became a thing, Winblows was the main OS that PCs ran, and although there still were serial devices (modems, some printer etc). Hardly anyone wanted to connect two machine via serial (there were much better ways post DOS)

I suppose I can confirm this cable and the connection using your SDT tool. Just so we're clear, I'll be running SDT in DOSBox on Windows while that machine is connected to the oldie using the cable I have?

SDT runs find in DosBox - if the cable is a null modem, you'll be able to toggle DTR and see DSR change on the other end.

A very handy gadget to have which debugging serial connections is a "light box" this is a little box with serial passthrough which
shows the state of common signals (RXD, TXD, DTR, DSR, DTS, CTS, CD) on two color LEDs .. you can easily tell the state and if it
changes as well as identify lines which are not driven.

Btw, it's dead-easy to make a "null modem" adapter - two serial connectors (1 male, 1 female) and cross the required lines between
them - plug it onto your cable and "voila" you have a null-modem cable. Details of null-modem connections are in the DDLINK docs,
of if you prefer, I can post some in-depth details here.

No PCMCIA on this one.

Right I guess we could say then that my cable is a 'straight' one. I don't have the skills to DIY a null modem adapter so it's fine, I'm gonna buy myself an adapter (F/F) bridging my USB cable and the machine's port on the other end. Then I'll give this experiment a try again!

Reply 15 of 22, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, please keep in mind that you need a "null modem" here, whether it's a cable or an adapter.
A simple "gender changer" is not enough! RXD and TXD must be crossed like in a null modem cable.
(That's for the basic '3-wire' null modem. Other null modems with handshake wiring exist, too.)

Edit: A Null-Modem is a Null Modem, right?

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 16 of 22, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

Yep, I'm sure to get the right one! I understand that null modem is different and has crossed wires inside.

Reply 17 of 22, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

Hi all, just an update. So today I went to the hardware store and bought a null modem adapter, connecting it to my existing USB to serial. And it worked! I had success getting them to talk and even echo text from the oldie to the modern PC. So what this proves is that indeed the previous cable was a straight one and not a crossover.

Now I'll just be working on getting the COM port to DOSBox.

Edit: I noticed that I already have a working DOS installation on Virtual PC 2007 on the modern machine. I just tried it, mapping the VM's COM1 to the physical one. Unfortunately it doesn't work, both with and without ticking the option 'Wait for modem command to open port'. I do think there's still a connection: when sending a command in DOS, it passes it as if it went successful, but there is no listened response on the other side. Also, no INTERLNK working between them either.

On the other hand, when I natively use PuTTY (and even Win XP's HyperTerminal) it all connects and listens fine. Makes me wonder whether trying DOSBox would even make a difference, unless this is a fault within Virtual PC 2007?

Reply 18 of 22, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

FWIW, I don't have/use VirtualPC 2007, but I have gotten "Virtual" serial ports to work with DOS in WMware and PCem.

The "big advantage" of DosBox in using it to move things to/from a DOS pc and a more modern host is that you can "mount" host directories in DosBox
which makes the actual host directory with it's files appear as a drive in DosBox which allows DOS software to directly access those files on the host.

With a traditional virtual machine, you can only access disk "images" which make it harder to get to/from the host (If you are lucky you can find a tool
to move files on the host in/out of the images - but it's still an extra step)

That is assuming you want/need to use DOS software on both ends - If you have a suitable server on the Winblows side, you should be OK.

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 19 of 22, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

Well after hours of tinkering and frustration, I finally have been successful... using DosBox-X to be specific. Interlnk is now sending and receiving files with the modern machine emulating DOS using the USB. It's snail speed but hey it's better than nothing (considering this is a laptop with a damaged FDD and no network, although it does have parallel which I understand would work faster than serial for this purpose). I'll probably RAR compress files to help the transfer process.

I'm still not sure why mapping with Virtual PC 2007 didn't work, despite it doing basically the same thing. (Worth noting that even though VPC 2007 is very old, I still love it for how simple and straightforward it is, especially for the casual user). I did afterwards try DosBox but somehow that didn't work (maybe my own mistake in configuration?). Also per your suggestions, I did actually try VirtualBox, let's just say the experience didn't go well, and PCem I couldn't figure out how to map ports, and there was little documentation either.

Thanks a ton for the help by the way! Wouldn't have done it without some serial experts. I'd still love to be able to do it directly without DosBox-X if there are somehow USB drivers for DOS that would also work well with this specific adapter I have, but I doubt it.