Eric H. Johnson on 19 Oct 2010 05:36:00 -0700

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Serial & parallel ports; lack thereof


You are correct on both points, it was me that said that and USB devices
cannot be used for hard real-time. PCI based parallel port boards often can
work, but that is little help when dealing with a laptop having neither a
parallel port nor PCI bus.

See the bottom of this page:

USB devices cannot be used to control motors or perform other "real time"
tasks. Some USB devices which appear as keyboards, joysticks, and mice can
be used for user interface tasks through the hal_input driver.

One detail we did not go into is that certain types of USB based I/O can be
used, but not for instance stepper signals as we were discussing. USB I/O
can be handled in user space. One particularly neat component is
hal_joystick which allows the use of a USB based game controller to jog axes
and the buttons can be tied to certain functions like start/stop/pause/step,
machine on / machine off, coolant on / coolant off, jog increment, etc.

Here is some info on using PCI based parallel port cards:

There are also other issues with using laptops for hard real-time, which
exist in all modern mother boards but are particularly prevalent in those
used primarily in laptop and notebook computers. In the BIOS, all power
management must be turned off, the processor should never be allowed to
"gracefully" degrade. Further, hyper-threading should generally be turned
off as well. If one wants to take advantage of multiple processors, use the
SMP packages (new to version 2.4.5), which allows assigning the hard
real-time tasks exclusively to a single processor and everything else to the
other or remaining processors.  


At dinner last night after PLUG W we were talking about the difficulty 
of getting newer computers, esp. laptops, with serial or parallel ports. 
  Those ports can be important for controlling certain devices (notably 
CNC devices, see  And the 
USB<-->serial adapters do NOT work for CNC due to various timing issues, 
according to...Eric, I think it was?

The short answer looks like, lots of people [1] still sell PCI Parallel 
Adapter and PCI serial Adapter (and combo) cards.  Not so useful on a 
laptop, but if you have a PCI slot, you're golden.

Longer answer:
I didn't look that hard, but I didn't find any current laptops with either.

I thought that my Atom-based System76 Meerkat NetTop has a serial and a 
parallel port, and I was right.  Unfortunately, the NEW one does not:

None of the S76 laptops have either.

All of the System76 servers do have 1 serial port, but I didn't find any 
parallel ports.

A couple of ZA Reason servers had a serial port too:

Finally, my old backup server was a Synertron Twister, and they still 
sell some stuff with serial & parallel ports.  They have fanless units 
and CF-CARDs as well, which is perfect for high contaminate, high 
vibration environments, like mounded on the side of a CNC rig.
Most of these are available with up to 4 serial ports:

This is the only one that claimed to have a parallel port, but the 
picture doesn't show it:

Some of the boards have what looks like a parallel port, but from 
reading the specs it may be a serial port...  Like:

Anyone else have any ideas?
[1] I still have a StarTech ISA Parallel Adapter Card, and it's the same 
distinctive triangle shape as the newer PCI ones.  Funny.
JP Vossen, CISSP            |:::======|
My Account, My Opinions     |=========|
"Microsoft Tax" = the additional hardware & yearly fees for the add-on
software required to protect Windows from its own poorly designed and
implemented self, while the overhead incidentally flattens Moore's Law.
Philadelphia Linux Users Group         --
Announcements -
General Discussion  --

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --