PDA

View Full Version : system-config-printer sees the workgroup, but not the printer


Duli
2007-01-29, 05:08 PM CST
Hello,

I'm using FC6, with last updated packages until now.

I have a machine in my local network with Windows Xp on it. This machine has a printer installed and working.

When I do a smblient -L=//ip, I get this:

[duli@localhost ~]$ smbclient -L=//192.168.0.202
Password:
Domain=[RONALDO] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC remoto
print$ Disk Drivers de impressora
HP1000 Printer hp LaserJet 1000
ADMIN$ Disk Administração remota
C$ Disk Recurso compartilhado padrão
shared Disk
session request to 192.168.0.202 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[RONALDO] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

Server Comment
--------- -------

Workgroup Master
--------- -------


The share is visible: "HP1000 Printer hp LaserJet 1000".

When I open system-config-printer and click "add" and then "Windows printer via SAMBA", the windows workgroup (MSHOME) appears in the box, with an arrow, but when I expand it, the winxp machine containing the printer share doesn't appear.

Even if I manually try to set the printer path "smb://192.168.0.202/hp1000", it doesn't work. Apparently, the printer is properly installed. I get no error messages. But it does not work when I try to print to it.

I have, in my FC6 box, a VM with Windows XP and this machine can easly access the printer share, print etc.

Does anyone can help me out here?! Any clues or ways to debug this problem?

Thanks a lot
Duli

Duli
2007-01-29, 06:26 PM CST
Observing the terminal window, I get this message when I double click the workgroup:

[root@localhost ~]# system-config-printer
Traceback (most recent call last):
File "/usr/share/system-config-printer/system-config-printer.py", line 2031, in on_tvSMBBrowser_cursor_changed
domain_iter = store.iter_parent (parent_iter)
TypeError: child should be a GtkTreeIter

Duli
2007-01-30, 10:35 AM CST
Anyone? Any ideas on this?

Duli
2007-02-02, 02:46 PM CST
Okay, after days struggling I've managed to find a workaround for this issue and I'll post it here in case anybody out there is suffering too.

System-config-printer seems to be a nice tool, but I don't know if it cannot work well with SMB shared printers or if its a problem with SMB itself.

Anyway, the solution was to step away from it and jump into CUPS administration tool, which has a web interface.

First of all, check to see if your cups service is running:
[root@localhost ~]# service cups status
cupsd (pid 2678) is running...

Then check if it will start next boot:
[root@localhost ~]# chkconfig --list | grep cups
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Now, open a browser windows and type:

http://localhost:631

Click in "add printer" button. Choose a name and "continue".

On device, select "Windows printer via SAMBA".

Now the tricky part. In "Device URI:", type:

smb://guest@ipaddress/printersharename

where:

"guest" is the name of the user. In general, when you share a printer via Windows XP, it already opens the firewall and grant access to it for user guest. Attention: If your using a non-english windows version, then he username is not "guest", but "convidado" (for portuguese-BR), for example. You should check your guest name in your windows version. Such a stupid thing as changing the guest name, for system purposes, could only come in a poorly developed program like windows.

"ipaddress" is the IP address of the machine providing the printer. Could be, for example, 192.168.0.3 or its name "lab1", "mark", "winxp" or anything.

"printersharename" is the name of the share as configured in Windows XP.

A tip to avoid erros is to enter this command in your linux box:

smbclient -L=ipaddress (ex: smbclient -L=192.168.0.3)

This should show you the exact names of the computer providing the printer and the printer share name.

So the Device URI would become something like this:

smb://guest@192.168.0.3/hp1200

or

smb://guest@winmachine/hp1200

or

smb://convidado@winmachine/hp1200 (if you have a portuguese-BR version of windows xp)

and so on...

Once you enter the Device URI, choose the driver for the printer and you're set.

Attention: if the URI is wrong, the system won't give you any warnings. So it's nice to make sure if you got it right.

Then enter "root" for name and the root's password and that's it. The rest is pretty intuitive.

Click on "Printers" and try to print a test page to check if evrything is alright.

PS: Do not try to use drivers that isn't specifc for your printer. You might get some erros and you'll thing it's a problem with the sharing system when, in fact, it's not. If your printer is not listed, take a good look at www.linuxprinting.org (http://www.linux-foundation.org/en/OpenPrinting/Database/DatabaseIntro)to find your driver.

Well, that's it. Hope it won't give you so many troubles as it gave me.

Cheers,
Duli