Turns out that the problem with using lp must have been the adaptor. Its a
parallel printer, and it was being connected through one of those parallel
to usb adaptors. With a parallel cable, and redefined as /dev/lp0, it
works. The original method of cat > /dev also works on this definition.
No idea why, though. I have used those usb adaptors successfully in the
past and if it were possible to hit it using cat >/dev, it seems puzzling
that lp could not drive it. Should have thought of trying this earlier,
but of course, SFF machines now often don't have parallel interfaces.
I also now do lprm on starting up the program to clear the queue, just in
case.
Regards
Peter