summaryrefslogtreecommitdiff
path: root/docs/textdocs/PRINTER_DRIVER.txt
blob: fc1df595d7cfaa77a79b9a45602c757bfbdacd13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
!==
!== PRINTER_DRIVER.txt for Samba release 1.9.18 08 Jan 1998
!==
==========================================================================
	Supporting the famous PRINTER$ share
 
 	Jean-Francois.Micouleau@utc.fr, 10/26/97
	modified by herb@sgi.com 1/2/98

===========================================================================

Disclaimer:

	This ONLY works with Windows 95
	It does NOT work with Windows NT 4


Goal:

	When you click on a samba shared printer, you can now install the driver
	automatically onto the Windows 95 machine, as you would from an NT server.
	
How To:

	It's a three step config.
	
	First, create a new directory, where you will put the driver files, and
	make a share in smb.conf pointing to it.

	Example:
	
		[printer$]
   		  path=/usr/local/samba/printer
   		  public=yes
   		  writable=no
   		  browseable=yes

	Second, you have to build the list of the drivers required for a specific
	printer. This is the most complicated thing to do. Get the files
	'msprint.inf' and 'msprint2.inf' from Windows 95, the easiest way is to
	grab them from a working Windows 95 computer. They are usually located
	in 'c:\windows\inf'. Look in them for the printer you have. Run the new
	program 'mkprinterdef' with the file name and the printer name as
	parameters.
	Example:
		
	mkprinterdef msprint.def "Apple LaserWriter" >>/usr/local/samba/lib/printers.def
	 
	The program will print out a list of required files to stderr.
	Copy all the files listed into the directory you created in step 1     
	
	Third, you need to add 2 new parameters in smb.conf. One is in the
	[global] section, called 'printer driver file' pointing to the file description,
	and the other in each printer share, called 'printer driver location' pointing
	to where the client will get the drivers. Don't forget to set correctly
	the printer driver parameter to the Windows printer name.
	Example:
	
		[global]
  		  printer driver file=/usr/local/samba/lib/printers.def

		[lp]
		   comment = My old printer laser
		   browseable = yes
		   printable = yes
		   public = yes
		   writable = no
		   create mode = 0700
		   printer driver=Apple LaserWriter
		   printer driver location=\\%h\PRINTER$

	%h will expand to the computer name, and PRINTER$ is the name of the
	share created in step one.
	
	
If it doesn't work for you, don't send flame ! It worked for me. In case of
trouble don't hesitate to send me a mail with your smb.conf file and 
printers.def


*******  added by herb@sgi.com

For those of you who like to know the details, and in case I have guessed
wrong on some of the fields - The following is the format of the entries 
in the printers.def file: (entries are 1 single line - they are split here 
for readability)

<Long Printer Name>:<Driver File Name>:<Data File Name>:<Help File Name>:
<Language Monitor Name>:<Default Data Type>:<Comma Separated list of Files>

The <Help File Name> and the <Language Monitor Name> can be empty.
If no <Driver File Name> or <Data File Name> are specified in the inf file,
these will default to the section name for the printer.