LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (http://www.linuxquestions.org/questions/linux-networking-3/)
-   -   Linux (Cups) printer visible to windows, invisible to linux boxes ? (http://www.linuxquestions.org/questions/linux-networking-3/linux-cups-printer-visible-to-windows-invisible-to-linux-boxes-150399/)

johnvoisey 02-25-2004 02:02 PM

Linux (Cups) printer visible to windows, invisible to linux boxes ?
 
I have several (four !) PC's networked together with a wired ethernet. One is my "internet gateway", now running Fedora Core 1, driving an adsl modem thanks to the "eciadsl" driver, sharing the connection with the others thanks to "firestarter" (which I've told to "trust" the "internal" eth0 network card. The other PC's are dual boot Fedora Core and either Win98SE or WinXP. All machines see the 'net just fine whether booted from windows or linux.

I've used the redhat tools in Fedora to enable a samba server sharie on a "shared directory area" and when I loaded and ran fedora for the first time, it detected and set up the Samsung ML4600 printer on the "gateway" machine's parallel port.

If I boot any of the Win98SE machines I can see and use the internet, see and use the "shared area" and see and use the Samsung Printer. On the gateway machine I can log in and do all of this too. So I guess most of the system must be working.

So here's the problem(s): The WinXP machine can SEE, but can't USE the Samsung Printer. If I try looking at the printer properties in XP I get an "Access Denied" error in the printer properties title bar ! But that's not the worst bit, when I boot any of the other PC's in linux, they can see the 'net and they see the shared disk area just fine from the "smb:///" window but none of them can detect the samsung printer.

Ive checked through other printer / networking threads on this site but they all seem to cover situations where no-one can see anything.

I have a nagging feeling this will be something distro-specific and either stupid or esoteric to do with a config file (similar to the way fedora's default sendmail.cf config refuses connection attempts from machines other than 127.0.0.1) but I'm now so confused I don't know where to start !

david_ross 02-25-2004 02:36 PM

The windows XP problem just sounds like you need to add a list of samba users who can use the printer in smb.conf

The linux problem (which will probably suffer from the above as well) is best solved by using cups to configure the printer. Make sure cups is running on the client machine then add the smb printer from the cups web interface.

johnvoisey 02-27-2004 03:57 AM

sorted and thanks
 
Thanks for the tips on how to proceed ! I suspected this was all down to the config file and indeed it was. As the Fedora Core 1 release doesn't yet have the same standard of documentation as its predecessor redhat shrike had, I think it might be useful to put the details here.

The breakthrough came when I realised the cups daemon on the machine hosting the printer was configured to only accept "ipp" requests on port 631 from 127.0.0.1 (just like the default sendmail config only allowed tcp/ip connections on port 25 from 127.0.0.1).

I discovered this when I ran "lpstat -v" on that machine, which returned the message "device for lp0: /parallel/dev/lp0" and then went to one of the other pc's on my network, and tried running "lpstat -h <hostname> -v" only to get a "connection refused" error ! Gotcha !!!!

After a lengthy session reading the CUPS Docs and in particular the System Administration document (accessible through a web browser on http:/localhost:631) I went to have a look at the /etc/cups/cupsd.conf file and sure enough, it contained a "global" directive telling it to "listen 127.0.0.1:631" and nowhere else

This machine shared its internet connection with the other PC's via a wired network through an ethernet card whose interface is "eth0" and IP address is set as 192.168.0.1 so all I had to do was add a further "listen:192.168.0.1:631" directive immediately after the existing one, and then allow machines on that interface to see and use it. I did this by adding lines "Allow From @IF(eth0)" into the <location /> and <location /printers/lp0> definitions at the bottom of the configuration file. I also added a BrowseAllow From @IF(eth0) after the existing BrowseAllow From @LOCAL for good measure.

With all that done. I stopped and restarted the cups service, went to one of the remote machines, and told it to add a printer. The Add Printer screen browsed for, and found, the remote printer in seconds !

Hope this is useful to anyone else who finds themselves in my previous predicament.

Cheers


All times are GMT -5. The time now is 12:42 PM.