Hi I have two printers one on a file server with windows 2003, and other with windows XP. The thing is that when i try to print from my machine, my file stays in queue for ever, it says 64kb out of whatever the file i send. I have seen similar problems with some machines that run on Mac OS X. The windows machines apparently have no problems printing. They are not connect through active directory, just the network. In the past I have seen people install non microsoft windows Printer server on windows, i dont remember the name of any of the programs. I have being googling a lot and have not found anything to replace the microsoft print spooler service, maybe i am mistaken. Everyday I have to restart the print spooler service i even created a bat file for it. I am out of ideas here.
-
What machine are you trying to print from? Does it have the latest drivers for the printer? What sort of printer is it? – Grizly Sep 03 '10 at 06:22
-
From 2 ibook pro with Leopard, and my machine that has fedora 12. Both of them have the latest drivers. One of the printers is HP PSC 1440 all-in-one plugged to a machine with windows 2003, there are no drivers for Windows 2003 I installed the ones for XP. I thought that might be the problem but then again the same thing happen with the other printer a HP deskjet 2118 plugged to a machine with windows XP. Basically I created a script that does this net stop spooler del %rootdir%/system32/spool/printer/* net start spooler to fix the problem when it happens – Juan Diego Sep 04 '10 at 03:20
2 Answers
Here is something you can try.
It helps a lot in most cases when you have printing woes from Unix system to Windows.
- On the Windows box enable the 'Unix printing services". It is an optional Windows component available through Control Panel - Add/remove Windows components. (It adds a System-V compatible LPD print-spooler to Windows.)
- Rename the printer (in Windows) to a short (< 15 character) name without spaces or other special characters. (Like "Deskjet2118" instead of "Hp Deskjet 2118".) This is not always needed but some Unix systems don't like printernames with spaces/special characters.
- On the Unix (Linux/OSX) side change the printer to use a LPR queue instead of SMB or IPP based printing.
This improves both throughput and reliablility.
It also ensures that the Windows printer-drivers don't mess with the print-jobs coming from the Unix side. In fact you can even setup the printer in Windows as a "Generic/Text only" driver and the Unix-like systems will still be able to print.
There is one situation where this is not going to help you: If the printer itself is a so-called WinPrinter.
That means that the printer doesn't have full-fledged firmware on-board, but needs assistance from the printer-driver, that pre-processes the print-job into something the limited printer can understand.
Such functionality is usually only present in the Windows drivers making the printer only usable in Windows systems.
In that case you are just out of luck.
![](../../users/profiles/70964.webp)
- 6,252
- 1
- 17
- 31
You might want to make sure the file system on the print server is "healthy" along the lines of:
- good chkdsk state
- no stranded temp or spool files in their respective directories
![](../../users/profiles/48838.webp)
- 7,393
- 2
- 17
- 14
-
The thing is when i send files to print from a mac or linux machine they get stranded for ever at 64kb/out of the actual size, i left them over the weekend once to see what was going on, and they got stuck. With good chkdsk state, you mean that i should check that the disk is working fine on the windows machines ?? – Juan Diego Sep 04 '10 at 03:23
-
Yes, a good chkdsk state is pretty reliable to bank on, but it does not mean that the working files (in this case stray temp and/or spool files) are not in a less-than-functional state. – user48838 Sep 04 '10 at 06:28