Your decision is very understandable as from your point of view it must have been very frustrating going through this exercise. It has been a real eyeopener for me because on the surface it makes absolutely no sense. I was apprehensive about your topic but I did think this would be an easy exercise to test some of my usb printer knowledge.
You may well feel you got no-where but I can assure you that I have learned a lot, or should I say have consolidated my understanding of how the usb printer system works. Thank you for hanging in for so long.
I have been working ahead a bit while the thread unfolded and have figured out a test using a liveCD I will still add this here for my own record when I save the whole thread.
You have indicated that other distros also fail to drive the printer. Therefor the following may not be of any help for you but it will be a good starter for anybody having real usb printer connection problems. A liveCD from a new ISO is a basic running system which needs updating before it is complete. The liveCD before updating for example do not have CUPS installed and neither has it been customised in any way by the operator therefore in this form it is a great reference system for specific jobs.Start a liveCD
The following tests using any usb connected printer and will show if the printer channel is established. All that is needed is konsole and kwrite in the case of postscript enabled printers, ie generally laserjet printers. The idea is just to send a few characters to the printer and eject the page.
When a usb printer is connected a dynamic device file is created, without such the print channel will not work. The device can be found in /dev/usb/
before a usb printer is connected, or if it is turned off:
From a root konsole:
[root@KDE-mini-Cprog ~]# ls -l /dev/usb/
ls: cannot access /dev/usb/: No such file or directory
After usb printer is connected or turned on:
[root@KDE-mini-Cprog ~]# ls -l /dev/usb/
crw-rw---- 1 lp sys 180, 0 Apr 10 11:03 lp0
It does not matter what sort of printer that has been connected, if the line with the lp0
shows then the next step of sending a few characters can be tried. (If more than one usb printer connected it can be tricky, if all is well then for second usb printer another line should appear with lp1
) The following should work on any system, again use root konsole:
[root@KDE-mini-Cprog ~]# echo -en "\n\r\n\rHello\r\f" >/dev/usb/lp0
In this case the word Hello
will be printed at the top of a sheet and the sheet ejected, of course the message can be anything.
\n\r = LF\CR a new line
\r\f = CR\FF a form feed, this will eject the page.
Above is assuming that a postscript printer automatically understands an ascii stream, my understanding was that they all do. This should however be checked with the specifications. If automatic recognition is not occurring it will very likely cause printer confusion, often random printing and lots of sheets being printed or just ejected. The situation is rather panicky if you have a full 250 or 500 sheet tray.
When doing the test, to be safe just have a few sheets in any tray so you can calmly wait till all sheets gone and then turn the power off and on again to reset the printer. If the paper tray is easy to remove, it could be pulled out as well during the episode, and then power off.
The situation is a bit upsetting as a fast printer can spit out pages impressively and if one is not right near the printer at the time many pages may have been pulled through.
In the case of a postscript printer which does not auto recognise an ascii stream the test should be done with a 'proper' postscript formatted page. A simple postscript file easily made as linux base print output files are in postscript layout format.
Open Kwrite (or probably any editor that can print a file) type a few words and save this file as /home/postscript_test_file.ps
remember this is a liveCD so I have elected to save the file in a very simple location easy to remember, the file of course will vanish when the liveCD removed. (unlikely to be running with persistence). When printing from liveCD there are no physical printer drivers so you choose
the option print to postscript file
do not use pdf. When the file is saved a simple cat
[root@localhost ~]# cat /home/postscript_test.ps > /dev/usb/lp0
The postscript file to send a few characters will be about 20kB and it is ascii content so can easily be displayed in Kwrite and looking inside the file can be quite instructive, I recommend looking inside the test file.
In principle the first echo line should be enough to prove the print channel is working for any usb printer. I had checked the manual for the Kyocera FS1350DN available in Australia which indicated that ascii is recognised but when Bill_Hwy tested, my interpretation of what he wrote here in the thread was that auto recognition had not worked, the echo
statement got to the printer it seems but something went wrong. I assumed that since the printer has postscript emulation a postscript file must be sent. This is not clear to me if the postscript file was tried.
Naturally there is the possibility that something has been configured differently in the full working system that Bill_Hwy is using, I have no idea what this might be so as a last attempt I worked out the general liveCD test for usb printers.
In my opinion if the above echo
test fails something is wrong, in case you are testing a postscript capable printer the second cat
method can be tried and if this fails as well it is not looking good.