A Brief Introduction to USB and Serial Ports
By Dana Cartwright, author of WeaveMaker software
The question of 'ports' on modern computers is complicated. So bear with me as I go through this explanation. I'm writing this from the perspective of WeaveMaker and Macintoshes, but it's the same for all software, and increasingly Windows computers have these issues. I'll try to make this as generic as possible!
Older computers (both Mac and Windows) came with built-in serial ports. On the Mac there were two, usually called 'modem' and 'printer'. Similarly, Windows computers almost always had a serial port, called COM1 (and if there were multiple such ports, the others were COM2, COM3, etc). The problem with these older serial ports is that their design literally pre-dated computers. They were engineered back in the days of real Teletypes, the kind that were used to send real telegrams, delivered by a person wearing a uniform, complete with hat. These older serial ports were slow, and the way they worked wasn't compatible with modern computer electronics, and so they required expensive chips inside the computer to accommodate them.
To solve this problem, the Universal Serial Bus (USB) port was created. (Confusingly, this name contains the word 'serial', which is also used to describe the older ports. Sorry, I wasn't responsible for naming these things!). USB is fast, completely compatible with modern computer electronics, and is therefore relatively inexpensive. USB is great for hooking up printers, extra disk drives, cameras, scanners, fax machines, music keyboards; it really is universal. So that's good.
Problem is, all the computer dobby boxes (including the AVL Compu-Dobby) on the market today were engineered to use the older, slower serial ports. To get a modern computer to talk to a dobby box, you need a USB-to-serial adaptor. This lets a USB port act like the older serial ports.
Now, this creates all kinds of headaches for weaving software:
- It used to be that the software could count on the computer having at least one serial port. Guaranteed. This is no longer true. If you don't have a USB-to-serial adaptor, then your computer has ZERO serial ports.
- Merely plugging in a USB-to-serial adaptor isn't enough. There is almost always a piece of software you also have to install. It's often called a 'driver', and without it, your computer doesn't know what to do with the USB-to-serial adaptor.
- Even after you get your USB-to-serial adaptor set up and working, nothing stops you from unplugging it, at which point you still have the software driver installed, but you no longer really have a port, because the hardware piece of it has been unplugged. This situation may look different to the software than if you had never installed the driver (depends on the way the driver software was written).
- There are other ways to put an old-style serial port on a computer. For example, you could do this with a Bluetooth adaptor. So your weaving software has to look beyond merely USB-to-serial adaptors. The list of 'dobby ports' that displays on one computer may be totally different from what appears on some other computer, and yet both may be perfectly fine and correct.
So what's the bottom line? Modern weaving software has to do the best it can to examine your computer and find your USB-to-serial driver and associated hardware. And as I've indicated, there are many ways to do this, and many ways in which it can go wrong. The software then has to issue error messages as appropriate, to try to help you resolve the problem. This is not easy!!! So, the bottom line is patience, patience, patience.