LINUX.ORG.RU

Настройка samba принт-сервера.


0

0

К основному компьютеру(Fedora 11) подключён принтер ML-2015. Он настроем и нормально работает. Необходимо дать достпу к этому принтеру с других комьютеров(Win XP), поключённых к основному.

Настройки самбы: smb.conf

Добавляю принтер коммандой:

sudo cupsaddsmb -H localhost -U root -h localhost -v -a

её выхлоп:http://pastebin.com/m9dddd12. Как видно принтер успешно добавлен.

В XP принтер виден, при попытке установть его появляеться сообщения «Сервер для принтера ML-2010 не имеет нужного установленного драйвера принтера...» И предлагает вручную указать ему путь к inf файлу драйвера.

Если зайти в print$, то там есть каталог W32X86, а в нем есть файлы драйвера: cups6.ini cupsps6.dll cupsui6.dll ML-2010.ppd ps5ui.dll pscript5.dll pscript.hlp pscript.ntf .

Вопрос: Почему XP не хочет подхватывать дайвер ? И как это исправить ?


Ответ на: комментарий от linux4ever

И из него напрямую в cups? Пробовал, как-то сильно глючно работало. Не печатало некоторые файлы.

platerx
() автор топика

Потому как нужно ещё научить самбу отдавать этот драйвер, всё гуглится.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Выдержка из результата выполнения sudo cupsaddsmb -H localhost -U root -h localhost -v -a:

Running command: rpcclient localhost -N -A /tmp/cupsBRHO6k -c 'adddriver «Windows NT x86» «ML-2010:pscript5.dll:ML-2010.ppd:ps5ui.dll:pscript.hlp:NULL:RAW:pscript5.dll,ML-2010.ppd,ps5ui.dll,pscript.hlp,pscript.ntf,cups6.ini,cupsps6.dll,cupsui6.dll»'
Printer Driver ML-2010 successfully installed.

Running command: rpcclient localhost -N -A /tmp/cupsBRHO6k -c 'setdriver ML-2010 ML-2010'
Successfully set ML-2010 to driver ML-2010

Это оно ? Больше ни чего связанного с регистрацией драйвера я не нашёл.

platerx
() автор топика
Ответ на: комментарий от platerx

Да, оно, можно ещё через rpcclient посмотреть списки принтеров, драйверов и привязки. Завтра гляну на работе, как там сделано точно. Смущает каталог с драйверами.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi
sudo rpcclient -c 'getdriver ML-2010' localhost
Enter root's password: 

[Windows NT x86]
Printer Driver Info 3:
	Version: [3]
	Driver Name: [ML-2010]
	Architecture: [Windows NT x86]
	Driver Path: [\\LOCALHOST\print$\W32X86\3\pscript5.dll]
	Datafile: [\\LOCALHOST\print$\W32X86\3\ML-2010.ppd]
	Configfile: [\\LOCALHOST\print$\W32X86\3\ps5ui.dll]
	Helpfile: [\\LOCALHOST\print$\W32X86\3\pscript.hlp]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\pscript5.dll]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\ML-2010.ppd]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\ps5ui.dll]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\pscript.hlp]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\pscript.ntf]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\cups6.ini]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\cupsps6.dll]
	Dependentfiles: [\\LOCALHOST\print$\W32X86\3\cupsui6.dll]
	Monitorname: []
	Defaultdatatype: [RAW]

sudo rpcclient -c 'enumprinters 1' localhost
Enter root's password: 
	flags:[0x800000]
	name:[\\platerx\ML-2010]
	description:[\\platerx\ML-2010,ML-2010,]
	comment:[Samsung ML-2015]

sudo rpcclient -c 'enumdrivers 1' localhost
Enter root's password: 

[Windows NT x86]
Printer Driver Info 1:
	Driver Name: [ML-2010]

sudo rpcclient -c 'enumdrivers 2' localhost
Enter root's password: 

[Windows NT x86]
Printer Driver Info 2:
	Version: [3]
	Driver Name: [ML-2010]
	Architecture: [Windows NT x86]
	Driver Path: [\\LOCALHOST\print$\W32X86\3\pscript5.dll]
	Datafile: [\\LOCALHOST\print$\W32X86\3\ML-2010.ppd]
	Configfile: [\\LOCALHOST\print$\W32X86\3\ps5ui.dll]

sudo rpcclient -c 'getprinter ML-2010 2' localhost
Enter root's password: 
	servername:[\\LOCALHOST]
	printername:[\\LOCALHOST\ML-2010]
	sharename:[ML-2010]
	portname:[Samba Printer Port]
	drivername:[ML-2010]
	comment:[Samsung ML-2015]
	location:[]
	sepfile:[]
	printprocessor:[winprint]
	datatype:[RAW]
	parameters:[]
	attributes:[0x1048]
	priority:[0x1]
	defaultpriority:[0x1]
	starttime:[0x0]
	untiltime:[0x0]
	status:[0x0]
	cjobs:[0x0]
	averageppm:[0x0]
revision: 1
type: 0x8004: SEC_DESC_DACL_PRESENT SEC_DESC_SELF_RELATIVE 
DACL
	ACL	Num ACEs:	3	revision:	2
	---
	ACE
		type: ACCESS ALLOWED (0) flags: 0x02  SEC_ACE_FLAG_CONTAINER_INHERIT 
		Specific bits: 0x8
		Permissions: 0x20020008: Generic execute accessREAD_CONTROL_ACCESS 
		SID: S-1-1-0

	ACE
		type: ACCESS ALLOWED (0) flags: 0x09 SEC_ACE_FLAG_OBJECT_INHERIT SEC_ACE_FLAG_INHERIT_ONLY 
		Specific bits: 0xc
		Permissions: 0x100f000c: Generic all access WRITE_OWNER_ACCESS WRITE_DAC_ACCESS READ_CONTROL_ACCESS DELETE_ACCESS 
		SID: S-1-5-32-544

	ACE
		type: ACCESS ALLOWED (0) flags: 0x02  SEC_ACE_FLAG_CONTAINER_INHERIT 
		Specific bits: 0xc
		Permissions: 0x100f000c: Generic all access WRITE_OWNER_ACCESS WRITE_DAC_ACCESS READ_CONTROL_ACCESS DELETE_ACCESS 
		SID: S-1-5-32-544

	Owner SID:	S-1-5-32-544
	Group SID:	S-1-5-32-544

Все пути к фалам правильные. Меня смущает эта строка:

Configfile: [\\LOCALHOST\print$\W32X86\3\ps5ui.dll]
Вроде судя по названию должен быть конфиг (inf ? ini ?) а на самом деле какая-то dll-ка. С другой стороны дравер регистрировала не я вручную, а утилита сupsaddsmb, так что ошибка маловероятна.

Завтра гляну на работе, как там сделано точно.

Буду премного благодарен.

platerx
() автор топика
Ответ на: комментарий от platerx

Есть ещё простой приём — поставить этот принтер и драйверы на машину с виндой, распечатать тестовую страницу. Там будет правильный список файлов драйвера.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Посмотрел я в Wireshark обмен между самбой и xp, и оказалось, что собственно до попытки скачивания драйверов дело и не доходит. XP вызывает GetPrinterDriver2() с параметром level=101, а SAMBA отвечает что-то непонятное, и ответ видимо не нрапвиться XP. Попробовал Windows 7 и Samba, драйвера скачиваются нормально, правда потом возникет ошибка, но она вроде решаеться патчем. W7 посылает GetPrinterDriver2() с параметром level=6 и самба одает нормальний список файлов дравера.

Это оказываеться баг самбы: http://www.mail-archive.com/samba@lists.samba.org/msg104485.html

platerx
() автор топика
Ответ на: комментарий от platerx

Точно баг в самбе. Поставил samba-3.3.2, у меня была samba-3.4.2 и всё сразу заработало!

platerx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.