We no longer offer ftp downloads. If there is a file you need referenced here, please contact me by email and I will get it to you.
This article is from a FAQ concerning SCO operating systems. While some of the information may be applicable to any OS, or any Unix or Linux OS, it may be specific to SCO Xenix, Open There is lots of Linux, Mac OS X and general Unix info elsewhere on this site: Search this site is the best way to find anything.
Before you do anything else, the printer needs an IP address. Some models let you do that right on the printer itself, all have Windows software that will assign it, and if all else fails you can configure it with BOOTP.
On some models, you can assign an address using arp and then telnet to the printer to configure it permanently. Not that if you are planning on printing from remote locations, you'll need to configure a gateway address also.
There are several ways to add the printer. First, you can use
the HP Printer Manager:
scoadmin HP Network Printer Manager
Before running this, add the printer name/ip address to /etc/hosts or DNS if you are not using BOOTP. If you are using BOOTP, choice 2 on the HP menu lets you add the configuration to /etc/bootptab (or you can do it manually). You need the MAC address of the printer or print server- that's the number that looks like 00:00:C6:00:3C:7F. Reboot the printer/server and print out its configuration sheet so that you can confirm that it got its IP address after doing this.
Choice 6 on the menu adds the printer to the spool system. It's generally best to use the same name throughout: if you've called the printer "hpprinter", then make that the spooler name also. Choose "HPLaserJet" as the model (note where that uses capital letters!). If you need to make adjustments to the interface, you'll find it in /usr/spool/lp/admins/lp/interfaces/model.orig with the spooler name you chose. The HP script calls the script in model.orig, and also saves log files in /tmp/ using the (printerspoolername).$$ and /tmp/hpnpf.$$ ($$ is the current PID). Those logs are automatically removed if the interface is successful- otherwise, look for them in /tmp.
">Anytime you have a lot of files in a directory and just need to see what has been added or used most recently, try:
ls -lut | head
You can also print to HP printers using "netcat". I usually just use a copy the "network" printer script for that: go to /usr/spool/lp/model and copy "network" to some other name ("hpprinter"). Edit "hpprinter" and modify the line that looks like this:
) | $network -s -ob $lpflagsto be:
) | netcat -h hpprinter -p 9100
You also need to remove the lines near the top of the script that say:
[ -r $mapping ] || exit 2 set -- `grep -e "^$printer:" $mapping` || exit 3 shift network=$*
Now just add a local printer using
scoadmin Printer Manager
(or "mkdev lp") and use "hpprinter" as its interface and /dev/null as the device.
Or set the printer up using the HP Printer manager and modify the /usr/spool/lp/admins/lp/interfaces/YOURPRINTER changing these lines:
HPNPF=/usr/bin/netcat and if $REALMODEL "$@" | $HPNPF -h YOURPRINTERIP -p 9100 2> $LOG > /dev/null
You can download ftp://ftp.aplawrence.com/pub/netcat.hp.model
Finally, you could install the printer on a Windows machine and print to it through Visionfs or Samba. Or, set it up as an LPD printer and print to it that way (other articles here cover those methods).
Sure. The HP print servers (not the MIO cards) will happily print to any parallel port printer, though some older models didn't understand the newer style EPC ports.
There was an interesting bug in the HPNP printing system prior to 5.0.6 - it would use SNMP to check if the print server was ready, but it ONLY cecked port 1. So, if you wanted to print to port 2, and port 1 happened to be off line, it would not print.
I've always had mixed feelings about this. On the one hand, I'd applaud HP for using SNMP because who needs another proprietary method to query a device? That part is good.
But to not print based on this is a little less clear. If the print server had a problem, well, it isn't going to print, right? The spooler would realize that and so would the user, so I don't see how using SNMP status adds anything here. Possibly the printer app (hpnpf in this case) could query SNMP if it found that it actually could NOT print and put that in its log files as additional troubleshooting data.
That's how I would have done it, anyway.
Anyway, the quick solution was to rename or remove /etc/getone (which is what HPNP used to check SNMP).
Also see How to configure an HP JetDirect EX Plus3 with SCO operating systems. and How do I configure the HP JetDirect EX Plus3 Print Server to use HPNP?. If you don't have an HP print server, try Printserver Ports.
Some print servers (and HP's can do this too) accept data on the lpd port (515) amd use a name like TEXT1, TEXT2 and TEXT3 for the specific output port. There may be other available ports, like RAW1, RAW2, and RAW3. RAW would do what you expect; TEXT might do CR/LF translation (for example).
Got something to add? Send me email.