I think this is what I have been doing before, or I missunderstood your comment....
To summarize the issue:
I have now installed two printer versions, and this is how it looks using the CUPS webinterface:
EPSON_Perfection_V350 EPSON Perfection V350 ralf.hartings.se EPSON Perfection V350 Idle EPSON_R285 server EPSON SP R285 Series Idle RAW_R285 server Local Raw Printer Idle
The Mac printer list DOES NOT show the RAW_285, but does show the scanner (V350) and the EPSON_R285.
The remote CUPS printer on my linux box is a raw printer (http://188.8.131.52:631/R285). Both printers on the Mac are connected to this printer.
The RAW_285 DOES NOT appear in the Mac printer list, but prints the testpage as it should. The EPSON_R285 does not print the test page or anything else.
If I from a Mac application send a printer job to the EPSON_R285, is will not print. I after it failed, using the CUPS web interfacce on the Mac, redirect this failed printer job to the RAW_R285 and it prints just fine....
The bug I see is that when I choose the "raw" option for my printer it disappears from the printer list and becomes useless, although it is fully functional...
I see no other options to solve this. Any hint is extremely appreciated !
I have poked around in that stuff for a while, and have some conclusions.
That appears to be a "dumb" printer. So dumb, it cannot even be discovered without running Epson Printer Utility. We are talking really dumb.
If you want to print to it, you need to have a Driver sitting right next to it, or you are not going to be able to print to it at all. I don't think having it on your unix machine is going to work, because there is no Epson unix driver, and Linux-Printing does not have a direct driver either. Similar printers seem to be supported through Gimp_print, which is fairly primitive.
If you connect the printer to a Mac, and then use the Mac to Share that printer to the rest of your Network, it becomes a Network printer, accessible through LPR/LPD or IPP network printing protocols, as long as the connected Mac is turned on. From there, you should be able to send print jobs to it from your unix system as well.
I am sorry to say, but you are wrong.
The printer and the remote printing system as a whole, worked perfectly in OSX 10.7. The printer was also automatically recognized by the Mac, when looking for network printers. No problems at all. Since that, There have been no changes to the Linux system, my other linux workstations still print with out any problem to this printer and a Macbook with 10.6 recently recognized and used the printer without any problems.
So it does work....
All problems started with installing 10.8. Then the printer was suddenly gone from the printer list and this is what I have been writing about: how can I get it back in 10.8.
Anyhow. Thanks for taking your time. Your comments helped me to be convinced that Apple really messed it up in 10.8.
Any other hints that could help me het this working again? Or do we need to wait for an update from Apple?
I did report it on the website as a bug.
So it has been a few weeks since you last post. I ran in to the same thing, but I have an old Brother printer. So your mileage may vary:
1. Got to "Print & Scan" in settings.
2. Click the "+" to add a printer.
3. Select "IP"
4. Enter the IP or resolveable DNS name as the address
5. IPP for the Protocol
6. If you don't know the exact queue name of you printer:
Click on the "Printers" tab.
Click on the desired printer.
Now look at the URL:
Everything after ":631" is the queue name.
queue => /printers/brotherhl1230series
Keep the Generic Post script drivers or select you printer driver.
This worked great for me.
I would still like to see a way to get the automatic cups printers working again though.
Thank you immaus.
I have tried this before and I can get the printer to work in principle with the Generic Postscript drivers, but the quality of the print is bad (as reported earlier in my post). This is not realy an option for me.
When trying to use the EPSON drivers, it won't print at all (see my earlier posts above).
You may perform the same steps suggested by immauss above by selecting the printer name from the Use drop-down menu instead the Generic driver, the latest driver should be downloaded from Apple..
For any issue I recommend restarting the Mac and trying again, it can resolve many Software Update issues on Mountain Lion.
Last but not least. although it is a big download you may download the latest Epson Printer Drivers package.. then you may select the printer from the Use drop-sown or by clicking Select Printer Software and locate EPSON Stylus Photo R285 from the list.
You may download and install the latest package below:
Hope that helps,
Unfortunately this does not help (I downloaded the drivers file and tried to install a printer using these drivers).
I think their is some missunderstanding about what is issue here is about:
The issue is not outdated EPSON drivers on the Mac. The issue is that I cannot add a raw printer using the normal add printer dialog. Such a printer cannot be added and therefore not used from applications. However, I can add a raw printer using the CUPS web interface and any failed printer job on the Mac can be redirected to this raw printer (using the CUPS web interface) and then it prints just perfectly.
A raw printer does not appear in the printer list in applications. It only seem to exist, and be functional, in the CUPS web interface. That is the problem.
Thx anyhow for taking your time.
I also think something changed from Lion to Mountain Lion, that is causing cups problems.
I have a hp b&w laser printer connected to an OLPC running a variant of ubuntu (linux). I have a cannon color inkjet connected to an acer laptop running ubuntu. Have had cups running on them for years, everything worked. Then bought a man-mini, running LION (OSX 10.7). It saw the b&w laser printer right away without doing a thing! I thought "Apple just works!", ignoring that the inkjet didn't show up. Then bought a macbook air, running MOUNTAIN LION (10.8). It didn't see either printers. For files I wanted to print, I put them on a network drive as a work around. Then ran out of toner for the laser, wanted to print to the inkjet. After some digging (reading help...), I did some terminal commands on the mini, such as "cupsctl BrowseRemoteProtocols=cups" and I think at least another one. This finally allowed me to add the inkjet as a printer (destination) from the mini (LION)! Went to my mba (Mountain Lion), tried all sorts of things, had to "cupsctl WebInterface=yes", but I can not get it to "see" the inkjet printer. Now I'm beginning to think "Apple is just like MS windows." Curiously, the MBA "sees" the laser printer, but thinks it is connected to the mac-mini, not the olpc!
Perhaps updating cups on your linux box so that it is running same version as your mac, maybe that will help?
Thx for the reply. Unfortunately making sure the CUPS versions are the same will not do the trick. This is because I can print to the remote printers (normal and raw) using the web interface, which is using pure CUPS. So there is no issue with the CUPS versions. The problem is how Apple has (not properly) integrated CUPS into OSX: a raw printer which does exist and works from the CUPS web interface, does not appear, nor works from the system printer list.
Earlier, I found Apple = quality, customer focus, user friendly and innovation
Today, I see less and less of this:
- Quality is getting lower (look at this issue and the issue below),
- Customer focus and user friendly is certainly lower (introducing a new map function in the iPhone that clearly does not work as it should - why didn't they wait until it worked and kept Google maps until they were ready?)
- Innovation, well, just look at what they released recently. A lot of hype for very little progress.
I hope they will go back to what the brand used to mean a couple of years ago - and that they solve this printer bug! My only hope is the announced bug-fix release of OSX.....
I am definitely having more cups printing problems with Mountain Lion than Lion. A lot of this cups and drivers and such are outside of my expertise. But I have 2 different linux ubuntu systems and 2 different OSX versions with 4 different versions of cups! (1.3.9, 1.4.3, 1.5.4, and 1.6svn) I think Apple is trying to move away from the cups web interface in favor of system preferences > Print & Scan. Makes sense, but only if they do it right.
Just FYI. I found the following in the local copy of cups help, but only for mountain lion, cups 1.6svn:
Automatic Configuration using IPP
Note: This method of configuration does not work on OS X 10.7 or later because sandboxed applications do not always have direct network access.
It then goes on about "CUPS can be configured to run without a local spooler ..." and I don't understand what auto config using ipp has to do with local spooling??? Am I missing something, or is the documentation even worse than it looks? There is stuff out of order, the what's new for 1.6 tells you what's new for 1.5...
I may have gotten it work for me, but I am not completely sure yet. First, some questions. At one point, you seem to have said you manually added a printer at location http://192.168.1.94:631/printers/R285 Did you do this on your mac, with cups web, and 192.168.1.94 is/was your linux print server So, on your mac, you can web browse to localhost:631 , go to the printers tab, and it list printer(s)? Yet, when you go to your "System Preferences" > "Print & Scan", and then "+" to add a printer, the lists don't agree? (and you've done right click to get advanced and can force search for new printers...). If they don't agree, what does the command "lpstat -a" in terminal return?
Although I could not always get printers to show up, show or no show, it was always consistent between the cups web page and the system preferences. well, almost.
What I did and may have worked was: in the cups web interface, on the mac (localhost:631), since "find new printers" didn't find the one I wanted, I manually added a printer similar as you did(?), but I used ipp://192... as the location and protocol, not http. I selected "raw" make and driver, but right after I finished adding it, cups on the mac must have connected to cups on the server and the mac seemed to magically picked up the make, model, and guten driver info from the server! It then showed up in my system printers.(The server and printer were powered on at the time.) A couple of very small print test cases have worked so far. But will it work tomorrow? [and compare this to my other mac, running lion, cups found the printer. There were several terminal commands, some local, some on the server, I don't know if they made any difference for this problem.]
In another place you had a dummy local printer and you want to change the destination of a print job. You might be able to write a shell script to run in "terminal" using sleep, lpstat and lpmove ... But first let's try to get it working properly w/o resorting to that. Before GUI, theoritically, you could do all the lpadmin things from terminal?
Finally, just to be clear, when you say you are on the cups web page, I assume you are on your mac, and the url is localhost:631/... as opposed to you could be at 192.168.1.94:631/ you would then be at the cups page for your server, if I understand correctly.
That's all for now. This reply isn't polished, but I thought I should just post it. It may be a while before I check back.
"CUPS can be configured to run without a local spooler ..."
The "normal" way of printing is to spool the job locally (write the entire print job file to disk on the Mac you are printing FROM), then use ipp: protocol to unload that Postscript file to the remote system (which could either be a smart printer on the Network on its own behalf, or a Printer connected to a CUPS client running on another computer acting on behalf of the Printer.
1. l don't understand what sandbox means. Is it important for me to understand?
2. Further, what I don't understand is when the documentation says "This method of configuration...", what method are they talking about, the (I assume default) automatic or the (non default single spooler) that it goes on to describe? To me, it sounds like it is mixing several things up, and I am confused.
"CUPS can be configured to run without a local spooler ..."
The "normal" way of printing is to spool the job locally (write the entire print job file to disk on the Mac you are printing FROM), then use ipp: protocol to unload that Postscript file...
And if one spools remotely, wouldn't ipp: also be used, to move the data from the local machine to the server? And why does it explain how to set up using a single spooler under the heading "Automatic configuration using IPP" if as you say, ipp: is used with a local spool? Never mind, almost.
All I know is:
I have printer connected thru usb to a linux computer running cups 1.4.3.
If I go to my mac-mini, running Lion (OSX 10.7) and Cups 1.5.3, the mac-mini sees the printer.
If I go to my mba running mountain lion (OSX 10.8) and Cups 1.6svn, the printer is not automatically discovered.
SOMETHING HAS CHANGED AND IT IS VERY DIFFICULT TO FIGURE OUT WHAT.
On the linux computer, I have run the terminal commands "cupsctl --share-printers" and "lpadmin -p MP160 -o printer-is-shared=true"
On the macs, I have run "cupsctl BrowseRemoteProtocols=cups" (although now it seems this is no longer in the cups 1.6svn documentation) I have tried other variations such as cupsctl 'BrowseRemoteProtocols="cups dnssd lpd smb"' and have lost track of what where. I see in the 1.5 documentation to run cupsctl 'BrowseLocalProtocols="cups dnssd lpd smb"' on ther server?....
If I look at the cups 1.6svn help, under "whats new for 1.6", it tells me what's new for 1.5, the same exact page that is on cups 1.5.3. But if I look at Help->Getting Started -> Printer Sharing, the documentation is very different between 1.5.3 and 1.6svn. I will try to post both in other replies.
I hope this works.
Here is the help page "Printer Sharing" for cups 1.5.4
This document discusses several ways to configure printer sharing.
A "server" is any machine that communicates directly to a printer. A "client" is any machine that sends print jobs to a server for final printing. Clients can also be servers if they communicate directly with any printers of their own.
By default, CUPS uses the Internet Printing Protocol (IPP) to send jobs from a client to a server. When printing to legacy print servers you may also use the Line Printer Daemon (LPD) when printing to older UNIX-based servers or Server Message Block (SMB) when printing to Windows® servers.
Clients can automatically discover and access shared printers via CUPS browsing, IPP, Service Location Protocol (SLP), and Lightweight Directory Access Protocol (LDAP). DNS Service Discovery (DNS-SD a.k.a. Bonjour®) and SMB browsing can also be used to manually discover and access shared printers.
You must enable printer sharing on the server before clients can print through it. The simplest way to do this is to use the cupsctl(8) command on the server:
By default, the above command will allow printing from other clients on the same subnet as your server. To allow printing from any subnet, use the following command instead:
cupsctl --share-printers --remote-any
Next, you need to choose which protocols to use for printer sharing. The default is CUPS browsing and DNS-SD on Mac OS X and CUPS browsing alone on other platforms. To set the sharing protocols, run the cupsctl command to set the BrowseLocalProtocols value. For example, run the following command to allow shared printing via CUPS, DNS-SD, LPD, and SMB:
cupsctl 'BrowseLocalProtocols="cups dnssd lpd smb"'
CUPS browsing works by periodically broadcasting information about printers that are being shared to client systems on the same subnet. Each client maintains its own list of shared printers, and when more than one server shares the same printer (or the same kind of printer) the client uses all of the servers and printers to provide high-availability and failsafe printing.
To configure printers on the same subnet, do nothing. Each client should see the available printers within 30 seconds automatically. The printer and class lists are updated automatically as printers and servers are added or removed.
Due to user interface changes in Mac OS X 10.5, CUPS shared printers will not automatically appear in the print dialog. Instead, you must first run the following command to enable CUPS browsing on your system:
Then choose each of the CUPS shared printers you want to see in the print dialog by adding them, either from the Add Printer... item in the print dialog or from the Print & Fax preference pane in the System Preferences window.
You can automatically access printers on other subnets by adding
BrowsePolllines to the cupsd.conf file on your local system. For a single server you can use the cupsctl command:
For multiple servers, use the CUPS web interface (http://localhost:631/admin) to edit the configuration file instead. Enter one
BrowsePollline per server at the bottom of the file, as follows:
BrowsePoll server1:port BrowsePoll server2:port BrowsePoll server3:port
If you have more than one client on your subnet that wants to see the printers on those servers, add a
BrowseRelyline to the cupsd.conffile on your local system using the cupsctl command:
cupsctl 'BrowseRelay="127.0.0.1 @LOCAL"'
or CUPS web interface (again, at the bottom of the file):
BrowseRelay 127.0.0.1 @LOCAL
CUPS can be configured to run without a local spooler and send all jobs to a single server. However, if that server goes down then all printing will be disabled. Use this configuration only as absolutely necessary.
The default server is normally the local system ("localhost"). To override the default server create a file named /etc/cups/client.conf with a line as follows:
The server name can be the hostname or IP address of the default server. If the server is not using the default IPP port (631), you can add the port number at the end like this:
The default server can also be customized on a per-user basis. To set a user-specific server create a file named ~/.cups/client.confinstead. The user client.conf file takes precedence over the system one.
Finally, you can set the
CUPS_SERVERenvironment variable to override the default server for a single process, for example:
CUPS_SERVER=server:port firefox http://www.cups.org
will run the Firefox web browser pointed to the specified server and port. The environment variable overrides both the user and systemclient.conf files, if any.
The most tedious method of configuring client machines is to configure each remote queue by hand using the lpadmin(8) command:
lpadmin -p printer -E -v ipp://server/printers/printer
The printer name is the name of the printer on the server machine. The server name is the hostname or IP address of the server machine. Repeat the lpadmin command for each remote printer you wish to use.