PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba und Treiber für Windows



ProxYa
01.01.2006, 12:42
Hi!

Zunächst mal die wichtigsten Daten, die von Bedeutung sein könnten:

Linuxserver:
- Debian Sarge
- Kernel 2.6.8-2-386
- Samba 3.0.20b-3 (testing)

Windowsclients:
- Alle Win2000 (SP4)
- Entspr. Win2000-Druckertreiber

Ich hab folgendes verzwicktes Problem.
Bisher hatte ich meine Drucker direkt über CUPS freigegeben und benutzt. Da mir aber der Druckername unter Windows einfach zulang ist, habe/wollte ich die Druckerfreigabe über Samba realisieren.

Es hat recht lange gedauert, aber schlussendlich hab ich dann doch raus- und auch hinbekommen, wie man auf dem Linuxserver auch Treiber für Windoes bereitstellen kann, so dass die Freigabe und das Drucken dann auch funktioniert.

Das funktioniert leider nur an einem meiner beiden Drucker, nämlich am Brother HL-1240. Bei diesem hat sich Windows den Treiber sauber vom Server geholt, und druckt genauso wie vorher unter CUPS, nur das der Druckename in der SysSteuerung eben kürzer ist :-)
Mein (Treiber vom) HP DeskJet640C macht da allerdings Probleme. Über CUPS funktioniert selbiger weiterhin sehr gut, nur über die Sambafreigabe stürzt das "Eigenschaftsfenster des Druckers" mit einer Schutzverletzung ab, sobald man versucht es zu öffnen! Wenn ich versuche die Eigenschaften aus einem Programm raus aufzurufen, stürzt das Programm ebenfalls komplett ab.

Kann sich da jemand einen Reim drauf machen unsd mir evtl. weiterhelfen? Kann das am Treiber liegen? Kann es noch andere Gründe dafür geben?

Vielen Dank im Voraus

Greets, ich

Goodspeed
02.01.2006, 10:09
Das ist ein Problem der HP-Treiber, dass die Bezeichner zu lang sind ...
Hab ich hier mit selben Drucker auch und bis jetzt keine Lösung.
Also hab ich die Treiber wieder vom Server gekickt und den Drucker zwar per Samba aber mit lokalen Treibern installiert ...

ProxYa
02.01.2006, 18:58
Danke für die Antwort!

Wie kann ich die Treiber wieder vom Server kicken?
Über Windows kann ich selbst mit root-Rechten nicht darauf zugreifen, und über die bash hab ich keine Ahnung :think: ?(

danke im Voraus :)

Greets, ich

Goodspeed
03.01.2006, 07:21
Schau mal unter

/var/lib/samba/printers/W32X86/

Dort einfach die Files/Verzeichnisse löschen ...

ProxYa
03.01.2006, 11:34
Danke!

Damit ging es aber nur die Dateien zu löschen, der treibereintrag war allerdings noch auf dem Server vorhanden.

Mit dem Befehl

rpcclient //Server -U User -c 'deldriver "Driver"'
kann man den Treiber sauber löschen.

Greets, ich

Goodspeed
03.01.2006, 13:35
Hmmm ... man lernt nie aus ;)

Psimon
09.12.2007, 13:02
Hallo zusammen,

das scheint mir der geeignete Thread um anzuknüpfen. Ich habe die Treiber meines HP Deskjet 895cxi aus dem Verzeichnis C:\Windows\system32\spool\drivers\w32x86\3 geholt und in /var/lib/samba/drivers/W32X86/ hinterlegt. Den rpcclient -c adddriver, sowie rpcclient -c setdriver durchgeführt. Das schaut also wie folgt aus:


psimongate:/ # rpcclient -U root -c 'enumdrivers 3' localhost
Password:

[Windows NT x86]
Printer Driver Info 3:
Version: [3]
Driver Name: [HP DeskJet 895Cxi]
Architecture: [Windows NT x86]
Driver Path: [\\\\LOCALHOST\print$\W32X86\3\UNIDRV.DLL]
Datafile: [\\\\LOCALHOST\print$\W32X86\3\HP-DeskJet_895C-hpijs.ppd]
Configfile: [\\\\LOCALHOST\print$\W32X86\3\UNIDRVUI.DLL]
Helpfile: [\\\\LOCALHOST\print$\W32X86\3\UNIDRV.HLP]


Monitorname: []
Defaultdatatype: [RAW]

psimongate:/ #


Tja, wenn ich nun den Drucker mit meiner Windows Maschine anspreche wird versucht den Treiber zu installieren. Doch leider fehlt ihm eine .inf Datei. Woher kriege ich die? Und weiter, was muß ich mit dieser machen wenn ich sie dann habe? Bei rpcclient -c adddriver habe ich keine Möglichkeit gesehen diese mit angezugeben.

Es muß doch möglich sein das die HP Deskjetz 895cxi Treiber hinterlegt werden können.

Weiß da jemand Rat?! Wäre für jeden Vorschlag sehr sehr dankbar!

Liebe Grüße,
Simon

Yoda
02.01.2008, 09:56
Hallo zusammen,

das scheint mir der geeignete Thread um anzuknüpfen. Ich habe die Treiber meines HP Deskjet 895cxi aus dem Verzeichnis C:\Windows\system32\spool\drivers\w32x86\3 geholt und in /var/lib/samba/drivers/W32X86/ hinterlegt. Den rpcclient -c adddriver, sowie rpcclient -c setdriver durchgeführt. Das schaut also wie folgt aus:



Tja, wenn ich nun den Drucker mit meiner Windows Maschine anspreche wird versucht den Treiber zu installieren. Doch leider fehlt ihm eine .inf Datei. Woher kriege ich die? Und weiter, was muß ich mit dieser machen wenn ich sie dann habe? Bei rpcclient -c adddriver habe ich keine Möglichkeit gesehen diese mit angezugeben.

Es muß doch möglich sein das die HP Deskjetz 895cxi Treiber hinterlegt werden können.

Weiß da jemand Rat?! Wäre für jeden Vorschlag sehr sehr dankbar!

Liebe Grüße,
Simon
Ich installiere den Treiber immer separat von der Windoofs-CD und dann gehts. Also andere Reihenfolge, nicht erst zum Drucker verbinden, sondern erst den Treiber installieren und dann (ich glaube bei der Installationsroutiene) den Drucker angeben.

Psimon
03.01.2008, 09:03
Ich installiere den Treiber immer separat von der Windoofs-CD und dann gehts. Also andere Reihenfolge, nicht erst zum Drucker verbinden, sondern erst den Treiber installieren und dann (ich glaube bei der Installationsroutiene) den Drucker angeben.

Hi Du,

nachdem der Windows Treiber installiert ist, vermutet Windows den Drucker auf LPT1. In den Eigenschaften des Druckers habe ich unter Anschlüsse statt "LPT1" die "IP_192.168.1" gewählt.

Der Reiter Anschlüsse aus den Druckereigenschaften:
http://www.unixboard.de/vb3/attachment.php?attachmentid=2830&stc=1&d=1199350330
Bei Klick auf Konfiguration unten rechts:
http://www.unixboard.de/vb3/attachment.php?attachmentid=2829&stc=1&d=1199350314

Soweit so gut.

Auf der Suse hab ich den Drucker in Samba weiterhin mit CUPS freigegeben. Lediglich der Share [$print] ist nun auskommentiert und smb, sowie nbm neu gestartet. Aktuell also die folgende Konfiguration:



[global]
netbiosname = psimongate
preserve case = yes
oplocks = yes
writeable = yes

printing = cups
printcap name = /etc/printcap
load printers = yes

workgroup = WORKGROUP
debug level = 2
os level = 65
update encrypted = yes
security = user
getwd cache = yes
short preserve case = yes
max log size = 50
log file = /var/log.%m
read raw = yes
write raw = yes
socket options = TCP_NODELAY
default case = lower
logon drive = P:
fake oplocks = no
domain master = Yes
interfaces = lo et0
public = yes
logon home = \\%L\%U\.9xprofile
dead time = 15
password level = 4
case sensitive = no
server string = Samba %v
path = /var/spool/samba
logon path = \\%L\profiles\.msprofile
domain logons = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
guest ok = yes
local master = Yes
preferred master = Yes
read only = No

[printers]
comment = All Printers
path = /var/spool/cups
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
printer admin = root,administrator

#[print$]
#comment = Printer Drivers
#path = /var/lib/samba/drivers
#browseable = yes
#guest ok = yes
#read only = yes
#write list = administrator root psimon

[homes]
browseable = no
comment = Home Directories
writeable = Yes
valid users = %S
available = no


Trotzdem, es funktioniert noch nicht, wenn ich eine Testseite in den Eigenschaften meines neu hinzu gekommenen Menüpunktes "HP Deskjet 895Cxi" in auftrag gebe. Der Druckerauftrag erscheint zwar in der Warteschlange, wird jedoch nicht verarbeitet. Liegt es an einem Setting in der smb.conf? Sollte ich eventuell Cups in Samba raus konfigurieren?

Liebe Grüße,
Simon