прошу прощения за задержку с ответом.
1. любой скрипт использует эту строку: /dev/usb/lp0 - используется для регистрации конкретного принтера в сервере ccрd, дабы тот знал, за что отвечает.
2. с правами на правило = да, он от рута. По сути это исполняемый скрипт.
дальше давайте пошагово: с удаленными принтерами подключаем их по юсб. Система само устройство видит? /dev/usb/lp0 появляется? на самом ccpd права нужные?
ну и покомандово скармливайте команды из скрипта.
1. Система само устройство видит?
Система устройство видит:
Bus 003 Device 002: ID 04a9:2617 Canon, Inc. CAPT Printer
gnomych@Asus-K50ID:~$ lsusb
Bus 004 Device 002: ID 0b05:1788 ASUSTek Computer, Inc.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 04a9:2617 Canon, Inc. CAPT Printer
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 174f:1120 Syntek
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2. /dev/usb/lp0 появляется?
/dev/usb/lp0 появляется.
3. на самом ccpd права нужные?
где конкретно смотреть, в /etc/init.d/ccpd или /var/ccpd?
ну и покомандово скармливайте команды из скрипта.
gnomych@Asus-K50ID:~/LBP$ sudo dpkg -i 0.deb cndrvcups-capt_2.00-1_i386.deb cndrvcups-common_2.00-1_i386.deb
Выбор ранее не выбранного пакета cupsys.
(Чтение базы данных ... на данный момент установлено 165088 файлов и каталогов.)
Распаковывается пакет cupsys (из файла 0.deb)...
Выбор ранее не выбранного пакета cndrvcups-capt.
Распаковывается пакет cndrvcups-capt (из файла cndrvcups-capt_2.00-1_i386.deb)...
Выбор ранее не выбранного пакета cndrvcups-common.
Распаковывается пакет cndrvcups-common (из файла cndrvcups-common_2.00-1_i386.deb)...
Настраивается пакет cupsys (1.4.3-1ubuntu1.2) ...
Настраивается пакет cndrvcups-common (2.00-2) ...
Настраивается пакет cndrvcups-capt (2.00-2) ...
Обрабатываются триггеры для ureadahead ...
gnomych@Asus-K50ID:~/LBP$ sudo /etc/init.d/cups stop
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cups stop
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop cups
cups stop/waiting
gnomych@Asus-K50ID:~/LBP$ sudo mkdir /var/ccpd
gnomych@Asus-K50ID:~/LBP$ sudo mkdir /var/captmon
gnomych@Asus-K50ID:~/LBP$ sudo mkfifo /var/ccpd/fifo0
gnomych@Asus-K50ID:~/LBP$ sudo chmod 777 /var/ccpd/fifo0
gnomych@Asus-K50ID:~/LBP$ sudo mkdir /var/log/ccpd
gnomych@Asus-K50ID:~/LBP$ sudo /etc/init.d/cups restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cups restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart cups
cups start/running, process 4539
gnomych@Asus-K50ID:~/LBP$ sudo /usr/sbin/lpadmin -p LBP1210 -m CNCUPSLBP1210CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
gnomych@Asus-K50ID:~/LBP$ sudo /usr/sbin/ccpdadmin -p LBP1210 -o /dev/usb/lp0
CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787
Entry Num : Spooler : Backend : FIFO path : Device Path : Status
----------------------------------------------------------------------------
[0] : LBP1210 : : : /dev/usb/lp0 : New!!
gnomych@Asus-K50ID:~/LBP$ sudo addgroup captprint
Добавляется группа `captprint' (GID 1001) ...
Готово.
gnomych@Asus-K50ID:~/LBP$ sudo bash -c "cat /etc/sudoers sudoers >> /etc/sudoers"
cat: /etc/sudoers: ввод и вывод в один файл
gnomych@Asus-K50ID:~/LBP$ sudo udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp0)
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:04.0/usb3/3-3/3-3:1.0/usb/lp0':
KERNEL=="lp0"
SUBSYSTEM=="usb"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:04.0/usb3/3-3/3-3:1.0':
KERNELS=="3-3:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="usblp"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="02"
ATTRS{bInterfaceClass}=="07"
ATTRS{bInterfaceSubClass}=="01"
ATTRS{bInterfaceProtocol}=="02"
ATTRS{modalias}=="usb:v04A9p2617d0100dc00dsc00dp00ic07isc01ip02"
ATTRS{supports_autosuspend}=="1"
ATTRS{ieee1284_id}=="MFG:Canon;MDL:LASER SHOT LBP-1210;CMD:CAPT;VER:1.0;CLS:PRINTER;DES:Canon LASER SHOT LBP-1210"
looking at parent device '/devices/pci0000:00/0000:00:04.0/usb3/3-3':
KERNELS=="3-3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="c0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="16"
ATTRS{idVendor}=="04a9"
ATTRS{idProduct}=="2617"
ATTRS{bcdDevice}=="0100"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{speed}=="12"
ATTRS{busnum}=="3"
ATTRS{devnum}=="2"
ATTRS{devpath}=="3"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Canon"
ATTRS{product}=="Canon CAPT USB Printer"
ATTRS{serial}=="0125G7Ed"
looking at parent device '/devices/pci0000:00/0000:00:04.0/usb3':
KERNELS=="usb3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="58"
ATTRS{idVendor}=="1d6b"
ATTRS{idProduct}=="0001"
ATTRS{bcdDevice}=="0206"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{busnum}=="3"
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="11"
ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 2.6.35-24-generic-pae ohci_hcd"
ATTRS{product}=="OHCI Host Controller"
ATTRS{serial}=="0000:00:04.0"
ATTRS{authorized_default}=="1"
looking at parent device '/devices/pci0000:00/0000:00:04.0':
KERNELS=="0000:00:04.0"
SUBSYSTEMS=="pci"
DRIVERS=="ohci_hcd"
ATTRS{vendor}=="0x10de"
ATTRS{device}=="0x0aa5"
ATTRS{subsystem_vendor}=="0x1043"
ATTRS{subsystem_device}=="0x1fa7"
ATTRS{class}=="0x0c0310"
ATTRS{irq}=="22"
ATTRS{local_cpus}=="ff"
ATTRS{local_cpulist}=="0-7"
ATTRS{modalias}=="pci:v000010DEd00000AA5sv00001043sd00001FA7bc0Csc03i10"
ATTRS{dma_mask_bits}=="32"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{enable}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
gnomych@Asus-K50ID:~/LBP$ gedit 10-udev-capt-lbp.rules
gnomych@Asus-K50ID:~/LBP$ sudo cp 10-udev-capt-lbp.rules /etc/udev/rules.d/10-udev-capt-lbp.rules
gnomych@Asus-K50ID:~/LBP$ sudo chmod a+x /etc/udev/rules.d/10-udev-capt-lbp.rules
gnomych@Asus-K50ID:~/LBP$ sudo rm /etc/init.d/ccpd
gnomych@Asus-K50ID:~/LBP$ sudo cp ccpd /etc/init.d/ccpd
gnomych@Asus-K50ID:~/LBP$ sudo chmod a+x /etc/init.d/ccpd
gnomych@Asus-K50ID:~/LBP$ sudo udevadm control --reload-rules
gnomych@Asus-K50ID:~/LBP$ sudo mv /lib/udev/rules.d/70-printers.rules /lib/udev/rules.d/70-printers
gnomych@Asus-K50ID:~/LBP$ sudo /etc/init.d/ccpd start
Starting Canon Printer Daemon for CUPS: ccpd.
gnomych@Asus-K50ID:~/LBP$ sudo update-rc.d ccpd defaults 60
update-rc.d: warning: /etc/init.d/ccpd missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/ccpd ...
/etc/rc0.d/K60ccpd -> ../init.d/ccpd
/etc/rc1.d/K60ccpd -> ../init.d/ccpd
/etc/rc6.d/K60ccpd -> ../init.d/ccpd
/etc/rc2.d/S60ccpd -> ../init.d/ccpd
/etc/rc3.d/S60ccpd -> ../init.d/ccpd
/etc/rc4.d/S60ccpd -> ../init.d/ccpd
/etc/rc5.d/S60ccpd -> ../init.d/ccpd
Скормил успешно вроде.
В 10-udev-capt-lbp.rules внёс ATTRS{serial}=="0125G7Ed" и /devices/pci0000:00/0000:00:04.0/usb3/3-3/3-3:1.0/usb/lp0, тоже вроде то что нужно.
В итоге получил принтер LBP1210, Uri устройства: ccp:/var/ccpd/fifo0.
Пробная печать.
Не верю своим глазам........ А что значит в конце страницы Product: GPL Ghostscript Version:3010 Revision: 871.
Распечатал весь текст выше, всё ОК.
Для меня остался открытым один момент, я три раза пытался установить принтер по этому скрипту. И только с третьего раза, после пятой пере установки системы, всё сработало.
Вывод.
1. Установку надо делать с чистого листа. Если не вышло, нужно этот "чистый" лист восстановить, иначе не выйдет.
2. Перед установкой нужно снести директории /var/ccpd и /var/captmon (в последний раз я так и сделал)
3. НИ В КОЕМ СЛУЧАЕ не выполнять скрипт (или его команды в пошаговом режиме) из под root-а, второй раз я именно так и поступил, в итоге получил кривые права доступа.
И в завершение для информации о моём компе:
Asusu-K50ID,
Ubunta 10.10 (дистрибутив ubuntu-ru-10.10.101017-i386.iso взят от сюда
http://startubuntu.ru/?page_id=154),
Gnome Версия 2.32.0
Огромное спасибо memfis за терпение и оказанную помощь.