# p910nd - The easiest way to set up Network Printing! :-)

## Kai Hvatum

The entire saga of setting up a Samba printer share such that it auto loads windows drivers and "just works" for clients can be difficult. Why not just set up a "dumb" print server and have Linux serve the same function that those cheap $50 networked print servers do? 

Solution I: A "dumb" print server Daemon, runnable under Gentoo.

http://etherboot.sourceforge.net/p910nd/

The P910ND program simply makes your Gentoo Linux server act as a standard TCP/IP Jet Direct print server. Once it is running on a Linux server you can easily set up Windows, Linux or OSX to print to it - after all it's a method of forwarding raw print commands over the network. No messing around with Samba configurations or LPR print clients.

1. Grab the p910nd code from the site above, compile and install.

2. Figure out where your printer is in /dev. My ML-1740 was under /dev/usblp0. If this is the case then the command:

```
./usr/sbin/p910nd -f /dev/usblp0
```

Should work. 

2. Add p910nd as a Daemon to xinetd or whatever else. If you're using xinetd the following should work:

```
p9101 stream tcp nowait root /usr/sbin/p910nd -f /dev/usblp0
```

Solution II: A stand along Network print server boot-able off of a floppy: 

http://members.shaw.ca/nicholas.fong/printsrv/

To add clients follow these instructions. these methods are applicable whether you use the stand alone print server or the p910nd daemon under Gentoo: 

 *Nicholas Fong wrote:*   

> How to setup a client PC to talk to a Print Server.
> 
> Have the appropriate "printer driver" ready, either on a floppy, or on a hard disk, or on a network shared drive. If your printer model is not included in Windows' default list, use the "Have Disk" method. In some situations, you may have to install the printer driver first as if it were hooked up directly to a LPT port.
> 
> g Windows Vista:
> ...

 

----------

## darkphader

 *Kai Hvatum wrote:*   

> The entire saga of setting up a Samba printer share such that it auto loads windows drivers and "just works" for clients can be difficult. Why not just set up a "dumb" print server and have Linux serve the same function that those cheap $50 networked print servers do?

 

It may serve a similar function as a dumb print server but it doesn't come close to replacing Samba/CUPS or just CUPS. It doesn't provide an authentication method. It doesn't provide automatic printer driver download. It doesn't allow for a simple connection to a network share, it needs admin privileges to create a port. It doesn't spool, or do page counting  - unless it's a front end to CUPS. Once you have CUPS you can just use IPP printing (no Samba needed) from any modern client if you want to forgo auto-driver download and Windows authentication.

Just some thoughts...I don't quite see its value but I also admit I haven't used it.

Chris

----------

## Kai Hvatum

 *darkphader wrote:*   

>  *Kai Hvatum wrote:*   The entire saga of setting up a Samba printer share such that it auto loads windows drivers and "just works" for clients can be difficult. Why not just set up a "dumb" print server and have Linux serve the same function that those cheap $50 networked print servers do? 
> 
> It may serve a similar function as a dumb print server but it doesn't come close to replacing Samba/CUPS or just CUPS. It doesn't provide an authentication method. It doesn't provide automatic printer driver download. It doesn't allow for a simple connection to a network share, it needs admin privileges to create a port. It doesn't spool, or do page counting  - unless it's a front end to CUPS. Once you have CUPS you can just use IPP printing (no Samba needed) from any modern client if you want to forgo auto-driver download and Windows authentication.
> 
> Just some thoughts...I don't quite see its value but I also admit I haven't used it.
> ...

 

This takes about two minutes to set up. If you need authentication or auto-driver download then by all means go with CUPS. But if you're looking to share a printer to three or four people in a small office or home then CUPS/IPP requires a lot more setup. This just works, if the printer driver exists for your OS then it will work over the Jet Direct protocol.  :Smile: 

I'm not knocking CUPS, but just look at the thread which explains how to set up IPP with CUPS, a lot of people posting there are just looking to share a printer with one or two other people. A few people even ended up going (back to) with USB print servers because they had problems setting up IPP. For those who just want a really simple dumb print server, requiring about a 60 seconds of setup, this is a good option. No need to use a nuke when all you need to do is swat a fly.  

Remember, active word dumb. For anyone with more complex needs CUPS is the undisputed king.   :Very Happy: 

----------

## darkphader

 *Kai Hvatum wrote:*   

> But if you're looking to share a printer to three or four people in a small office or home then CUPS/IPP requires a lot more setup.

 

Can't see that at all. CUPS is pretty straightforward and is the de facto standard with most distros (and the Mac OSX). IPP is also straightforward and to use it you don't need to add a local port on Windows. Plus, when you're sharing a printer with multiple users you really want spooling.

 *Kai Hvatum wrote:*   

> I'm not knocking CUPS, but just look at the thread which explains how to set up IPP with CUPS, a lot of people posting there are just looking to share a printer with one or two other people. A few people even ended up going (back to) with USB print servers because they had problems setting up IPP.

 

Sorry, don't know which thread you're referring to. But we aren't going to come to agreement on this one. As even when I use a printer with a JetDirect card, or AXIS print server, etc. a system always acts as the print server to handle at minimum the spooling, and all other systems print to it and not directly to a non-spooling device.

Chris

----------

## Kai Hvatum

 *darkphader wrote:*   

>  *Kai Hvatum wrote:*   But if you're looking to share a printer to three or four people in a small office or home then CUPS/IPP requires a lot more setup. 
> 
> Can't see that at all. CUPS is pretty straightforward and is the de facto standard with most distros (and the Mac OSX). IPP is also straightforward and to use it you don't need to add a local port on Windows. Plus, when you're sharing a printer with multiple users you really want spooling.

 

Adding a local port on windows is not hard, takes about thirty seconds. And no, when I'm sharing a printer with three or four people who print on average three of four pages a day, I really don't want to spend an extra nanosecond setting up spooling, because it's a flat waste of time. Trust me, I do know what I want.   :Smile: 

https://forums.gentoo.org/viewtopic-t-110931-highlight-p910nd.html

 *darkphader wrote:*   

>  *Kai Hvatum wrote:*   I'm not knocking CUPS, but just look at the thread which explains how to set up IPP with CUPS, a lot of people posting there are just looking to share a printer with one or two other people. A few people even ended up going (back to) with USB print servers because they had problems setting up IPP. 
> 
> Sorry, don't know which thread you're referring to. But we aren't going to come to agreement on this one. 

 

Sorry, this isn't a matter of agreement or disagreement, it's a flat fact. Just look at the other thread, and you will see that I'm right. 

https://forums.gentoo.org/viewtopic-t-110931-highlight-p910nd.html

Anyway, I really didn't post this to have a CUPS/IPP vs. Samba vs. JetDirect vs. KDE vs. Gnome argument. Just hoped to help a few people out who were in a similiar situation is me, hopefully save them the hour I spent trying to follow the directions in the IPP/CUPS/Samba network printing thread. Arguing about this isn't doing any good, anyone reading this far will have enough information and be able to make the choice as to what will suite them best.

Anyway, I'm out. Have a good one. Hopefully someone might find this information of use.

----------

## darkphader

No, you are not right, you're conflating Samba/CUPS with pure CUPS/IPP.

Just look at the title of the thread you link to:

CUPS+Samba Printer Serving/Sharing with Windows, Linux, BSD---plus automagical Windows Driver Upload.

That thread is titled and mainly concerned with Samba acting as a Windows NetBIOS print server, with auto-driver download, and not direct IPP printing from a Windows client to an IPP server (in this case CUPS) with no Samba involved.

And if your users have to keep resubmitting print jobs because there's no spooling you will soon wish you spent that extra nanosecond (if needed?) - they certainly will wish so.

My stance is that using CUPS and printing via IPP is more robust, simpler and faster than using p910nd.

Robust:

CUPS does spooling, page logging, error logging, access logging. Can be secure, demanding authentication if required.

Simpler:

CUPS is "standard", it is installed by default on every major distro. To install it on Gentoo requires a simple emerge, in case some other package or use flag never managed to pull it in. The distro's packaging system knows about it, and it gets updated normally. It does not have to be downloaded separately, hand compiled, and maintained separately outside the packaging system.

Faster:

On the server side:

In the vast majority of cases CUPS is already installed, for the rest...emerge...go on with your work. Create a raw queue.

For p910nd, download, compile, hack together and install an init script or emerge xinetd (installing another package) and configure.

On the Windows side:

CUPS, 

```
Click Start...Settings, Printers, Add Printers, Network Printer, Connect to a printer...,URL-http://server:631/printers/printer
```

p910nd, 

```
Click Start...Settings, Printers, Add Printers, Local Printer, Create New Port, Choose Standard TCP/IP port,  IP address = 192.168.1.252, port name=PrintSrv, Custom, Settings.. Raw.. Port 9100 
```

Driver installation identical.

Conclusion

More nanoseconds spent installing, configuring, and maintaining p910nd than for CUPS.

More nanoseconds spent configuring the Windows client for JetDirect printing than for IPP printing.

Less functionality with p910nd than with CUPS.

Don't get me wrong. I appreciate your post and finding out about p910nd. I never knew it existed until I read your post. And I can see its use in the case of, as the author states, "p910nd is particularly useful for diskless Linux workstations booted via Etherboot that have a printer hanging off them" (in this case a small outdated system can act as JetDirect device - in a network it will still normally be driven by a front end that spools). But in general I can't see it as a viable replacement on most fronts for simply using CUPS, even in a small home network. In this case I think it's a solution in search of a problem.

Chris

----------

## Kai Hvatum

 *darkphader wrote:*   

> No, you are not right, you're conflating Samba/CUPS with pure CUPS/IPP.
> 
> Just look at the title of the thread you link to:
> 
> CUPS+Samba Printer Serving/Sharing with Windows, Linux, BSD---plus automagical Windows Driver Upload.
> ...

 

There are also a number of people (including myself) who were trying simply to get IPP working. For really basic needs I still maintain that a very simple print server is still a faster route to go with. It also requires less system resources on the server.

And multiple people trying to print at the same time at my house? This will never happen, and if it ever were somehow to happen, I've certainly already spent more time discussing the problem (here) then I could ever possibly spend efficiently addressing it. 

 *darkphader wrote:*   

> 
> 
> More nanoseconds spent installing, configuring, and maintaining p910nd than for CUPS.
> 
> More nanoseconds spent configuring the Windows client for JetDirect printing than for IPP printing.
> ...

 

Fair enough, if it really did take just an extra nanosecond to set up IPP then you would be right,  that was an understatement though. Have a good one.

PS. I meant to only check this thread to see if anyone had real questions, but my stupid ego got in the way.   :Wink: 

PPS. Just for the hell of it, I just tried sending print jobs from two different computer at about (2-3 secs. difference) the same time, both printed without any problem.

----------

