IrLPT seems to be replaced by IrCOMM. Sorry I don't have
tested this yet. So this is only the remaining part from
former IrLPT support. Please see mailing list archive for further information.
Edit /etc/conf.modules, as described above.
Remove any current print jobs with lprm "*".
Run depmod -a .
(If you don't use kerneld do a modprobe irtty. Probably obsolet.)
su to root, and do mknod /dev/irlpt0 c 161 10.
Note: Something
like ./MAKEDEV irlpt0 is not possible yet.
Try to write a small file to /dev/irlpt0 by cat FILE >/dev/irlpt0
(do not wonder about a bad format this is just a first check). For
me this didn't always work, but I couldn't find out why not.
The better way is to change your /etc/printcap to use /dev/irlpt0
in addition or instead of /dev/lp1. See Printing-HOWTO for
detailed information.
For easy printer setup you may use a printing software like
APSFILTER, MagicFilter EZ-Magic (with RedHat there should also be
a GUI for this purpose). Make a copy of /etc/printcap before.
Example for APSFILTER with a HP 6P (non-postscript, HP 6MP is with
postscript). The two relevant questions are:
"Do you have a (s)serial or a (p)arallel printer interface?"
Answer "p"
"What's the device name for your parallel printer interface?"
Answer "/dev/irlpt0"
Restart the print daemon with kill -HUP <PID of lpd>. If you use
another print daemon choose the according command.
Watch whether the connection indicator of your printer shows
activity, e.g. the green light above the IR port of a HP 6P/MP
comes on (lower left hand corner, near the paper tray).
I couldn't get to manage printjobs larger than approximately 10
pages yet. But maybe this depends on the memory size of my
hardware, which is 16MB. There seems to be a problem with the
software too, Thomas Davis wrote: "I will ... limit the irlpt, so
it won't eat memory when you send a large print file.".
Takahide Higuchi reported: " I have been debugging IrCOMM with a
printer ( Canon BJC-80v ) with IrDA port and IrCOMM protocol (not
IrLPT). I can print a short e-mail text though, it easily causes dead
lock when I try to print a postscript with gs."
From the page of Thomas Davis http://www.jps.net/tadavis/irda : To use
the IrLPT server, you need to perform the following steps:
At this point, the IrLPT server is ready to recieve print jobs; now;
all you need is this simple shell script
#/bin/sh
#
while (true)
do
cat /dev/irlptd | lpr
done
Dag Brattli: I hope that this will make it easier for all you that
prefer to live in user-space, to make your own IrDA applications and
try it out. Some printers actually use IrTTP (because of the
limitations of IrLPT), so now you can write your own small user-space
printer client so you can talk to it:
int discover_devices(int fd)
{
struct irda_device_list *list;
unsigned char buf[sizeof(struct irda_device_list) +
sizeof(struct irda_device_info) * MAX_DEVICES];
int len;
int daddr;
int i;
len = sizeof(struct irda_device_list) +
sizeof(struct irda_device_info) * MAX_DEVICES;
list = (struct irda_device_list *) buf;
if (getsockopt(sfd, SOL_IRLMP, IRLMP_ENUMDEVICES, buf, &len)) {
perror("getsockopt");
exit(-1);
}
if (len > 0) {
/*
Just pick the first one, but we should really ask the user