Discussion:
[Samba] Printer driver interface different
(too old to reply)
Matthew Forrest
2008-08-08 20:00:21 UTC
Permalink
Hi there, I'm having a wierd problem where the driver for one printer
displays a different UI from a samba server, compared to any other MS
machine sharing the same printer. I'm running an ubuntu box with
samba 3.0.28a-1ubuntu4.4. The printer is a Ricoh Afficio 5560.

I've tried copying the driver files from a win2k3 server to my samba
box and installing the driver manually with rpcclient. The UI still
has the same problems.

A workaround is to set "use client driver = yes" but then I have to
install the driver myself on all the clients.
Is it possible to set this for just one printer?

Any ideas on what's going on, or what I should look at to resolve this?

Thanks,
Matt
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
Ryan Novosielski
2008-08-08 20:10:14 UTC
Permalink
Had the same problem with the Aficio 350. You can just install the
driver locally and not use the Samba spool at all (direct IP printing).
That seems to be the best angle with my device. It's a shame, because it
really ought to work.
Post by Matthew Forrest
Hi there, I'm having a wierd problem where the driver for one printer
displays a different UI from a samba server, compared to any other MS
machine sharing the same printer. I'm running an ubuntu box with samba
3.0.28a-1ubuntu4.4. The printer is a Ricoh Afficio 5560.
I've tried copying the driver files from a win2k3 server to my samba box
and installing the driver manually with rpcclient. The UI still has the
same problems.
A workaround is to set "use client driver = yes" but then I have to
install the driver myself on all the clients.
Is it possible to set this for just one printer?
Any ideas on what's going on, or what I should look at to resolve this?
Thanks,
Matt
- --
---- _ _ _ _ ___ _ _ _
|Y#| | | |\/| | \ |\ | | |Ryan Novosielski - Systems Programmer II
|$&| |__| | | |__/ | \| _| |***@umdnj.edu - 973/972.0922 (2-0922)
\__/ Univ. of Med. and Dent.|IST/AST - NJMS Medical Science Bldg - C630
Gerald (Jerry) Carter
2008-08-11 14:40:12 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Ryan Novosielski
Had the same problem with the Aficio 350. You can just install the
driver locally and not use the Samba spool at all (direct IP printing).
That seems to be the best angle with my device. It's a shame, because it
really ought to work.
Does this driver contain a file names UNIDRV.DLL ? It's probably a
difference in behavior between EMF and RAW printing.





cheers, jerry
- --
=====================================================================
Samba ------- http://www.samba.org
Likewise Software --------- http://www.likewisesoftware.com
"What man is a man who does not make the world better?" --Balian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIoE4IIR7qMdg1EfYRAsuQAKDSLSGRTbxBMaUnM26ja2pCtdH0vwCeNBux
GUUek3X1spX3HftY0v35yqU=
=MFZ2
-----END PGP SIGNATURE-----
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
Matthew Forrest
2008-08-11 20:20:16 UTC
Permalink
Post by Gerald (Jerry) Carter
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Ryan Novosielski
Had the same problem with the Aficio 350. You can just install the
driver locally and not use the Samba spool at all (direct IP
printing).
That seems to be the best angle with my device. It's a shame,
because it
really ought to work.
If I can't get the driver to 'look' right, the clients are still going
thru a samba spool so I can do page accounting and restrict who prints
color. With the "use client driver = yes" option, I can install the
driver locally. The problem is I have to install the driver
locally... I'd rather not do the walk! :)
Post by Gerald (Jerry) Carter
Does this driver contain a file names UNIDRV.DLL ? It's probably a
difference in behavior between EMF and RAW printing.
It doesn't contain UNIDRV.DLL
It looks like it uses the generic windows PS driver PSCRIPT5.DLL with
a bunch of extras - for the UI?
The only difference between rpcclient -c 'enumdrivers 3' on samba vs
win2k is that the win2k driver has a Monitorname: [RICOH Language
Monitor2] entry.

Printer Driver Info 3:
Version: [3]
Driver Name: [RICOH Aficio Color5560 PS]
Architecture: [Windows NT x86]
Driver Path: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT5.DLL]
Datafile: [\\\\LOCALHOST\print$\W32X86\3\RIC55603.PPD]
Configfile: [\\\\LOCALHOST\print$\W32X86\3\PS5UI.DLL]
Helpfile: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT.HLP]

Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\JCUI.exe]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\RICJC32.DLL]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\Rc4manNT.dll]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\Ne60Cdat.dll]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\MFRICRES.dll]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\PS_SCHM.GDL]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\PSCRPTFE.NTF]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT.NTF]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\E314PSHL.CHM]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\RI3141E3.XML]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\RI260CUI.DLL]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\RI260CRE.DLL]
Dependentfiles: [\\\\LOCALHOST\print$\W32X86\3\RIC55603.INI]

Monitorname: []
Defaultdatatype: []


Thanks,
Matt
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
Gerald (Jerry) Carter
2008-08-11 20:30:12 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Matthew Forrest
Post by Gerald (Jerry) Carter
Does this driver contain a file names UNIDRV.DLL ? It's probably a
difference in behavior between EMF and RAW printing.
It doesn't contain UNIDRV.DLL
It looks like it uses the generic windows PS driver PSCRIPT5.DLL with a
bunch of extras - for the UI?
The only difference between rpcclient -c 'enumdrivers 3' on samba vs
win2k is that the win2k driver has a Monitorname: [RICOH Language
Monitor2] entry.
Version: [3]
Driver Name: [RICOH Aficio Color5560 PS]
Architecture: [Windows NT x86]
Driver Path: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT5.DLL]
Datafile: [\\\\LOCALHOST\print$\W32X86\3\RIC55603.PPD]
Configfile: [\\\\LOCALHOST\print$\W32X86\3\PS5UI.DLL]
Helpfile: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT.HLP]
Matthew,

Set the print processor to RAW on the Windows print server
and see if the appearance looks the same.




cheers, jerry
- --
=====================================================================
Samba ------- http://www.samba.org
Likewise Software --------- http://www.likewisesoftware.com
"What man is a man who does not make the world better?" --Balian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIoKDGIR7qMdg1EfYRAqOpAJ9S5k1+aigYwbG7K/Jqkfotba4mngCdEMG6
1dqFPOIhkLERlxenvgcNlu8=
=hby6
-----END PGP SIGNATURE-----
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
Martin Zielinski
2008-08-12 13:50:13 UTC
Permalink
Post by Gerald (Jerry) Carter
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Matthew Forrest
Post by Gerald (Jerry) Carter
Does this driver contain a file names UNIDRV.DLL ? It's probably a
difference in behavior between EMF and RAW printing.
It doesn't contain UNIDRV.DLL
It looks like it uses the generic windows PS driver PSCRIPT5.DLL with a
bunch of extras - for the UI?
The only difference between rpcclient -c 'enumdrivers 3' on samba vs
win2k is that the win2k driver has a Monitorname: [RICOH Language
Monitor2] entry.
Version: [3]
Driver Name: [RICOH Aficio Color5560 PS]
Architecture: [Windows NT x86]
Driver Path: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT5.DLL]
Datafile: [\\\\LOCALHOST\print$\W32X86\3\RIC55603.PPD]
Configfile: [\\\\LOCALHOST\print$\W32X86\3\PS5UI.DLL]
Helpfile: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT.HLP]
Matthew,
Set the print processor to RAW on the Windows print server
and see if the appearance looks the same.
[...]

Matthew,

The reason for the gui that is different from the local installation is
a missing registry value.
It's: "PrinterDriverData\DocUiHideFlags" REG_DWORD 000001

I didn't succeed in copying the settings via printui.dll, but I wrote a
little program to set the missing value. I think, this list cuts off the
attachments, so I put it inline. If you cannot compile it, I can send
you a binary as well.

I can't test, if the printer will work as expected, cause I have no
ricoh printer - but the GUI looks the same as the local installation.

Greets,
Martin

--------------------
main.cxx:

#include <windows.h>
#include <stdio.h>

int main (int argc, char *argv[])
{
if (!argv[1] || *argv[1] == '/') {
printf ("Usage: ricoh <printer>\nExample: ricoh
\\\\MYSERVER\\MYPRINTER\n");
exit (0);
}

HANDLE hPrinter;
PRINTER_DEFAULTS Default = { 0, 0, PRINTER_ACCESS_ADMINISTER };
DWORD on = 1;

if (!OpenPrinter(argv[1], &hPrinter, &Default)) {
printf ("OpenPrinter %s failed\n", argv[1]);
exit (1);
}

BOOL rc =SetPrinterDataEx( hPrinter, "PrinterDriverData",
"DocUiHideFlags", REG_DWORD, (LPBYTE)&on, 4 ) ;
ClosePrinter (hPrinter);

printf ("Setting printer data to %s: %s\n", argv[1], rc?"ERROR":"SUCCESS");

return rc;
}
--------

Makefile:
CXX = cl
LINK = link
CXXFLAGS = /nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D
"_CONSOLE" /D "_MBCS" /YX /FD /GZ /c /D_WIN32_WINNT=0x0500
LFLAGS = /nologo /subsystem:console /incremental:yes
/pdb:"nwprinter.pdb" /debug /machine:I386 /out:"ricoh.exe" /pdbtype:sept
LIBS = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib version.lib

.SUFFIXES: .cxx

{.}.cxx{}.obj::
$(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<<
$<
<<

{src}.cxx{}.obj::
$(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<<
$<
<<

TARGET = ricoh.exe
OBJECTS = main.obj

$(TARGET) : $(OBJECTS)
$(LINK) @<<
$(LFLAGS) $(OBJECTS) $(LIBS)
<<

all: $(TARGET)
main.obj: main.cxx
--
Martin Zielinski ***@seh.de
Softwareentwicklung T +49 (0)521 94226 76

SEH Computertechnik GmbH www.seh.de
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
Matthew Forrest
2008-08-12 19:10:18 UTC
Permalink
Post by Gerald (Jerry) Carter
Matthew,
The reason for the gui that is different from the local installation
is a missing registry value.
It's: "PrinterDriverData\DocUiHideFlags" REG_DWORD 000001
I didn't succeed in copying the settings via printui.dll, but I
wrote a little program to set the missing value. I think, this list
cuts off the attachments, so I put it inline. If you cannot compile
it, I can send you a binary as well.
I can't test, if the printer will work as expected, cause I have no
ricoh printer - but the GUI looks the same as the local installation.
Greets,
Martin
Adding that value to the registry on the samba server makes things
work much better. Thanks!
I didn't get a chance to try the code as my access to a dev box is
limited right now. I just used the registry editor to add the value
on the remote server.

It does not give any options to change the Job Type on the Job/Log tab.

What did you look at to find that particular entry?

Thanks,
Matt
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
Martin Zielinski
2008-08-13 07:10:16 UTC
Permalink
Post by Gerald (Jerry) Carter
Matthew,
The reason for the gui that is different from the local installation
is a missing registry value.
It's: "PrinterDriverData\DocUiHideFlags" REG_DWORD 000001
a little program to set the missing value. I think, this list cuts off
the attachments, so I put it inline. If you cannot compile it, I can
send you a binary as well.
I can't test, if the printer will work as expected, cause I have no
ricoh printer - but the GUI looks the same as the local installation.
Greets,
Martin
Adding that value to the registry on the samba server makes things work
much better. Thanks!
I didn't get a chance to try the code as my access to a dev box is
limited right now. I just used the registry editor to add the value on
the remote server.
It does not give any options to change the Job Type on the Job/Log tab.
What did you look at to find that particular entry?
Thanks,
Matt
Upps, I didn't even know that one can use the registry editor remote ...

I looked at all registry entries. I know, that some HP Printers need an
entry "PrinterData\CombinedMediaStatus" to work properly. Similar things
with other drivers.

So I copy the whole registry from a local printer to the remote printer
- and if that helps, the rest is just try and error.

On my system, I can change the Job Type. So I really do not know, why it
doesn't work for you. Perhaps you just need to delete the printer
connection and create a new one.

Greets,

Martin
--
Martin Zielinski ***@seh.de
Softwareentwicklung T +49 (0)521 94226 76

SEH Computertechnik GmbH www.seh.de
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
LiuYan 刘研
2008-09-04 08:30:16 UTC
Permalink
I have a similar issue on my HP LaserJet P2015n printer.
I've followed your hint and add the "PrinterDriverData\DocUiHideFlags" to
remote samba registry, but it did not work with this HP LaserJet P2015n
printer.
I've post it here:
http://www.nabble.com/Different-%22print-preference-dialog%22-between-windows-local-printer-and-samba-shared-printer-td18583819.html

There are many differences between the registry settings of samba shared
printer and windows local one.
Post by Gerald (Jerry) Carter
Post by Gerald (Jerry) Carter
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Matthew Forrest
Post by Gerald (Jerry) Carter
Does this driver contain a file names UNIDRV.DLL ? It's probably a
difference in behavior between EMF and RAW printing.
It doesn't contain UNIDRV.DLL
It looks like it uses the generic windows PS driver PSCRIPT5.DLL with a
bunch of extras - for the UI?
The only difference between rpcclient -c 'enumdrivers 3' on samba vs
win2k is that the win2k driver has a Monitorname: [RICOH Language
Monitor2] entry.
Version: [3]
Driver Name: [RICOH Aficio Color5560 PS]
Architecture: [Windows NT x86]
Driver Path: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT5.DLL]
Datafile: [\\\\LOCALHOST\print$\W32X86\3\RIC55603.PPD]
Configfile: [\\\\LOCALHOST\print$\W32X86\3\PS5UI.DLL]
Helpfile: [\\\\LOCALHOST\print$\W32X86\3\PSCRIPT.HLP]
Matthew,
Set the print processor to RAW on the Windows print server
and see if the appearance looks the same.
[...]
Matthew,
The reason for the gui that is different from the local installation is
a missing registry value.
It's: "PrinterDriverData\DocUiHideFlags" REG_DWORD 000001
I didn't succeed in copying the settings via printui.dll, but I wrote a
little program to set the missing value. I think, this list cuts off the
attachments, so I put it inline. If you cannot compile it, I can send
you a binary as well.
I can't test, if the printer will work as expected, cause I have no
ricoh printer - but the GUI looks the same as the local installation.
Greets,
Martin
--------------------
#include <windows.h>
#include <stdio.h>
int main (int argc, char *argv[])
{
if (!argv[1] || *argv[1] == '/') {
printf ("Usage: ricoh <printer>\nExample: ricoh
\\\\MYSERVER\\MYPRINTER\n");
exit (0);
}
HANDLE hPrinter;
PRINTER_DEFAULTS Default = { 0, 0, PRINTER_ACCESS_ADMINISTER };
DWORD on = 1;
if (!OpenPrinter(argv[1], &hPrinter, &Default)) {
printf ("OpenPrinter %s failed\n", argv[1]);
exit (1);
}
BOOL rc =SetPrinterDataEx( hPrinter, "PrinterDriverData",
"DocUiHideFlags", REG_DWORD, (LPBYTE)&on, 4 ) ;
ClosePrinter (hPrinter);
printf ("Setting printer data to %s: %s\n", argv[1],
rc?"ERROR":"SUCCESS");
return rc;
}
--------
CXX = cl
LINK = link
CXXFLAGS = /nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D
"_CONSOLE" /D "_MBCS" /YX /FD /GZ /c /D_WIN32_WINNT=0x0500
LFLAGS = /nologo /subsystem:console /incremental:yes
/pdb:"nwprinter.pdb" /debug /machine:I386 /out:"ricoh.exe" /pdbtype:sept
LIBS = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib version.lib
.SUFFIXES: .cxx
$<
<<
$<
<<
TARGET = ricoh.exe
OBJECTS = main.obj
$(TARGET) : $(OBJECTS)
$(LFLAGS) $(OBJECTS) $(LIBS)
<<
all: $(TARGET)
main.obj: main.cxx
--
Softwareentwicklung T +49 (0)521 94226 76
SEH Computertechnik GmbH www.seh.de
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
--
View this message in context: http://www.nabble.com/Printer-driver-interface-different-tp18898144p19305729.html
Sent from the Samba - General mailing list archive at Nabble.com.
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/listinfo/samba
Continue reading on narkive:
Loading...