How to set up a raw direct print server?
by HansPL from LinuxQuestions.org on (#5ANDC)
How do I set up a raw direct print server?
Not CUPS, just funneling raw data from a TCP port to a parallel port.
Something like for instance this gadget -
https://www.tp-link.com/us/home-netw...ver/tl-ps110p/
whose job is to connect an older parallel port printer printer to the LAN.
I have some of these in use, it's pretty simple: you set the IP address and plug it in. Done. You then install the printer on any Linux or Windows desktop in the local network using socket://192.168.0.xxx:9100 as connection.
Now I'd like to connect a faithful old HP LJ6P. It resides next to an always-on Debian server having a parallel port, so why should I spend money and electricity on another of these things?
Should be simple, I thought. But I couldn't get pipes to work, so after some tries I ended up with the following kludge in my Debian server. It does work, but is veeeery slooow... printing a page may take minutes. Seems like every byte is greeted and groomed individually... can't see why.
Added to /etc/services -
Code: jetdirect 9100/tcp laserjet hplj # raw printserverInstalled inetd ,
added to /etc/xinetd.conf -
Code: service jetdirect
{
socket_type = stream
protocol = tcp
wait = no
user = lp
server = /usr/bin/tee
server_args = /dev/usb/lp0
groups = yes
disable = no
}Better ideas, anyone?


Not CUPS, just funneling raw data from a TCP port to a parallel port.
Something like for instance this gadget -
https://www.tp-link.com/us/home-netw...ver/tl-ps110p/
whose job is to connect an older parallel port printer printer to the LAN.
I have some of these in use, it's pretty simple: you set the IP address and plug it in. Done. You then install the printer on any Linux or Windows desktop in the local network using socket://192.168.0.xxx:9100 as connection.
Now I'd like to connect a faithful old HP LJ6P. It resides next to an always-on Debian server having a parallel port, so why should I spend money and electricity on another of these things?
Should be simple, I thought. But I couldn't get pipes to work, so after some tries I ended up with the following kludge in my Debian server. It does work, but is veeeery slooow... printing a page may take minutes. Seems like every byte is greeted and groomed individually... can't see why.
Added to /etc/services -
Code: jetdirect 9100/tcp laserjet hplj # raw printserverInstalled inetd ,
added to /etc/xinetd.conf -
Code: service jetdirect
{
socket_type = stream
protocol = tcp
wait = no
user = lp
server = /usr/bin/tee
server_args = /dev/usb/lp0
groups = yes
disable = no
}Better ideas, anyone?