Yesterday I finally had to buy a home laser printer. I was hardly bounded by the price --- less then 5000 rubles (about 85$). It was principally because in that case my wife's employer would agree to offset the costs. The second challenge - it must be integrated into home network. Every home computer despite it's operation system --- Linux, IOS, Android or Windows could be able to use it. The cost of service important too, so I don't want to face with chip cartridges or something similar. Summarizing the requirements I stopped at Kyocera, HP and Brother. HP could suggest only simple models at that price, Brother's software frighted, so I have chosen Kyocera p2135d, but It wasn't easy to connect it to my gentoo server.

Cups tuning

Thanks to Kyocera there is no problems with getting Linux software --- it's available at their website. Latest version 8.1404. If you have exotic Linux distro (like my gentoo) don't use the installer. It has hardcoded installation paths (which in my case were wrong) and some not very useful utilities. Only thing is needed - special filter program and PPD file.

I plugged printer into my home server, emerged cups, tuned it:

Listen 192.168.3.3:631
Listen localhost:631

...

<Location />
    Order allow,deny
    Allow localhost
    Allow 192.168.3.*
</Location>

and fired server's browser with http://localhost:631. In printer adding wizard chose offered usb://Kyocera and selected PPD from the driver's package. And here come some problems.

Troubleshooting

PPD uses kyofilter_C utility, and searches it at /usr/lib/cups/filter. My cups distro uses /usr/libexec/cups path. Firstly I created /usr/lib/cups/filter manually and copied utility into the directory. Off course I have forgotten, that my server's OS is i686 --- not 64bit. After correctness, i've got the following error:

E [27/Mar/2015:22:40:09 +0400] NxPrinter: File "/usr/lib/cups/filter/kyofilter_C" has insecure permissions (0100555/uid=1000/gid=1000).
E [27/Mar/2015:22:43:50 +0400] NxPrinter: Directory "/usr/lib/cups/filter" has insecure permissions (040755/uid=1000/gid=1000).

my fault, fixed:

drwxr-xr-x 2 root root 4,0K мар 27 23:48 /usr/libexec/cups/filter
-rwxr-xr-x 1 root root 362K мар 27 22:38 /usr/libexec/cups/filter/kyofilter_C

I thought it was the final issue, but the new error was^

D [27/Mar/2015:22:56:48 +0400] [Job 3] execv failed: Permission denied
D [27/Mar/2015:22:56:48 +0400] [Job 3] PID 16490 (/usr/lib/cups/filter/kyofilter_C) stopped with status 113 (Permission denied)

For an hour I couldn't understand what was going on. Finally I copied the filter into standard /usr/libexec/cups/filter directory and fixed the path directly in the PPD file. After that printer friendly buzzed, printing the test page.

Clients setup

Linux

We just need to correct /etc/cups/client.conf:

ServerName 192.168.3.3

Windows

Windows OEM PCL driver could be found at kyocera US. In the printer adding dialog use the following path:

http://192.168.3.3:631/printers/<PrinterName>

set correct printer name and provide correct driver.


Comments

comments powered by Disqus