• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

Preview of CUPS 1.3.7

Started by Pete, 2008.06.11, 16:55:52

Previous topic - Next topic

Pete

http://www.os2world.com/content/view/18098/2/
QuotePosted by Martin Iturbide - Wednesday, 11 June 2008


According. .. .

Hi All

Having been involved in a bit of testing of recent cups packages I have to say that Paul is doing a good job here.

I have tested both a HP Business Inkjet 2250, a postscript printer, and a Canon PIXMA iP4000, a raster printer that works like a postscript printer using cups.

Both print fairly well using the cups package directly to print the supplied test pages.


To get eCS (OS/2) applications to print via cups does need a little more work.

The PIXMA printer obviously does not have an eCS(OS/2) postscript printer driver. It is necessary to add the correct PPD file from the cups package to the existing OS/2 pscript.drv file, create a printer object for that printer and use ecups printer port as the output port with that port set to print to localhost, printer PIXMA.


Then I can use the printer to successfully:-

print multiple page documents from OpenOffice115 for Windows - running in eCS1.2R+ by the simple expedient of using ar5os2.exe (the alternative to Odin) to provide the necessary win32 environment and support.

print images from PMView2000


Earlier cups builds had problems with both of the above.


Paul is currently working on a printer port package that will replace the ecups printer port and libcups.dll file which were not built to work with this version of cups but do - the downside is that ecups may cause problems with shared memory after a little use.


I think cups is really starting to look like the future of printer drivers in eCS - especially for those of us who have relatively current printers that are not well supported, if at all, by the original OS/2 printer driver packages.


Hopefully a few other people will join in some testing - the more printers tested the better - and help Paul iron out any remaining bugs  :-)


Regards

Pete








DavidG

I would like to, however, my laptop only has a USB port for my printer.  I have no lpt port.  I noticed in Paul's email that he sent out that USB support will be the last thing done.  As a result, I won't be able to help.

David

Pete

Quote from: David Graser on 2008.06.12, 02:37:16
I would like to, however, my laptop only has a USB port for my printer.  I have no lpt port.  I noticed in Paul's email that he sent out that USB support will be the last thing done.  As a result, I won't be able to help.

David


Hi David

Ahh... but you will  :-)

You will want USB support and Paul will want testers when he gets to adding USB support...   :-)

Regards

Pete

BigWarpGuy

Quote from: Pete on 2008.06.12, 04:08:08
Quote from: David Graser on 2008.06.12, 02:37:16
I would like to, however, my laptop only has a USB port for my printer.  I have no lpt port.  I noticed in Paul's email that he sent out that USB support will be the last thing done.  As a result, I won't be able to help.

David


Hi David

Ahh... but you will  :-)

You will want USB support and Paul will want testers when he gets to adding USB support...   :-)

Regards

Pete

I would love to give it a try. My printer only has an USB port.

David McKenna

  You can get a USB printer to work, it just takes a little more tweaking. From the README:

    * currently tested printer backends are ipp & lpd - usb isn't working. However, in the meantime, you can create a printer object for the USB printer, and run the OS/2 lpd daemon and print to a usb printer using the lpd backend in cups.


Dave McKenna

Paul Smedley

Quote from: David McKenna on 2008.06.13, 00:14:16
  You can get a USB printer to work, it just takes a little more tweaking. From the README:

    * currently tested printer backends are ipp & lpd - usb isn't working. However, in the meantime, you can create a printer object for the USB printer, and run the OS/2 lpd daemon and print to a usb printer using the lpd backend in cups.

Of course _I_ knew what I meant by the above - but seems it confused many people :/

What I _meant_ was that printing directly to usb printers, without using lpd as an intermediary, is not currently supported.

It is straight forward to add a printerobject with the IBM NULL driver that prints to the USB port, then use the IBM lpd daemon to print to that port.

Cheers,

Paul.

Blonde Guy

I'm interested in organizing eCups. I'm sure I'm not the only one who has trouble running a Unix program on eCS.

I looked at the readme.os2 file included in the latest eCups, and for now, I'm ignoring the stuff that could never go out in a GA product. I just want to run what others have got for now.

I unzipped eCups to a directory of my choosing, and then used xcopy to copy the \gs, \cups and \gutenprint directories to the root of my boot drive (yuck...)

I added libc064x.dll to the \cups\sbin directory.
I changed  my directory to \cups\sbin
I type cupsd
It returns instantly.
A process list does not reveal and cupsd.exe
Using REXXTRY, I can see that cupsd returns -1 when starting.

OK, so far my test isn't going very well.

Once I have cups working on my machine, I'll repackage it so people like me can use it.

I am grateful to Paul for getting this compiled and to everyone who's tested it, and to Roderick for pushing me to take on this project. I hope you'll read this and give me the help I need.
Expert Consulting for OS/2 and eComStation

Pete

Hi Blonde Guy

I may be wrong but as cups works fine with the libc064x.dll in a directory on the LibPath, \ecs\dll (\os2\dll is an alternative),  I suggest that you move the libc064x.dll file from \cuips\sbin to somewhere on the LibPath.

I'm not quite sure what you mean by "repackage it" but I am currently in the process of creating a "How To" that may be of help to you when it is finished - I have plans on posting it on os2world but you would be welcome to use it in your "repackaging".

I must admit that I've had a few thoughts about how to put all this together as something that us mere mortals can install and use. I think the steps involved go something like this:-

Unzip all required packages: - the cups package, the ecups printer port package, the instpdr package, postscript driver package 30_822 (because 30_827 is crap and does not work: In fact, Remove any exiosting 30_827 instaalation before starting to avoid problems) and a package that would go through the cups supplied PPD file and remove all lines that start with *Stpstp - these lines will cause problems for OS/2 postcript output.

Next walk/guide the user through the configure the cups printer using the cups browser interface - a byproduct of this is that the PPD file required to add to the OS/2 postscript printer driver is then untgz'd to
\cups\etc\cups\ppd\printer_name.ppd

Having configured the cups printer it is then necessary to create an OS/2 postscript driver for the printer involved. This involves editing the \cups\etc\cups\ppd\printer_name.PPD file to remove all lines starting *Stpstp and then using instpdr to add the necessary PPD file to the 30_822 pscript.drv

Then the user has to go through the Install Local Printer routine and create the required Printer object. That printer needs to have output directed through a port, ecups.pdr, which will need installing at the same time. The port would point to localhost (127.0.0.1) and use the printer name given to the cups printer.

I think that Paul is currently working on a replacement for the existing ecups.pdr which requires another dll, libcups.dll, in order to work.


Be nice to see it all put together in 1 nice'n'easy to install package  :-)

Have fun

Pete


Paul Smedley

Quote from: Blonde Guy on 2008.06.16, 17:57:38
I'm interested in organizing eCups. I'm sure I'm not the only one who has trouble running a Unix program on eCS.

I looked at the readme.os2 file included in the latest eCups, and for now, I'm ignoring the stuff that could never go out in a GA product. I just want to run what others have got for now.

I unzipped eCups to a directory of my choosing, and then used xcopy to copy the \gs, \cups and \gutenprint directories to the root of my boot drive (yuck...)

I added libc064x.dll to the \cups\sbin directory.
I changed  my directory to \cups\sbin
I type cupsd
It returns instantly.
A process list does not reveal and cupsd.exe
Using REXXTRY, I can see that cupsd returns -1 when starting.

OK, so far my test isn't going very well.

Once I have cups working on my machine, I'll repackage it so people like me can use it.

I am grateful to Paul for getting this compiled and to everyone who's tested it, and to Roderick for pushing me to take on this project. I hope you'll read this and give me the help I need.

Well for starters (based on the comment on the readme file) - the package is clearly labelled as a preview.

The readme also warns that things must be installed off the root - but there is no need for it to be the _boot_ drive.

With reference to 'I'm ignoring the stuff that could never go out in a GA product' - feel free to offer an improved readme file - I've long said I hate writing documentation...

The whole thing could probably be packaged up with warpin - with the libc path rewriter used to take care of the path issues, avoiding the need to install the different parts in the root directory, however this isn't something I've spent any time on yet.  I think there's more pressing issues like making the CUPS/Gutenprint/Ghostscript backend solid, a working port driver, a tool to import the gutenprint PPD files, and a usb backend rather than spending time on any 'repackaging'.

I wonder if Alex Taylor could improve instpdr so that it could strip out the *StpStp lines and handle the 'un' gzip of Gutenprint ppd files - that would help get us one step closer.

On the cupsd not starting - debug logging might help.  Config file is in /cups/etc/cups/cupsd.conf - log file is in /cups/var/log/error_log

Pete's point may be valid though - if the current working directory isn't /cups/sbin - it may not be finding the necessary libc file.

Paul Smedley

Hi Pete,

Quote from: Pete on 2008.06.17, 04:06:16
I'm not quite sure what you mean by "repackage it" but I am currently in the process of creating a "How To" that may be of help to you when it is finished - I have plans on posting it on os2world but you would be welcome to use it in your "repackaging".

Personally, I'd like to see any howto's added to the wiki at http://svn.netlabs.org/ecups to keep all parts of the project in one place....

Blonde Guy

#10
Hey, thanks Paul and Pete.

I don't mind updating the Wiki at http://svn.netlabs.org/ecups once I've got it working properly. I wrote the WarpIN installer for PMMail, and I'm comfortable with the tool.

I've ported unix apps to OS/2, and I don't really enjoy it. But I don't mind writing installers, documentation and a  bit of code here and there to glue it all the ported apps together.

I have now tried to turn on debugging, but I'm still seeing an instant return from cupsd.exe with rc = -1. What I tried to do was change \cups\etc\cups\cupsd.conf to have the following line

LogLevel debug

OK, I see what's wrong. There is no \cups\var\log directory. When I create one, this file is created -
\cups\var\log\cups\error_log

I [16/Jun/2008:20:47:28 +0800] Listening to 127.0.0.1:631 (IPv4)
I [16/Jun/2008:20:47:28 +0800] Listening to /cups/var/run/cups/cups.sock (Domain)
I [16/Jun/2008:20:47:28 +0800] Loaded configuration file "/cups/etc/cups/cupsd.conf"
D [16/Jun/2008:20:47:28 +0800] Creating missing directory "/cups/var/spool/cups"
E [16/Jun/2008:20:47:28 +0800] Unable to create directory "/cups/var/spool/cups" - No such file or directory

If I create \cups\var\spool, then run cupsd, it writes this to the log

I [16/Jun/2008:20:50:00 +0800] Listening to 127.0.0.1:631 (IPv4)
I [16/Jun/2008:20:50:00 +0800] Listening to /cups/var/run/cups/cups.sock (Domain)
I [16/Jun/2008:20:50:00 +0800] Loaded configuration file "/cups/etc/cups/cupsd.conf"
D [16/Jun/2008:20:50:00 +0800] Creating missing directory "/cups/var/spool/cups"
D [16/Jun/2008:20:50:00 +0800] Repairing ownership of "/cups/var/spool/cups"
D [16/Jun/2008:20:50:00 +0800] Repairing access permissions of "/cups/var/spool/cups"
D [16/Jun/2008:20:50:00 +0800] Creating missing directory "/cups/var/cache/cups"
E [16/Jun/2008:20:50:00 +0800] Unable to create directory "/cups/var/cache/cups" - No such file or directory

If I then create \cups\var\cache, then it runs. I can see the web page on http://localhost:631

I'll be posting again, soon, I think.

I just made myself an account on freenode, and I'll be on #netlabs as Blonde_Guy.

Minor edit -- I got on the web interface, defined a printer, imported the PPD file and printed the test page.
Okidata C5300 printer. The test page defaulted to A4, but my printer is loaded with US letter size.
Expert Consulting for OS/2 and eComStation

Paul Smedley

Quote from: Blonde Guy on 2008.06.17, 06:57:27
Hey, thanks Paul and Pete.

I don't mind updating the Wiki at http://svn.netlabs.org/ecups once I've got it working properly. I wrote the WarpIN installer for PMMail, and I'm comfortable with the tool.

I've ported unix apps to OS/2, and I don't really enjoy it. But I don't mind writing installers, documentation and a  bit of code here and there to glue it all the ported apps together.

I have now tried to turn on debugging, but I'm still seeing an instant return from cupsd.exe with rc = -1. What I tried to do was change \cups\etc\cups\cupsd.conf to have the following line

LogLevel debug

OK, I see what's wrong. There is no \cups\var\log directory. When I create one, this file is created -
\cups\var\log\cups\error_log
<snip>
If I then create \cups\var\cache, then it runs. I can see the web page on http://localhost:631
<snip>
Minor edit -- I got on the web interface, defined a printer, imported the PPD file and printed the test page.
Okidata C5300 printer. The test page defaulted to A4, but my printer is loaded with US letter size.

I just checked - the latest package which will be available shortly does already include the directories you mention.

I think all the Gutenprint PPD files default to A4 - after all - everyone should use that size paper - the metric system you know :)

BigWarpGuy

I never knew what that paper was. Thank for the information.  8)

Pete

Quote from: Paul Smedley on 2008.06.17, 05:57:48

I wonder if Alex Taylor could improve instpdr so that it could strip out the *StpStp lines and handle the 'un' gzip of Gutenprint ppd files - that would help get us one step closer.



Hi Paul

No need to "ungz" the PPD file - cups does that for you  :-)

I noticed this awhile back: When creating a printer eg PIXMA the selected *.ppd.tgz file ends up ungz'd as \cups\etc\cups\ppd\PIXMA.ppd

1 less step to undertake.  :-)

Pete

Pete

Quote from: Paul Smedley on 2008.06.17, 06:00:37
Hi Pete,

Quote from: Pete on 2008.06.17, 04:06:16
I'm not quite sure what you mean by "repackage it" but I am currently in the process of creating a "How To" that may be of help to you when it is finished - I have plans on posting it on os2world but you would be welcome to use it in your "repackaging".

Personally, I'd like to see any howto's added to the wiki at http://svn.netlabs.org/ecups to keep all parts of the project in one place....


Hi Paul

Happy to oblige with your request  :-)

Regards

Pete