Установка принтеров Canon LBP — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Новая страница: «== Установка драйвера Canon CAPT для принтеров Canon LBP == * Пока не включаем принтер * Скачиваем а…»)
 
(Автоматическая установка (рекомендуется для начинающих пользователей))
 
(не показано 20 промежуточных версий 3 участников)
Строка 1: Строка 1:
== Установка драйвера Canon CAPT для принтеров Canon LBP ==
+
==Автоматическая установка (рекомендуется для начинающих пользователей) ==
 +
* Пока не включаем принтер
 +
* Скачиваем в домашнюю папку последнюю версию скрипта установки принтера:
 +
wget http://wiki.rosalab.ru/ru/images/0/04/Rosa_canon_lbp.zip
 +
Либо через браузер: [[Файл:Rosa canon lbp.zip]]
 +
* Распаковываем файл:
 +
unzip ./Rosa_canon_lbp.zip
 +
* Делаем скрипт исполняемым:
 +
chmod +x rosa_canon_lbp.sh
 +
* Запускаем скрипт:
 +
./rosa_canon_lbp.sh
 +
* Следуем дальнейшим указаниям скрипта
 +
* Пробуем печать<hr>
 +
 
 +
==Ручная установка (для опытных пользователей) ==
  
 
* Пока не включаем принтер
 
* Пока не включаем принтер
* Скачиваем архив с драйверами Canon CAPT по ссылке http://support-asia.canon-asia.com/contents/ASIA/EN/0100459601.html
+
* Скачиваем архив с драйверами Canon CAPT по ссылке https://www.canon.ru/support/consumer_products/products/printers/laser/i-sensys_lbp6000.html?type=drivers&language=ru&os=linux%20(64-bit)
 
* Распаковываем архив, открываем в терминале папку '''''32-bit_Driver/RPM/''''' либо '''''64-bit_Driver/RPM/''''' в соответствии с разрядностью Вашей системы и устанавливаем два RPM пакета:
 
* Распаковываем архив, открываем в терминале папку '''''32-bit_Driver/RPM/''''' либо '''''64-bit_Driver/RPM/''''' в соответствии с разрядностью Вашей системы и устанавливаем два RPM пакета:
  sudo urpmi *.rpm
+
  sudo dnf install *.rpm
* Перезагружаем компьютер
+
* Перезапускаем службу CUPS:
* Регистрируем принтер в системе:
+
sudo systemctl restart cups
  sudo lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
+
* Регистрируем принтер в системе: Внимание! Вместо '''LBP2900''' укажите свою модель принтера, а вместо '''CNCUPSLBP2900CAPTK.ppd''' укажите название ppd вашего принтера из ниже указанной таблицы:
  sudo ccpdadmin -p LBP2900 -o /dev/usb/lp0
+
  sudo lpadmin -p '''LBP2900''' -m '''CNCUPSLBP2900CAPTK.ppd''' -v ccp://localhost:59687 -E
Вместо LBP2900 укажите свою модель принтера, а вместо CNCUPSLBP2900CAPTK.ppd укажите название ppd вашего принтера из ниже указанной таблицы:
+
  sudo ccpdadmin -p '''LBP2900''' -o /dev/usb/lp0
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Строка 25: Строка 39:
 
|-
 
|-
 
| LBP6200 || CNCUPSLBP6200CAPTK.ppd
 
| LBP6200 || CNCUPSLBP6200CAPTK.ppd
 +
|-
 +
| LBP6020 || CNCUPSLBP6020CAPTK.ppd
 
|-
 
|-
 
| LBP6000 LBP6018 || CNCUPSLBP6018CAPTK.ppd
 
| LBP6000 LBP6018 || CNCUPSLBP6018CAPTK.ppd
Строка 62: Строка 78:
 
| LBP-810 || CNCUPSLBP1120CAPTK.ppd
 
| LBP-810 || CNCUPSLBP1120CAPTK.ppd
 
|}
 
|}
 +
* Пропишем демон ccpd в systemd. Для этого в файл '''/etc/systemd/system/ccpd.service''' необходимо занести следующее:
  
* Запускаем службу ccpd:
+
[Unit]
  sudo systemctl start ccpd
+
Description=CCPD Printing Daemon
* Добавляем службу ccpd в автозагрузку. Для этого создадим файл /etc/rc.local:
+
Requires=cups.service
  kdesu kwrite /etc/rc.local
+
After=cups.service
* В открывшемся текстовом редакторе вставляем следующие строки и сохраняем файл:
+
[Service]
  #!/bin/sh
+
Type=forking
  systemctl start ccpd
+
ExecStart=/usr/sbin/ccpd
* Включаем принтер, пробуем печать.
+
TimeoutSec=5
 +
[Install]
 +
WantedBy=multi-user.target
 +
* Удалим файл /etc/rc.d/init.d/ccpd
 +
sudo rm -f /etc/rc.d/init.d/ccpd
 +
* Перезагрузим systemd с поиском новых или измененных юнитов:
 +
  sudo systemctl daemon-reload
 +
* Добавим службу ccpd в автозагрузку
 +
sudo systemctl enable ccpd
 +
* Создадим правило для определения принтера. Для этого сперва выясним, как определится принтер в текущий момент: зайдите в папку '''/dev/usb''' и включите принтер. Появится новый файл '''/dev/usb/lp[НОМЕР]'''.
 +
* Выясним атрибут '''ATTRS{serial}''' нашего принтера. Для этого введите команду:
 +
  udevadm info -a -p $(udevadm info -q path -n '''/dev/usb/lp[НОМЕР]''')
 +
где '''[НОМЕР]''' соответствует номеру файла '''/dev/usb/lp[НОМЕР]''', который мы увидели чуть ранее. Данная команда выведет на экран несколько столбцов. У интересующего нас столбца последняя строчка: '''"ATTRS{product}=="Canon CAPT USB Device""'''. Находим и копируем в этом столбце значение: '''ATTRS{serial}=="[нужное значение]"'''<br />
 +
*Создадим правило, которое обеспечит альтернативное имя (символическую ссылку) нашему принтеру, чтобы не зависеть от меняющихся значений lp0, lp1 и т.д. Для этого создадим файл '''/etc/udev/rules.d/85-canon-capt.rules''' со следующим содержимым (не забудьте подставить нужное значение '''ATTRS{serial}'''):
 +
  KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", ATTRS{serial}=="[нужное значение]", SYMLINK+="canon"
 +
* Обновим правила Udev:
 +
sudo udevadm control --reload-rules
 +
* Выключаем и заново включаем принтер
 +
*Обновляем ccpdadmin в соответствии с нашим правилом (не забудьте вместо '''LBP2900''' указать Вашу модель принтера):
 +
sudo ccpdadmin -p '''LBP2900''' -o /dev/canon
 +
* Перезапустим службу ccpd:
 +
  sudo systemctl restart ccpd
 +
* Пробуем печать.
  
== Возможные проблемы и их решение ==
+
Для предотвращения проблем с обновлением системы открываем на редактирование настройки пакетного менеджера:
Автор данной статьи столкнулся всего с одной проблемой. Принтер печатал только если он был включен до загрузки операционной системы. Если принтер был включен после загрузки операционной системы, печать была невозможна. Проблема заключается в следующем: при загрузке с включенным принтером система его определяла как нам нужно '''/dev/usb/lp0''', а при загрузке с выключенным принтером и последующим его включением, система определяла его как '''/dev/usb/lp1'''. Решение данной проблемы следующее:
+
sudo nano /etc/dnf/dnf.conf
* Выясним, как определится принтер в текущий момент: зайдите в папку /dev/usb и включите принтер. Появится новый файл /dev/usb/lp[номер].
+
В конец файла (в секции [main]) добавляем строку:
* Создадим имя для идентификации принтера:
+
  excludepkgs=cndrvcups*
udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp[НОМЕР])
+
Нажимаем Ctrl+O, Enter, Ctrl+X для сохранения и выхода из редактора nano.
У интересующего нас столбца последняя строчка: "ATTRS{product}=="Canon CAPT USB Device"". Находим в этом столбце значение: ATTRS{serial}=="[нужное значение]"<br />
+
Создаем правило Udev:
+
  kdesu kwrite /etc/udev/rules.d/99-printer.rules
+
Вставляем в файл строчку и сохраняем:
+
SUBSYSTEMS=="usb", ATTRS{serial}=="[нужное значение]", SYMLINK+="canonLBP"
+
Перезагружаем udev:
+
sudo systemctl restart udev
+
Выключаем и заново включаем принтер<br />
+
Проверяем правило:
+
ls -al /dev/canonLBP
+
Если Вы всё сделали правильно, то увидите примерно это:
+
lrwxrwxrwx 1 root root 21 ноября 27 15:18 /dev/canonLBP -> usb/lp1 (вместо lp1 может быть любая цифра, это нормально)
+
Обновляем ccpdadmin в соответствии с нашим правилом (не забудьте вместо LBP2900 указать Вашу модель принтера):
+
sudo ccpdadmin -p LBP2900 -o /dev/canonLBP
+
Перезагружаем компьютер и пробуем печать.
+

Текущая версия на 18:02, 10 августа 2022

Автоматическая установка (рекомендуется для начинающих пользователей)

  • Пока не включаем принтер
  • Скачиваем в домашнюю папку последнюю версию скрипта установки принтера:
wget http://wiki.rosalab.ru/ru/images/0/04/Rosa_canon_lbp.zip

Либо через браузер: Файл:Rosa canon lbp.zip

  • Распаковываем файл:
unzip ./Rosa_canon_lbp.zip
  • Делаем скрипт исполняемым:
chmod +x rosa_canon_lbp.sh
  • Запускаем скрипт:
./rosa_canon_lbp.sh
  • Следуем дальнейшим указаниям скрипта
  • Пробуем печать

Ручная установка (для опытных пользователей)

sudo dnf install *.rpm
  • Перезапускаем службу CUPS:
sudo systemctl restart cups
  • Регистрируем принтер в системе: Внимание! Вместо LBP2900 укажите свою модель принтера, а вместо CNCUPSLBP2900CAPTK.ppd укажите название ppd вашего принтера из ниже указанной таблицы:
sudo lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
sudo ccpdadmin -p LBP2900 -o /dev/usb/lp0
Имя принтера Имя файла PPD
LBP9100C CNCUPSLBP9100CCAPTK.ppd
LBP7200C series CNCUPSLBP7200CCAPTK.ppd
LBP7200Cdn (network mode) CNCUPSLBP7200CCAPTK.ppd
LBP7018C / LBP7010C CNCUPSLBP7018CCAPTK.ppd
LBP6300 CNCUPSLBP6300CAPTK.ppd
LBP6200 CNCUPSLBP6200CAPTK.ppd
LBP6020 CNCUPSLBP6020CAPTK.ppd
LBP6000 LBP6018 CNCUPSLBP6018CAPTK.ppd
LBP5300 CNCUPSLBP5300CAPTK.ppd
LBP5100 CNCUPSLBP5100CAPTK.ppd
LBP5050 series CNCUPSLBP5050CAPTK.ppd
LBP5000 CNCUPSLBP5000CAPTK.ppd
LBP3500 CNCUPSLBP3500CAPTK.ppd
LBP3310 CNCUPSLBP3310CAPTK.ppd
LBP3300 CNCUPSLBP3300CAPTK.ppd
LBP3250 CNCUPSLBP3250CAPTK.ppd
LBP3210 CNCUPSLBP3210CAPTK.ppd
LBP3200 CNCUPSLBP3200CAPTK.ppd
LBP3100 / LBP3108 / LBP3150 CNCUPSLBP3150CAPTK.ppd
LBP3010 / LBP3018 / LBP3050 CNCUPSLBP3050CAPTK.ppd
LBP3000 CNCUPSLBP3000CAPTK.ppd
LBP2900 CNCUPSLBP2900CAPTK.ppd
LBP-1210 CNCUPSLBP1210CAPTK.ppd
LBP-1120 CNCUPSLBP1120CAPTK.ppd
LBP-810 CNCUPSLBP1120CAPTK.ppd
  • Пропишем демон ccpd в systemd. Для этого в файл /etc/systemd/system/ccpd.service необходимо занести следующее:
[Unit]
Description=CCPD Printing Daemon
Requires=cups.service
After=cups.service
[Service]
Type=forking
ExecStart=/usr/sbin/ccpd
TimeoutSec=5
[Install]
WantedBy=multi-user.target
  • Удалим файл /etc/rc.d/init.d/ccpd
sudo rm -f /etc/rc.d/init.d/ccpd
  • Перезагрузим systemd с поиском новых или измененных юнитов:
sudo systemctl daemon-reload
  • Добавим службу ccpd в автозагрузку
sudo systemctl enable ccpd
  • Создадим правило для определения принтера. Для этого сперва выясним, как определится принтер в текущий момент: зайдите в папку /dev/usb и включите принтер. Появится новый файл /dev/usb/lp[НОМЕР].
  • Выясним атрибут ATTRS{serial} нашего принтера. Для этого введите команду:
udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp[НОМЕР])

где [НОМЕР] соответствует номеру файла /dev/usb/lp[НОМЕР], который мы увидели чуть ранее. Данная команда выведет на экран несколько столбцов. У интересующего нас столбца последняя строчка: "ATTRS{product}=="Canon CAPT USB Device"". Находим и копируем в этом столбце значение: ATTRS{serial}=="[нужное значение]"

  • Создадим правило, которое обеспечит альтернативное имя (символическую ссылку) нашему принтеру, чтобы не зависеть от меняющихся значений lp0, lp1 и т.д. Для этого создадим файл /etc/udev/rules.d/85-canon-capt.rules со следующим содержимым (не забудьте подставить нужное значение ATTRS{serial}):
KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", ATTRS{serial}=="[нужное значение]", SYMLINK+="canon"
  • Обновим правила Udev:
sudo udevadm control --reload-rules
  • Выключаем и заново включаем принтер
  • Обновляем ccpdadmin в соответствии с нашим правилом (не забудьте вместо LBP2900 указать Вашу модель принтера):
sudo ccpdadmin -p LBP2900 -o /dev/canon
  • Перезапустим службу ccpd:
sudo systemctl restart ccpd
  • Пробуем печать.

Для предотвращения проблем с обновлением системы открываем на редактирование настройки пакетного менеджера:

sudo nano /etc/dnf/dnf.conf

В конец файла (в секции [main]) добавляем строку:

excludepkgs=cndrvcups*

Нажимаем Ctrl+O, Enter, Ctrl+X для сохранения и выхода из редактора nano.