Permalänk

CUPS+samba problem

Jag håller på att dela ut min skrivare HP Deskjet 960C på min Ubuntu Server datorn. Men jag får det inte att fungera.
Det funkar mycket bra att skriva ut från server datorn.

Men jag kan inte ansluta den till någon client dator just nu. Jag hittar den i nätverket men jag kan inte ansluta till den.

När jag försöker köra kommandot:
cupsaddsmb -H localhost -U root -h localhost -v HP960C
Password for root required to access pelargir via SAMBA:

Så får jag upp:
"Inga skrivardrivrutiner för Windows är installerade!"

Så här ser min smb.conf ut som gäller skrivare.

[global]
load printers = yes
printing = cups
printcap name = cups
security = user

[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
public = yes
guest ok = yes
writable = yes
printable = yes

[print$]
comment = Printer Drivers
path = /usr/share/cups/drivers
browseable = yes
guest ok = yes
read only = yes

[HP Deskjet 960C]
path = /var/spool/public
read only = yes
printable = yes
guest ok = yes

i /usr/share/cups/drivers ligger

-rwxr--r-- 1 root root 803 2010-05-31 17:22 cups6.inf
-rwxr--r-- 1 root root 72 2010-05-31 17:22 cups6.ini
-rwxr--r-- 1 root root 9529 2010-05-31 17:22 cups6.ppd
-rwxr--r-- 1 root root 12568 2010-05-31 17:22 cupsps6.dll
-rwxr--r-- 1 root root 13672 2010-05-31 17:22 cupsui6.dll
-rwxr--r-- 1 root root 13492 2010-05-31 17:22 defprtr2.ppd
-rwxr--r-- 1 root root 22312 2010-05-31 17:20 hp-deskjet_960c.ppd
-rwxr--r-- 1 root root 129024 2010-05-31 17:22 ps5ui.dll
-rwxr--r-- 1 root root 455168 2010-05-31 17:22 pscript.dll
-rwxr--r-- 1 root root 26038 2010-05-31 17:22 pscript.hlp
-rwxr--r-- 1 root root 792644 2010-05-31 17:22 pscript.ntf

Så jag tycker han borde hitta drivrutinerna?
Men jag förstår inte vad som kan vara för fel.

Permalänk
Medlem

Är klienterna Windowsdatorer?
Om inte går du på Administation -> Utskifter på klienten. Lägg till Nätverksskrivare, Sök nätverksskrivare, ange IP-nummer till servern, sök, klicka på den skrivare du vill installera. framåt och installera förslagen drivrutin.
Om det är en Windowsklient installeras den som en nätverksskrivare med IP-adress. Kommer inte ihåg exakt men adressen skall vara IP_192.168.1.1 eller vad din server har för IP-adress.

Permalänk

Yepp det är en windows klient.
Men det fungerar inte, jag hittar skrivaren , men jag får upp ett felmeddelande att jag inte kan ansluta till skrivaren, Några andra förslag?

Permalänk
Medlem

Kolla vad du har för rättigheter på /var/spool//public

dvs kör sudo chmod 777 /var/spool/public

Sen kan du även prova att lägga in i smb.conf

use client driver = yes

Detta innebär dock att du måste ha skrivardrivrutinen även på Windows klienten.

Permalänk

Jag har redan 777 som rättigheter och use client driver
Men det är fortfarande samma fel.

Permalänk
Medlem

Min smb.conf ser ut så här när det gäller printerdelen:

########## Printing ##########

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
; load printers = yes

# lpr(ng) printing. You may wish to override the location of the
# printcap file
; printing = bsd
; printcap name = /etc/printcap

# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
printing = cups
printcap name = cups

# When using [print$], root is implicitly a 'printer admin', but you can
# also give this right to other users to add drivers and set printer
# properties
printer admin = @lpadmin

När jag installerar en printer gör jag så här i Windows med smb.conf enligt ovan:
Add printer
Network printer
jag skriver i vad den heter, i mitt fall \\192.168.1.1\DESKJET_940C
Nu får du upp en ruta där du skall ange skrivarfabrikat och modell för druvrutiner.
Klart!

Permalänk
Skrivet av NoWin:

Min smb.conf ser ut så här när det gäller printerdelen:

########## Printing ##########

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
; load printers = yes

# lpr(ng) printing. You may wish to override the location of the
# printcap file
; printing = bsd
; printcap name = /etc/printcap

# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
printing = cups
printcap name = cups

# When using [print$], root is implicitly a 'printer admin', but you can
# also give this right to other users to add drivers and set printer
# properties
printer admin = @lpadmin

När jag installerar en printer gör jag så här i Windows med smb.conf enligt ovan:
Add printer
Network printer
jag skriver i vad den heter, i mitt fall \\192.168.1.1\DESKJET_940C
Nu får du upp en ruta där du skall ange skrivarfabrikat och modell för druvrutiner.
Klart!

Det var värt ett försök, Men jag möts ständigt av den här bilden.
http://www.emileriksson.net/~emil/error.jpg

Så här ser min SMB.CONF ut

----------------------------------------------------------------------------------

[global]
workgroup=IRONMAN
server string = %h server (Samba, Ubuntu)
dns proxy = no
interfaces = eth0
log file = /var/log/samba/log.%m
max log size = 1000

syslog = 10
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user

########## Printing ##########

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
# load printers = yes

# lpr(ng) printing. You may wish to override the location of the
# printcap file
; printing = bsd
; printcap name = /etc/printcap

# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
printing = cups
printcap name = cups

[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0775
directory mask = 0775
valid users = %S

[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no

[DESKJET_960C]
comment = HP DeskJet 960C
printable = yes
path = /var/spool/samba
public = yes
guest ok = yes
----------------------------------------------------------------------------------
Så här ser min cups ut
---------------------------------------------------------------------------------

AccessLog /var/log/cups/access_log
ErrorLog /var/log/cups/error_log
MaxClients 10
LogLevel debug
MaxLogSize 0
SystemGroup lpadmin
Port 631
Listen /var/run/cups/cups.sock
Browsing On
BrowseOrder allow,deny
BrowseAllow from all
BrowseRemoteProtocols cups
BrowseAddress @LOCAL
BrowseLocalProtocols cups dnssd lpd smb
DefaultAuthType Basic
<Location />
Order allow,deny
Allow all
</Location>
<Location /admin>
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
</Location>
<Policy default>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subs$
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-P$
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
<Policy authenticated>
<Limit Create-Job Print-Job Print-URI>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subs$
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-P$
AuthType Default
Require user @SYSTEM

Order deny,allow
Allow @LOCAL
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
------------------------------------------------------------------------------

Jag blir snart galen och slänger ut datorn!
Du kan väl jämför med dina configar, se om det är något som skiljer nämnvärt?

Permalänk

Det här säger CUPS Error log. Jag tror ju det är något med rättigheterna, Men jag har provat med 777. Men det verkar inte funkra.

D [04/Jun/2010:13:29:56 +0200] [CGI] Kör kommando: smbclient //localhost/print$ -N -A /var/spool/cups/tmp/4c08e3b4e5a3f -c ”mkdir W32X86;put /var/spool/cups/tmp/4c08e3b4e5501 W32X86/HP960C.ppd;put /usr/share/cups/drivers/ps5ui.dll W32X86/ps5ui.dll;put /usr/share/cups/drivers/pscript.hlp W32X86/pscript.hlp;put /usr/share/cups/drivers/pscript.ntf W32X86/pscript.ntf;put /usr/share/cups/drivers/pscript5.dll W32X86/pscript5.dll”
D [04/Jun/2010:13:29:57 +0200] [CGI] Domain=[IRONMAN] OS=[Unix] Server=[Samba 3.4.0]
D [04/Jun/2010:13:29:57 +0200] [CGI] NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \W32X86
D [04/Jun/2010:13:29:57 +0200] [CGI] NT_STATUS_ACCESS_DENIED opening remote file \W32X86/HP960C.ppd
D [04/Jun/2010:13:29:57 +0200] [CGI] NT_STATUS_ACCESS_DENIED opening remote file \W32X86/ps5ui.dll
D [04/Jun/2010:13:29:57 +0200] [CGI] NT_STATUS_ACCESS_DENIED opening remote file \W32X86/pscript.hlp
D [04/Jun/2010:13:29:57 +0200] [CGI] NT_STATUS_ACCESS_DENIED opening remote file \W32X86/pscript.ntf
D [04/Jun/2010:13:29:57 +0200] [CGI] NT_STATUS_ACCESS_DENIED opening remote file \W32X86/pscript5.dll
D [04/Jun/2010:13:29:57 +0200] [CGI]
D [04/Jun/2010:13:29:57 +0200] [CGI] Kunde inte kopiera filer för skrivardrivrutiner till 2000 Windows (1)!

Permalänk
Medlem

Det här har jag INTE med i min smb.conf:

[DESKJET_960C]
comment = HP DeskJet 960C
printable = yes
path = /var/spool/samba
public = yes
guest ok = yes

Prova att ta bort det, starta om samba efteråt.

Permalänk
Skrivet av NoWin:

Det här har jag INTE med i min smb.conf:

[DESKJET_960C]
comment = HP DeskJet 960C
printable = yes
path = /var/spool/samba
public = yes
guest ok = yes

Prova att ta bort det, starta om samba efteråt.

Då får jag bara fram Skrivaren som CUPS använder. Men jag kan fortfarande inte ansluta till den.
Det måste var något med rättigheterna att göra, otroligt störande problem. Får googla om du inte har några mer tips

Permalänk
Medlem

Testa att under [print$] sätta guest ok till yes.

Permalänk
Skrivet av Dynamite:

Testa att under [print$] sätta guest ok till yes.

Det verkar som det kvittar vad jag skriver i smb.conf. Helt omöjligt att ansluta till skrivaren.
Finns det någon log som man kan kolla i vad windows skickar for information till CUPS och samba?

Hittade lite info i /var/log/cups/error_log
SLPReg of "HP_DESKJET_960C" failed with status -20!

Men vad betyder den här raden?

Permalänk
Medlem

Mycket lustigt.
Har gått igenom mina konfigurationsfiler nu, och det jag skulle göra härnäst är att ta bort hela [printers] ur smb.conf och att ta bort lpr-printing delen (printing = bsd).
Om inte det fungerar så tycker jag att du ska försöka använda SWAT och CUPS-wobbkonfig.

Permalänk
Skrivet av Dynamite:

Mycket lustigt.
Har gått igenom mina konfigurationsfiler nu, och det jag skulle göra härnäst är att ta bort hela [printers] ur smb.conf och att ta bort lpr-printing delen (printing = bsd).
Om inte det fungerar så tycker jag att du ska försöka använda SWAT och CUPS-wobbkonfig.

Nu har jag löst det med lite udda metod. !!!
Skrev i CMD net use LPT1: \\servername\printer

Och sen så installerar man en Lokal skrivare och väljer LPT1 och väljer exakt den som man har. Sen funkade det perfekt att skriva ut. Men det retar mig att jag inte kan ansluta den via windows nätverket.

Vad är SWAT för något?

Permalänk
Medlem

Skumt att det funkar så. SWAT är ett webbgränssnitt till Samba, förenklar MYCKET! Men om du vill köra på ett liknande sätt som nu fast med vanliga nätverksinstallationen så kan du lägga till "use client driver" i samba-configen.