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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(не показано 11 промежуточных версий 2 участников)
Строка 1: Строка 1:
== Установка драйвера Canon CAPT для принтеров Canon LBP ==
+
==Автоматическая установка (рекомендуется для начинающих пользователей) ==
 +
* Пока не включаем принтер
 +
* Скачиваем в домашнюю папку последнюю версию скрипта установки принтера:
 +
wget -O rosa_canon_lbp.sh 'https://drive.google.com/uc?export=download&confirm=no_antivirus&id=1W63XWMSSQedLxhbTY-L1CnWu7jeUg6l5'
 +
* Делаем скрипт исполняемым:
 +
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 по ссылке http://support-asia.canon-asia.com/contents/ASIA/EN/0100459601.html
 
* Распаковываем архив, открываем в терминале папку '''''32-bit_Driver/RPM/''''' либо '''''64-bit_Driver/RPM/''''' в соответствии с разрядностью Вашей системы и устанавливаем два RPM пакета:
 
* Распаковываем архив, открываем в терминале папку '''''32-bit_Driver/RPM/''''' либо '''''64-bit_Driver/RPM/''''' в соответствии с разрядностью Вашей системы и устанавливаем два RPM пакета:
  sudo urpmi *.rpm
+
  sudo urpmi *.rpm --auto
* Перезагружаем компьютер
+
* Перезапускаем службу 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: Строка 36:
 
|-
 
|-
 
| LBP6200 || CNCUPSLBP6200CAPTK.ppd
 
| LBP6200 || CNCUPSLBP6200CAPTK.ppd
 +
|-
 +
| LBP6020 || CNCUPSLBP6020CAPTK.ppd
 
|-
 
|-
 
| LBP6000 LBP6018 || CNCUPSLBP6018CAPTK.ppd
 
| LBP6000 LBP6018 || CNCUPSLBP6018CAPTK.ppd
Строка 62: Строка 75:
 
| LBP-810 || CNCUPSLBP1120CAPTK.ppd
 
| LBP-810 || CNCUPSLBP1120CAPTK.ppd
 
|}
 
|}
 
+
* Приведем init-скрипт ccpd к стандарту LSB. Для этого в файл '''/etc/init.d/ccpd''' после первых двух строк
* Запускаем службу ccpd:
+
sudo systemctl start ccpd
+
* Добавляем службу ccpd в автозагрузку. Для этого создадим файл /etc/rc.local:
+
kdesu kwrite /etc/rc.local
+
* В открывшемся текстовом редакторе вставляем следующие строки и сохраняем файл:
+
 
  #!/bin/sh
 
  #!/bin/sh
  systemctl start ccpd
+
  # startup script for Canon Printer Daemon for CUPS (ccpd)
Сделаем файл /etc/rc.local исполняемым:
+
вставим следующий блок:
  sudo chmod +x /etc/rc.local
+
  ### BEGIN INIT INFO
* Включаем принтер, пробуем печать.
+
# Provides:          ccpd
 
+
# Required-Start:    $local_fs $remote_fs $syslog $network $named
== Возможные проблемы и их решение ==
+
# Should-Start:      $ALL
Автор данной статьи столкнулся всего с одной проблемой. Принтер печатал только если он был включен до загрузки операционной системы. Если принтер был включен после загрузки операционной системы, печать была невозможна. Проблема заключается в следующем: при загрузке с включенным принтером система его определяла как нам нужно '''/dev/usb/lp0''', а при загрузке с выключенным принтером и последующим его включением, система определяла его как '''/dev/usb/lp1'''. Решение данной проблемы следующее:
+
# Required-Stop:     $syslog $remote_fs
* Выясним, как определится принтер в текущий момент: зайдите в папку /dev/usb и включите принтер. Появится новый файл /dev/usb/lp[номер].
+
# Default-Start:    2 3 4 5
* Создадим имя для идентификации принтера:
+
# Default-Stop:      0 1 6
  udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp[НОМЕР])
+
# Description:      Start Canon Printer Daemon for CUPS
У интересующего нас столбца последняя строчка: "ATTRS{product}=="Canon CAPT USB Device"". Находим в этом столбце значение: ATTRS{serial}=="[нужное значение]"<br />
+
### END INIT INFO
Создаем правило Udev:
+
* Перезагрузим systemd с поиском новых или измененных юнитов:
kdesu kwrite /etc/udev/rules.d/99-printer.rules
+
sudo systemctl daemon-reload
Вставляем в файл строчку и сохраняем:
+
* Добавим службу ccpd в автозагрузку
  SUBSYSTEMS=="usb", ATTRS{serial}=="[нужное значение]", SYMLINK+="canonLBP"
+
sudo systemctl enable ccpd
Перезагружаем udev:
+
* Создадим правило для определения принтера. Для этого сперва выясним, как определится принтер в текущий момент: зайдите в папку '''/dev/usb''' и включите принтер. Появится новый файл '''/dev/usb/lp[НОМЕР]'''.
  sudo systemctl restart udev
+
* Выясним атрибут '''ATTRS{serial}''' нашего принтера. Для этого введите команду:
Выключаем и заново включаем принтер<br />
+
  udevadm info -a -p $(udevadm info -q path -n '''/dev/usb/lp[НОМЕР]''')
Проверяем правило:
+
где '''[НОМЕР]''' соответствует номеру файла '''/dev/usb/lp[НОМЕР]''', который мы увидели чуть ранее. Данная команда выведет на экран несколько столбцов. У интересующего нас столбца последняя строчка: '''"ATTRS{product}=="Canon CAPT USB Device""'''. Находим и копируем в этом столбце значение: '''ATTRS{serial}=="[нужное значение]"'''<br />
ls -al /dev/canonLBP
+
*Создадим правило, которое обеспечит альтернативное имя (символическую ссылку) нашему принтеру, чтобы не зависеть от меняющихся значений lp0, lp1 и т.д. Для этого создадим файл '''/etc/udev/rules.d/85-canon-capt.rules''' со следующим содержимым (не забудьте подставить нужное значение '''ATTRS{serial}'''):
Если Вы всё сделали правильно, то увидите примерно это:
+
  KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", ATTRS{serial}=="[нужное значение]", SYMLINK+="canon"
lrwxrwxrwx 1 root root 21 ноября 27 15:18 /dev/canonLBP -> usb/lp1 (вместо lp1 может быть любая цифра, это нормально)
+
* Обновим правила Udev:
Обновляем ccpdadmin в соответствии с нашим правилом (не забудьте вместо LBP2900 указать Вашу модель принтера):
+
  sudo udevadm control --reload-rules
  sudo ccpdadmin -p LBP2900 -o /dev/canonLBP
+
* Выключаем и заново включаем принтер
Перезагружаем компьютер и пробуем печать.
+
*Обновляем ccpdadmin в соответствии с нашим правилом (не забудьте вместо '''LBP2900''' указать Вашу модель принтера):
 
+
  sudo ccpdadmin -p '''LBP2900''' -o /dev/canon
== Видео инструкция по установке принтеров Canon LBP на Rosa Desktop Fresh ==
+
* Перезапустим службу ccpd:
https://www.youtube.com/watch?v=rhUJZBtwNYs
+
sudo systemctl restart ccpd
 +
* Пробуем печать.

Версия 17:18, 25 ноября 2017

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

  • Пока не включаем принтер
  • Скачиваем в домашнюю папку последнюю версию скрипта установки принтера:
wget -O rosa_canon_lbp.sh 'https://drive.google.com/uc?export=download&confirm=no_antivirus&id=1W63XWMSSQedLxhbTY-L1CnWu7jeUg6l5'
  • Делаем скрипт исполняемым:
chmod +x rosa_canon_lbp.sh
  • Запускаем скрипт:
./rosa_canon_lbp.sh
  • Следуем дальнейшим указаниям скрипта
  • Пробуем печать

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

  • Пока не включаем принтер
  • Скачиваем архив с драйверами Canon CAPT по ссылке http://support-asia.canon-asia.com/contents/ASIA/EN/0100459601.html
  • Распаковываем архив, открываем в терминале папку 32-bit_Driver/RPM/ либо 64-bit_Driver/RPM/ в соответствии с разрядностью Вашей системы и устанавливаем два RPM пакета:
sudo urpmi *.rpm --auto
  • Перезапускаем службу 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
  • Приведем init-скрипт ccpd к стандарту LSB. Для этого в файл /etc/init.d/ccpd после первых двух строк
#!/bin/sh
# startup script for Canon Printer Daemon for CUPS (ccpd)

вставим следующий блок:

### BEGIN INIT INFO
# Provides:          ccpd
# Required-Start:    $local_fs $remote_fs $syslog $network $named
# Should-Start:      $ALL
# Required-Stop:     $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Start Canon Printer Daemon for CUPS
### END INIT INFO
  • Перезагрузим 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
  • Пробуем печать.