This tip will help you print successfully with the HP LaserJet 1012 and a print server with both Macintosh and PC connected through the same router. I have the Linksys PSUS4 (wired) PrintServer for USB with 4-port switch. I have two Macs (one running 10.4.9 and one on 10.3.9), and two PCs (both running XP). The PCs set up quickly, as there is a disc that comes with the print server for PCs. Linksys will not provide support for setting up a Mac. If you want to have your Mac see the printer, you may have to tell it manually.
My setup is four computers connected via ethernet cable into the Linksys router. The print server is also plugged into the router the same way. The printer is plugged into the print server's USB port. Here's what I did:
I installed the third party print driver for the HP LaserJet 1012 contained in the Gutenprint 5.0.0 print driver installer. I did not find that I could get HP's driver to be recognized in this setup process.
I found the printer's / print servers's IP address. This can be found if the printer is on and attached to the print server, and you hold and release the reset switch on the side of the print server for a least 10 seconds. The IP address will be something like xxx.xxx.x.xxx. This is not the router's IP address, which is likely in the format xxx.xxx.x.x mode. This should send a sheet to print directly to the printer, showing the IP address. Also, the IP address of the print server can easily be found if you have a PC on the LAN. Just install the disk that came in the box and the Linksys software can tell you.
I found a working queue name in Macintouch's Network Printers reader report. This was important, as I could not print without it. I was seeing the print server all day, but until I had a proper queue name, IP address, and 1012 driver listed, I could not print. The comment there that solved my problem was by John Robertson, who wrote "I use IP Printing, LPD/LPR and set Queue Name to 'LPT1' on Printer Address '192.168.2.1' with success for my HP 6MP on my home wireless/wired network." My IP is different, but I used his queue name in the LPD area of the IP setup in the Add Printer part of the system prefs.
Now all my computers are able to print on the same printer. It took me all day to figure this out, so I hope this helps someone else.
[robg adds: This same tip (without the minor changes to layout, adding of links, modifying of a few words, etc.) appears in the referenced Macintouch reader report -- but it was submitted here by the same author (based on the email address the author provided), so no, we're not reusing Macintouch's content!]
I wanted a way to automatically set up a printer without having to touch the machine and after much work, I did it (with a little help from some friends). Here are the steps I used in order to get it to work. Your mileage may vary, and this isn't a post action, since some of the commands aren't included on a default NetBoot image. You'll need Mike Bombich's excellent NetRestore
First, log into NetRestore's PHP services, and go to Database administration » Create Machine Specific Attributes. Add these specific field names (spelling and case counts!). The following is laid out in this order: field name | Data type | Default value (if any)...
printer_name | VARCHAR(63) |
printer_location | VARCHAR(63) |
printer_driver | VARCHAR(128) |
printer_address | VARCHAR(21) | lpd://
Step two follows: Change the 'Machine Specific Settings for Machines' settings for the machines that you want the script to set up printers for.
It's possible to get the Xerox 4512N (networked) printer working in OS X. Here's how I did it...
Get the May 1997 PPD from the Xerox website by pretending you are a Windows user. The July 1997 version included in the Mac OS9/X package is buggy and won't work (and it isn't because of the Mac 9 line breaks; I tried fixing those). Just google for Xerox 4512N PPD to save yourself a lot of clicking around. Add a line to the PPD:
Add this anywhere after the printer model, nickname, etc. Do a Get Info on the PPD, authenticate, and change owner to system and the group to admin. Gzip it if you like (like all the other PPDs). Do another Get Info, authenticate, and change owner to system, group to admin. Drop the .gz file or the PPD file into the top-level /Library » Printers » PPD » Content » Resources folder -- the English localisation folder whose path name I don't exactly remember, but is pretty obvious.
New owners of Epson's Stylus Photo R2400 may not be aware that there are two types of black ink available for this printer: Matte and Photo. If you have the Matte ink cartridge installed, you will not have access to the Glossy paper choices (because Matte ink on glossy paper would not produce a quality print).
However, there is more madness to this method than you might expect. There's also a bug in the Epson driver software (for Tiger, at least) that prevents the printer from communicating the change in the cartridge back to the driver so, even though you have the correct ink installed, the Glossy paper options are still unavailable to choose.
The solution is to launch the Epson Printer Utility, click the Ink Levels button to show the eight cartridges and their respective ink levels, and then click on the black ink cartridge, so that it displays its information in the window. You'll note that it will show the correct information for that cartridge. When you quit the Printer Utility, calling up the Print dialog will now permit you to choose the Glossy paper.
(I'll note that both parts of this hint came from a number of Google searches to rectify the problem for a client.)
Sometime in Tiger's evolution, the CUPS implementation restricted PostScript (PS) printers to level 2 and higher. I have found that some PS level 2 and higher printers, including (read "especially") networked photocopiers, have an omission in their PPD files that prevents them from working properly with CUPS. The symptom is that when you print, your system displays the following message:
The process "cgpdftops" stopped unexpectedly with status 1
CUPS runs a series of filters prior to processing a job, and part of their job is to determine the PS level of the destination printer. If you are confident your PS device is level 2 or higher, look at the PPD you assigned to your printer (located in /Library/Printers).
We use a printer accounting system, which requires that the username and password be passed as a parameter in the smb URI. LPD wouldn't be an option in this case. I've created a script that I run when I've changed my password.
echo -n "Enter your username: "
echo -n "Enter your password (what you type will not be printed to the screen): "
read -s password
echo " "
echo "If you are prompted for a password, enter your system administrator password"
#$domain and $servername must be defined
sudo lpadmin -p 1055CMBond -v smb://$username:$password@$domain/$servername/hp1055cmbond -P "/Library/Printers/PPDs/Contents/Resources/en.lproj/HP DesignJet 1055CM PS3.gz"
sudo /usr/bin/enable 1055CMBond
sudo /usr/sbin/accept 1055CMBond
#make the printer the default, may require system password
sudo lpoptions -d 1055CMBond
#At one point I thought this was necessary
#uncomment if you need it
#sudo killall -HUP cupsd
This will overwrite printers with the same name, so they are essentially deleted and re-created with the new password. You'll need to define your domain and server name. As well, you'll need to know the path to the PPD file for your specific printer. My advice would be to define the printers manually the first time, and then peek into your printers.conf file for the PPD paths.
Our company's Windows network requires periodic password changes, and each time I do this (via a Windows machine, BTW, since I don't know how to do this from a Mac), all my Windows networked printers break. One solution is to delete the printers from Printer Setup Utility and then re-add them, but this gets old fast, especially if you have several networked printers.
The easiest method I've found is to first change the passwords directly, and then restart PrintingServices. The passwords are stored in a root-owned file at /etc » cups » printers.conf, in a URL for each printer:
You can easily edit this file in Terminal.app with sudo vi /etc/cups/printers.conf (Type :1:$s/old_pword/new_pword to change them all at once!). Save the file, then restart CUPS: sudo SystemStarter restart PrintingServices.
I needed to change my printer's advanced print setup automatically with AppleScript. AppleScript doesn't support this feature, so I found a way to do it with a shell script. First, create and save a custom settings preset in the printing dialog. For this example, assume those settings are named Preset1. Then, in the AppleScript Script Editor, enter the following code:
do shell script
"defaults write com.apple.print.custompresets
This way, the Preset1 settings will be used next time you print.
[robg adds: I broke the AppleScript onto three lines for better display here. I didn't want to use the AppleScript line break character, though, because the text inside the quotes cannot be broken in that manner. If you're going to use this code snippet, enter it as one long line with a space replacing each line break.]
I recently upgraded my Xerox Phaser 8400DP to a Phaser 8560DN printer. A few days later, when I attempted to output a PDF file using QuarkXPress 6.52, all I would get was an alert box stating that Quark was "Unable to create the xyz.pdf file." This was now happening consistently. Well, thanks to Quark's extremely detailed error reporting, I could tell immediately what the problem was ... NOT!
After hours of troubleshooting dead-ends, I finally figured out that when the Phaser 8560 printer was selected as the default printer, Quark would error instead of outputting PDFs. If any other printer was selected as default, Quark would instantly resume its PDF outputting capability.
I called Xerox, and after a nice session of less than 20 minutes, a support person actually took my word for it! While I waited, they installed their drivers for the new printer on a similar Powermac G4 to mine, opened a Quark 6.5 they already had installed, and tried the same (reproducible) technique to cause the error. They agreed that it was a verifiable error that is evidently caused by an incompatibility between Quark 6.5 and their new print drivers. They sent the problem on to their application programming technicians so that they could address the issue in the next bug-fix run. They could not, however, give me an ETA on that, but at least we know it is a Xerox issue.
The Problem: Anyone with a Power Mac who has Quark 6.x installed and a Phaser 8560 has a good possibility of not being able to export to PDF files. It is unknown if Intel Macs are affected.
The Workaround: Change the default printer to any other driver before attempting to output the PDF, and install an updated Xerox driver when it becomes available.
I've had an Canon iP5000 printer linked up to my AirPort Express for remote printing. It has never worked reliably: on long complex jobs it would just stop printing in the middle of a page. Well, now some early testing of a possible fix has allowed me to print long, complex jobs without the printer stopping in the middle. I'm happy, and will test the solution more over the next few weeks. Although not yet thoroughly tested, I thought I'd share my solution now, given how well it seems to be working.
What I did
I set up the firewall installed in Mac OS X to limit the bandwidth of the connection to the AirPort, so that print jobs go more slowly to the printer. This is easy to do, once you know how (detailed below).
Why I did it
Looking at the traffic between Mac OS X and the printer using Eavesdrop (nice tool, thank you), I noticed at the same point in the conversation that the printer would stop. Let me be clearer: it was always at a particular point in the protocol, not the same point in the job. I guessed, and it was a guess (don't know if it's correct), that traffic was heading over to the printer too quickly and it just couldn't cope.
Read the rest for the details on how I limited the connection speed to the printer...