Posted on 09-21-2022 08:23 AM
Hallo everyone
Need some help with understanding how the printing works on the macos.
Previously I always have set up the printers in our jamf Pro Server and it works all fine. We need only the standard printing(keeping it simple).
Now I have to set up a new canon Uniflow printer available in every office with different models. How do I get the printer driver, which can be different for each printer?
The Printers in our company are configured on a win print server and the driver used on windows devices is: Canon Generic Plus PCL6. How do I get the driver for the printer?
I can access the smb share where the printers are.
While configuring the printer, I couldn't figure one which ppd file to choose from the list. So I chose the Generic.ppd.
Again the question, which PPD file shoud be chosen for the various printer?
I have been digging for Information on how the printing works on macos. really confusing for something very simple.
Can someone show me the right path for this?
Thanks
Best regards
Mehdi
Solved! Go to Solution.
Posted on 09-21-2022 11:30 AM
Printing on macOS uses something called CUPS (Common Unix Printing System). However, the basic fundamentals of printing on macOS are the same as printing on Windows.
If you can get the printer to function locally on the Mac, adding it to JAMF is a simple matter. Managing Printers - Jamf Pro Administrator's Guide | Jamf
You can get in to the weeds with protocols (LPD, SMB, ext), just use whatever the vendor recommends. Odds are with it being a Windows Print Server it will be SMB. MacOS prefers LPD but that may need extra configuration on the server, and macOS will usually work with SMB.
Keep printer nightmare in the back of your mind with this. A LOT has changed in printing encryption and authentication in the past year. Depending on the configuration of your Print Server and what version of macOS you are using it may flat out just not work. I can write a book just on this and its workarounds, I'll save that for if you ask for it.
TL;DR:
Start with the driver. Reach out to the vendor to see if they even support their printers or print servers on macOS. If they dont support macOS, you will be finished before you even start.
Posted on 09-22-2022 06:52 AM
Policy looks good to me. So long as those mappings work on the device you grabbed them from, and the drivers are correct this should work like a champ.
If you are getting the authentication pop that means the handshake with the printer (or print server) is working and its asking who you are. That is a good thing. Honestly the steps where you are at is really your print teams problem. The Job left the Macs Printer queue, its up to the printer team to figure out if the Job made it to the printer (if it left the Macs printer queue it made it to the printer). The can check the printer queue for jobs with your ID (since you authenticated) or jobs that arrived around the time you printed, I'd let them figure out how they want to find the job. I have seen jobs come through with the SVC Account that mapped printers, that is a setting wrong on the print server if they see this.
The next part is if the drivers actually worked. The printer could still not print correctly if the driver you used is not using the correct "language" as the printer. If your job printed right, I'd just leave it. If it not print correctly your printer people need to source a driver to give you. Push sourcing the driver off on the printer team. If there are no drivers for macOS it is on the printer team to say that printing is not supported on macOS and explain why to the higher ups. The Printer team should also be responsible for finding a printing solution for Macs.
Things to check.
Once you have logs you can move on from there. This is an example of what a successful print access_log would look like. If you get something like this, you are done. The job is leaving the Macs printer queue. What the job looks like on the other side is your Print teams problem. Focus on the Job leaving the Mac's printer queue.
localhost - root [22/Sep/2022:08:28:26 -0500] "POST /admin/ HTTP/1.1" 200 645366 CUPS-Add-Modify-Printer successful-ok
localhost - - [22/Sep/2022:08:31:18 -0500] "POST /printers/iPrint___B_W HTTP/1.1" 200 978 Create-Job successful-ok
localhost - - [22/Sep/2022:08:31:18 -0500] "POST /printers/iPrint___B_W HTTP/1.1" 200 541 Send-Document successful-ok
localhost - - [22/Sep/2022:08:31:19 -0500] "POST / HTTP/1.1" 200 437 CUPS-Get-Document successful-ok
If you are missing drivers the error_log will look something like this. The log will also have information on why a job failed, though its not the most user friendly logging.
E [22/Sep/2022:08:03:20 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/CommandFileFilterG2.bundle/Contents/MacOS/CommandFileFilterG2” not available: No such file or directory
E [22/Sep/2022:08:03:20 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/rerouteprintoptionG2” not available: No such file or directory
E [22/Sep/2022:08:22:58 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/CommandFileFilterG2.bundle/Contents/MacOS/CommandFileFilterG2” not available: No such file or directory
E [22/Sep/2022:08:22:58 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/rerouteprintoptionG2” not available: No such file or directory
MacOS should also bark back with an error when you try to print.
Posted on 09-21-2022 10:24 AM
A quick search on Canon's website indicates that the Uniflow printer doesn't have any macOS driver. Sometimes these drivers are provided by Apple but not always. The only way you could possibly do this is using a Generic driver, but you will get no features. Just a simple point-and-click black and white laser printer that will only really be good for printing basic documents. No duplex, choosing a tray, cover pages, security, etc.
In macOS, the main printing protocol for printing in an office environment is LPR. PPDs most of the time are installed through a manufacturer's installation package but also can be auto-detected and downloaded from Apple when creating a queue (direct-to-printer only).
In the scenario you described, you can either send LPR jobs directly to the printer, or through the print server. In order to go through a Windows Print Server, your sysadmin needs to actually make sure it's enabled/installed as it's an optional part of Windows Server.
Once Windows Server is configured for LPR, you install the print driver on the Mac. set up a queue on macOS using the DNS name of the print server as the printer name and the printer share name as the queue. Then, you will select the appropriate PPD and set up your custom settings, if applicable.
To push out in your environment, use Jamf Admin to capture the queue, and push out the manufacturer's installation package and the queue either through Jamf Remote or a policy.
Good luck.
Posted on 09-21-2022 11:30 AM
Printing on macOS uses something called CUPS (Common Unix Printing System). However, the basic fundamentals of printing on macOS are the same as printing on Windows.
If you can get the printer to function locally on the Mac, adding it to JAMF is a simple matter. Managing Printers - Jamf Pro Administrator's Guide | Jamf
You can get in to the weeds with protocols (LPD, SMB, ext), just use whatever the vendor recommends. Odds are with it being a Windows Print Server it will be SMB. MacOS prefers LPD but that may need extra configuration on the server, and macOS will usually work with SMB.
Keep printer nightmare in the back of your mind with this. A LOT has changed in printing encryption and authentication in the past year. Depending on the configuration of your Print Server and what version of macOS you are using it may flat out just not work. I can write a book just on this and its workarounds, I'll save that for if you ask for it.
TL;DR:
Start with the driver. Reach out to the vendor to see if they even support their printers or print servers on macOS. If they dont support macOS, you will be finished before you even start.
09-22-2022 12:33 AM - edited 09-22-2022 12:34 AM
Hi AJPinto
Thanks alot for the clarification.
I have added the printer on the jamf server using the smb:
Printer Setting are kept simple:
Cupsname: name of the printer Uniflow
Model: Blank (No Model for the canon Uniflow)
Device URL: SMB path
User generic PPD is checked as true.
I have contacted the printing department for the printer driver. As always, they know nothing about mac but they have contact the ventor for the driver, if the printer is supported for the macOS.
Strange enough, I had a Model Name of the old printer and installed the driver with the printer.
when I test to print something, it ask me to authenticate and the authencation is also successfull.
The Document dispears from the queue and sent to printer.
Look likes it worked. I dont have any printer near me to check, if the document gets printed. That makes the troubleshooting more defficult and going to try it with user.
Posted on 09-22-2022 06:52 AM
Policy looks good to me. So long as those mappings work on the device you grabbed them from, and the drivers are correct this should work like a champ.
If you are getting the authentication pop that means the handshake with the printer (or print server) is working and its asking who you are. That is a good thing. Honestly the steps where you are at is really your print teams problem. The Job left the Macs Printer queue, its up to the printer team to figure out if the Job made it to the printer (if it left the Macs printer queue it made it to the printer). The can check the printer queue for jobs with your ID (since you authenticated) or jobs that arrived around the time you printed, I'd let them figure out how they want to find the job. I have seen jobs come through with the SVC Account that mapped printers, that is a setting wrong on the print server if they see this.
The next part is if the drivers actually worked. The printer could still not print correctly if the driver you used is not using the correct "language" as the printer. If your job printed right, I'd just leave it. If it not print correctly your printer people need to source a driver to give you. Push sourcing the driver off on the printer team. If there are no drivers for macOS it is on the printer team to say that printing is not supported on macOS and explain why to the higher ups. The Printer team should also be responsible for finding a printing solution for Macs.
Things to check.
Once you have logs you can move on from there. This is an example of what a successful print access_log would look like. If you get something like this, you are done. The job is leaving the Macs printer queue. What the job looks like on the other side is your Print teams problem. Focus on the Job leaving the Mac's printer queue.
localhost - root [22/Sep/2022:08:28:26 -0500] "POST /admin/ HTTP/1.1" 200 645366 CUPS-Add-Modify-Printer successful-ok
localhost - - [22/Sep/2022:08:31:18 -0500] "POST /printers/iPrint___B_W HTTP/1.1" 200 978 Create-Job successful-ok
localhost - - [22/Sep/2022:08:31:18 -0500] "POST /printers/iPrint___B_W HTTP/1.1" 200 541 Send-Document successful-ok
localhost - - [22/Sep/2022:08:31:19 -0500] "POST / HTTP/1.1" 200 437 CUPS-Get-Document successful-ok
If you are missing drivers the error_log will look something like this. The log will also have information on why a job failed, though its not the most user friendly logging.
E [22/Sep/2022:08:03:20 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/CommandFileFilterG2.bundle/Contents/MacOS/CommandFileFilterG2” not available: No such file or directory
E [22/Sep/2022:08:03:20 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/rerouteprintoptionG2” not available: No such file or directory
E [22/Sep/2022:08:22:58 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/CommandFileFilterG2.bundle/Contents/MacOS/CommandFileFilterG2” not available: No such file or directory
E [22/Sep/2022:08:22:58 -0500] iPrint_BW: File “/Library/Printers/Lexmark/filter/rerouteprintoptionG2” not available: No such file or directory
MacOS should also bark back with an error when you try to print.
Posted on 09-23-2022 12:21 AM
Hi AJPinto
Many many thanks for your help.
I did a clean reset and enrollment on a device and after that, the printer setting looks good. I will check the setting with the printing team and lets see what they have to say about this.
I am installing our old canon driver RN and I hope they can get me a new driver(supported on macOS) for the printing system.
I found a handy command from here to reset the printing system on the macOS. Here is it:
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/PrintCore.framework/Versions/A/printtool --reset -f
maybe this will help someone too.
Again many thanks and wish you all the best
Posted on 09-23-2022 04:56 AM
Woot!!! I am glad to hear you got it working. Though, keep an eye on that driver. MacOS is not very tolerant of outdated software. If something breaks with a macOS update down the road, get that driver updated before doing anything else. When you do get an updated driver, reupload the new printer mappings with the new driver package to JAMF.
If you want to play around more with macOS/Unix print configuration. Enable the CUPS web interface and have fun.
Posted on 10-10-2022 05:27 AM
Hi @MehdiYawari ,
we also started to use it sometime ago but i find distribute the printers with the drivers in that case could be a mistake due to the fact the uniflow printers are cloud based solution, therefore i will suggest you to get from your uniflow tenet the Smartclient which will do all the work for you in that case you just need to deploy the Smartclient to the devices.