Going back many years, purchasing and installing a modem was easy once you found a shop that carried something affordable and another shop to provide an RS-232 cable suitable for connecting to the computer. Modems came with a small booklet containing a few AT commands and after plugging it all it, setting the serial line to something like 2400 N,8,1 you were good to go. If you found the name of the device the modem was attached to (e.g. /dev/cua or /dev/tty3A) the damn things just worked.

If you’ve never typed or seen the likes of

ATZ
OK
ATDP1234567
CONNECT 2400

whilst using tip or cu or Kermit, you missed out on liters of coffee and late nights.

Typing /usr/lib/uucp/uucico -r1 to launch UUCP was the hardest part (no shell history or TAB completion in those days). Later we tried squeezing an extra bit or two through the phone lines, and to do so, we invested real cash in Telebit Trailblazers - the Rolls Royce of UUCP modems. Those had about a trillion AT commands with which to fine-tune everything, and we spent nights doing little else but studying the very thick printed manual that came with the modem and experimenting with which AT sequence we could slurp Usenet news even faster.

Those were the days. But I digress.

Today we get 3G USM modem sticks for a few Euro, and they’re bitches if you don’t want to use Windows. The reason: ever since 3 1/2” inch floppy disks went out of fashion, these USB modem manufacturers have to provide Windows people with “device drivers” and they chose the worst possible method: plug in the device, and you see a CD Rom drive. A bit of Windows .exe magic later, and the stick becomes a modem with a serial device.

They say over half the Internet stores porn, which may well be – I wouldn’t know about that, but I’ll tell you something: the second half is chock-a-block full of questions by people who use UNIX/Linux on how to get the damn modem sticks switched to serial modem with usb-modeswitch and the likes. Once we overcome that hurdle, we go configure our modem to do PPP or UUCP or whatever. And then we make sure the lot starts on demand, and all is dandy.

And then I commit a terrible mistake: I pull out the USB stick or add some other USB device. And suddenly my lovingly created and tweaked configuration which uses ttyUSB0 no longer works because the kernel has decided to give my modem a shiny new name: ttyUSB1.

And then I go learn about udev and how I can nail a USB device to a symlink of my choice, ttyMODEM, say, and then I find out that the state of the art USB modem I purchased doesn’t have a unique serial number identifiable with lsusb and similar tools so I can’t pin it, and I’m back at square one. This makes it nearly impossible to reliably install this kind of equipment in inaccessible locations or hand it over to somebody who’s not proficient in mucking about in configuration files. And what about headless operation? Forget it.

Let me tell you something: those DB-25 or 9 pin D-sub things to which we connected our modems? Those were the days! CONNECT 38400