Ivanovo Linux Users Group - Not logged in
Forum Help Search Login
Previous Next Up Topic Железо / Настраиваем железки / Принтер не подхватывается (47238 hits)
- By voral Date 30.06.09 10:46
ОС debian Lenny
Принтер Epson LBP2900 (usb)

Если принтер включить до загрузки системы то все ок. Если после - то печатаемый документ встает в очередь и все.....
Приходится дергать в консоли etc/init.d/ccpd restart

Возможно ли это дело автоматизировать? В каком направлении копать?
Parent - By Bercut Date 30.06.09 12:42
ну вопщем и целом можно через hal,
а можно и через udev.
и там и там можно запускать скрипты по событиям в часности usb.
как и чего там вощем то прозрачно,
звиняйте готовых рецептов нет...
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By voral Date 30.06.09 12:49
спасибо и на том.
Направление есть это уже гуд.
Parent By Bercut Date 30.06.09 12:55
ищите и обрящете
ща небось ещё гуру подползут вообще советами закидают
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 30.06.09 18:51 Edited 30.06.09 18:57
Ты ничего не путаешь?
На работе работал LBP2900, но это был Canon ;-) Был подключен, но как сетевой на виндовой машине.
К тому-же, надо было драйвера ставить. Но с ними все работало. (вроде как даже с кэноновского сайта и скачанные)

Как советуют, взведи в /etc/udev/rules.d правила на появление/исчезновение принтера и дергай из них скрипты.
Как затравка, мои примеры на встроенный модем:
$ cat 10-slmodem.rules

BUS=="usb", SYSFS{idProduct}=="7554", SYSFS{idVendor}=="0483", ACTION=="add", RUN+="/etc/rc.d/rc.slmodemd start"
BUS=="usb", SYSFS{idProduct}=="7554", SYSFS{idVendor}=="0483", ACTION=="remove", RUN+="/etc/rc.d/rc.slmodemd stop"


PS. кстати, главный вопрос: что в логах то? Что cups говорит? У меня как-то было так, что cups принтер (другой, но USB) в "остановленное" состояние переводил. Стоило в админке ткнуть в "подключить" и все печатало влет.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent By Bercut Date 01.07.09 05:52
и то правда, нащет модели, чето я и внимания не обратил
стареюууу
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By voral Date 01.07.09 08:12
да конешно canon опечатка :-)

по наводке нашел на линуксфоруме дельное предложение вообще капс запускать только при необходимости. Чуть позже опробую/

В каких логах смотреть?
вот включил принтер при уже загруженой ос. Отправил на печать из врайтера
/var/log/cups/access_log

localhost - - [01/Jul/2009:12:05:29 +0400] "POST / HTTP/1.1" 200 416 CUPS-Get-Classes successful-ok
localhost - - [01/Jul/2009:12:05:33 +0400] "GET /ppd/LBP2900.ppd HTTP/1.1" 200 12650 - -
localhost - - [01/Jul/2009:12:05:33 +0400] "POST /printers/LBP2900 HTTP/1.1" 200 21618 Print-Job successful-ok

/var/log/cups/error_log

I [01/Jul/2009:12:05:33 +0400] [Job ???] Request file type is application/postscript.
I [01/Jul/2009:12:05:33 +0400] [Job 90] Adding start banner page "none".
I [01/Jul/2009:12:05:33 +0400] [Job 90] Adding end banner page "none".
I [01/Jul/2009:12:05:33 +0400] [Job 90] File of type application/postscript queued by "alex".

Эти записи пояились только после отправки на печать
Parent - By LOE (Site/forum admin) Date 01.07.09 17:04
Если принтер печатает, но отваливается при каких-то условиях, то смотри системные логи и dmesg
Т.е. если все-же принципиально печать возможна, то все должно быть ОК.
Если включение принтера после загрузки не "срабатывает" - смотри в этот момент логи, смотри статус принтера в подсистеме печати (про что, что принтер может быть "остановлен" именно там я уже писал). Твои cups'овые логи не помогут - там отражается факт принятия задания cups'ом, но не дальнейшие действия самого cups'а.
Посмотри во временных файлах (/var/spool/cups) - там отражается текущее состояние задания на печать и в файлах можно подсмотреть, что происходит с заданием.
Не знаю как в дебиане, в слаке все четко отрабатывает и если принципиально на какую-то модель принтера печать возможна - печать работает, что на принтер через самбу (на виндовую машину), что на сетевой, что на принтер через сетевой конвертер.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By voral Date 02.07.09 09:19
нет он не отваливается. Из винды на виртуалбоксе вообще все красиво.
А тут если не включен был во время загрузки то надо дергать. Иначе документ встает в очередь, но не печатает.

Есть и еще одна проблема пока не решенная: если печтать из kpdf или gimp. ТО просто встает в очередь и все.... Даже дерганье не помогает... Приходится пока картинку в офис загонять и печатать...

Правда вчера доэксперементировался. Дернуло залезть в гуевую "Принетры" в свойства моего LBP2900  - Интерфейс.....   Там было uri содержало "ccpd" дернуло поменять "выбор протокола низкого уровня" на локальный usb, параллельный, последовательный принтер uri стало canon:/dev/usb/lp0 теперь и из офиса не печатает. А я блин даже старую ури не запомнил...

Сейчас, правда в капсовом логе появилась еще строки:

I [02/Jul/2009:09:34:48 +0400] Loaded configuration file "/etc/cups/cupsd.conf"
N [02/Jul/2009:09:34:48 +0400] Group and SystemGroup cannot use the same groups!
I [02/Jul/2009:09:34:48 +0400] Resetting Group to "root"...
I [02/Jul/2009:09:34:48 +0400] Configured for up to 100 clients.
I [02/Jul/2009:09:34:48 +0400] Allowing up to 100 client connections per host.
I [02/Jul/2009:09:34:48 +0400] Using policy "default" as the default!
I [02/Jul/2009:09:34:48 +0400] Full reload is required.
I [02/Jul/2009:09:34:48 +0400] Saving job cache file "/var/cache/cups/job.cache"...
I [02/Jul/2009:09:34:48 +0400] Loaded MIME database from '/etc/cups': 36 types, 40 filters...
I [02/Jul/2009:09:34:48 +0400] Loading job cache file "/var/cache/cups/job.cache"...
I [02/Jul/2009:09:34:48 +0400] Full reload complete.
I [02/Jul/2009:09:34:48 +0400] Listening to 127.0.0.1:631 on fd 3...
I [02/Jul/2009:09:34:48 +0400] Listening to /var/run/cups/cups.sock on fd 4...
I [02/Jul/2009:09:34:48 +0400] Resuming new connection processing...
I [02/Jul/2009:13:14:39 +0400] Started "/usr/lib/cups/daemon/cups-deviced" (pid=5082)
I [02/Jul/2009:13:14:43 +0400] Started "/usr/lib/cups/daemon/cups-deviced" (pid=5108)
I [02/Jul/2009:13:15:14 +0400] Started "/usr/lib/cups/daemon/cups-deviced" (pid=5133)
I [02/Jul/2009:13:15:16 +0400] Started "/usr/lib/cups/daemon/cups-deviced" (pid=5155)
Parent - By LOE (Site/forum admin) Date 02.07.09 10:01
Бардак.

В логах ни про какое отсутствие доступа нет ни слова. Есть про "Group and SystemGroup cannot use the same groups!"

Далее. Если на этой машине еще и виртуальные системы запускаются, то не удивительно, что нет доступа.
Если USB устройство отдается на откуп виртуалке, то в основной системе про это устройство надо забыть.
Посмотри dmesg - что там происходит в момент подключения принтера/старта(работы) виртуалки.

Совет:
настрой принтер в основной системе, сделай принтер сетевым и из виртуалки печатай на "сетевой принтер":
а) расшарить через самбу
б) поднять сервер печати на 9100 порту и в виртуальной винде настроить принтер через "сетевой порт"
Но не отдавать на откуп виртуалке этот принтер.

Вообще, этот LBP2900 у меня работал без ручного запуска всяких специфичных ccpd. Поставил набор фильтров с сайта (cndrvcups-capt-1.60 и cndrvcups-common-1.60), в cups'е добавил принтер через прилагаемый .ppd файл (/usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd) и больше никаких телодвижений. Все нужные ccp, pstocapt, capt* вызываются полностью прозрачно. Все работает.

А уж про kpdf и речи нет. Все KDE'шные приложения (особенно KDE-4.x) используют cups на полную катушку, прозрачно и без проблем.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By voral Date 02.07.09 10:35
В логах ни про какое отсутствие доступа нет ни слова. Есть про "Group and SystemGroup cannot use the same groups!"
я уже удалил слова про доступ.... Во вчерашнем логе было. :-)

Далее. Если на этой машине еще и виртуальные системы запускаются, то не удивительно, что нет доступа.
Нет. Я знаю что виртуалка лочит.... Одновременная пеать мне нафиг не нужна... Сказал чтоб отсеч варианты с глюками принтера/проводов

Вообще, этот LBP2900 у меня работал без ручного запуска всяких специфичных ccpd. Поставил набор фильтров с сайта (cndrvcups-capt-1.60 и cndrvcups-common-1.60), в cups'е добавил принтер через прилагаемый .ppd файл (/usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd) и больше никаких телодвижений.

Так и я так сделал. ТОлько файл по другому назывался.... хм.....

А уж про kpdf и речи нет.
У меня есть :-(

Сейчас вообще хотел все принтерное снести и установить заново - вообще кде тоже деинсталировалось....... бляха... :-(
Parent - By LOE (Site/forum admin) Date 02.07.09 10:46
Если в логах нет полезной информации (а только информационные сообщения) - зачем его цитировать?

> Нет. Я знаю что виртуалка лочит.... Одновременная пеать мне нафиг не нужна... Сказал чтоб отсеч варианты с глюками принтера/проводов


Ну так как только взводится виртуалка, она и цепляет принтер на себя. Настрой, чтобы или только принтер, или вся USB виртуалке не отдавалась.
А вообще, всю настройку надо проводить вчистую - без загруженной виртуалки. Только после того, как на основной системе все будет четко работать, можно делать телодвижения в сторону спаривания с виртуалкой.

А удалять все подчистую - вообще не надо. Здесь вам не тут, то-бишь это не винда. Все настраивается вообще даже без перезагрузок.
Правятся конфиги, смотрятся логи, опять правятся конфиги и по необходимости - рестарт подсистем.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent By voral Date 02.07.09 11:26

> А вообще, всю настройку надо проводить вчистую - без загруженной виртуалки.


естественно.

> А удалять все подчистую - вообще не надо.
> Правятся конфиги, смотрятся логи, опять правятся конфиги и по необходимости - рестарт подсистем.


я согласен. но я всего лишь 2 месяца работаю под линуксом и еще не все знаю где и что искать. Нужен был принтер побыстрее :-)
Parent By voral Date 02.07.09 11:53
Итак... В результате переустановки решилась 1 проблема: pdf печатает

Если при загрузке системы принтер выключен, то не печатает - только ставит в очередь. Как только рестартую ccpd сразу идет печать.
при подключении принтера dmesg

[  130.455029] usb 6-3: new high speed USB device using ehci_hcd and address 4
[  130.602107] usb 6-3: configuration #1 chosen from 1 choice
[  130.602107] usb 6-3: New USB device found, idVendor=04a9, idProduct=2676
[  130.602107] usb 6-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  130.602107] usb 6-3: Product: Canon CAPT USB Device
[  130.602107] usb 6-3: Manufacturer: Canon
[  130.602107] usb 6-3: SerialNumber: 0000A3777KUP
[  130.983987] usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04A9 pid 0x2676
[  130.984022] usbcore: registered new interface driver usblp
Parent - By voral Date 02.07.09 12:20
Поступаю следующим образом.
1. создаю файл от рута /etc/udev/rules.d/99-udev-my.rules с правами чтение и запись для владельца и чтение для группы и отсальных

# Printer
KERNEL=="lp0", ACTION=="add", RUN+="/etc/udev/scripts/printer add"
KERNEL=="lp0", ACTION=="remove", RUN+="/etc/udev/scripts/printer remove"


2. Создаю файл от рута /etc/udev/scripts/printer права уже 777

#!/bin/bash
LOG="/var/log/udev"
sleep 3
if [ "$1" = "add" ]; then
    echo "starting printing system" >> $LOG
elif [ "$1" = "remove" ]; then
    echo "stopping printing system" >> $LOG
fi

Перегружаюсь.... При включении и выключении принтера ни чего не происходит (я хочу чтобы в логе /var/log/udev появиись строчки). вывод dmesg при включении выше.
В чем может быть моя ошибка?
Parent - By LOE (Site/forum admin) Date 02.07.09 12:45
Попробуй:
KERNEL=="usblp0"
или
KERNEL=="usblp"

А вообще, по lshal можно узнать все характеристики и, как приводил пример выше (BUS=="usb", SYSFS{idProduct}=="7554", SYSFS{idVendor}=="0483"), привязаться к id'шкам вендора и продукта.

PS. перегружаться нет необходимости, достаточно рестартовать udev подсистему.
PPS. цитирование при ответе - начинать строку с символа >
вставка кусков кода - обрамлять тэгом [block] ... [/block]
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By voral Date 02.07.09 13:15
до рестарта udev уже "дорос"  :-)

Уже опробовал через продукт и вендор айди. Результат пока тот же... Правда при пробе команды lshal возникла мысль числа в какой системе здесь SYSFS{......}=="7554" ?
Я опставил в 16ричной но без лидирующего 0x

Просто взял из вывода команды udevinfo
Parent By Bercut Date 02.07.09 13:23
пральным путем идете товарищи
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By Bercut Date 02.07.09 13:12 Edited 02.07.09 13:22
посмотри внимательне логи udev
да и вообще про систему почитай,
я тут кстати как то распинался как удев девайсы отличает по разным параметрам (про бондинг дело было),
вот исходя из этого определи уникальные параметры для своего лазернрго дружка, кстати символы подстановки тоже рулят типа звездочки,
и потом пиши соответствующие правила удев

вот
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent By voral Date 02.07.09 13:24
в конфиге udev была строка udev_log="err"
поставил "debug"

Файла /var/log/udev*   нету и не было. Или udev не пишет свой отдельный лог ?

Все, приторможу, пойду читать буквари про udev
Parent By voral Date 02.07.09 13:43
хм.... поставил свое правило ближе к началу обработки. Вместо 99- сделал 11-.
Теперь  событие включения принтера регистрируется!
В принципе достаточно, но буду добиваться и выключения....
Previous Next Up Topic Железо / Настраиваем железки / Принтер не подхватывается (47238 hits)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.078s with 11 database queries.