пятница, 17 мая 2013 г.

Принтеры Canon в Linux

Вы счастливый обладатель компьютера под управлением Linux (мой вариант Ubuntu). Вам нужен принтер или ещё сложнее МФУ. Что купить, чтобы не выбросить деньги на ветер так и не запустив устройство совместно с Linux? Подскажу вам из личного опыта. Тестировал на Ubuntu 10.10, 11.04.

Canon i-SENSYS MF4010.
Работает без нареканий (как принтер так и сканер) в 32-разрядных Ubuntu. В 64-разрядных принтер периодически отваливался (это из собственного опыта повторяю). После перестановки системы 64 на 32 глюки исчезли.

Canon i-SENSYS MF4350.
Работает без нареканий (как принтер так и сканер) в 32-разрядных Ubuntu. В 64-разрядных не испытывал.

Canon i-SENSYS MF4410.
Работает без нареканий (как принтер так и сканер) в 32-разрядных Ubuntu. В 64-разрядных не испытывал. Нужны танцы с бубном.

Canon i-SENSYS MF3010.
Работает без нареканий (как принтер так и сканер) в 32-разрядных Ubuntu. В 64-разрядных не испытывал. Нужны танцы с бубном.

Canon i-SENSYS LBP5050.
Мегаглючная вещь, с родными драйверами работать напрочь отказывается. Танцы с бубном обеспечены. Измучился с ним. Запустил его в итоге, но гадость редкостная: постоянно отваливается и не работают настройки яркости, контрастности и прочие. Принтер их просто игнорирует. Не советую покупать его к Linux'у.

Canon i-SENSYS MF5940dn.
Скоро куплю, попробую :)


А теперь собственно танцы!

Во первых, чтобы запустить все вышеперечисленные устройства, вам понадобятся драйвера. Качайте их с официала Canon. Я использовал версию 2.20.

Скачали?

Сначала устанавливаем cndrvcups-common_2.20-1_i386.deb, затем cndrvcups-ufr2-uk_2.20-1_i386.deb. (ищите на официале Canon, скачиваются одним архивом) Если система ругнется и скажет что не могу поставить так как нет gs-esp, то ставим gs-esp_8.71.dfsg.2-0ubuntu7_all.deb, а потом вышеперечисленные пакеты.

Затем с помощью стандартных средств (если система сама не нашла принтер) устанавливаем нужный принтер с нужным драйвером.

Проверяем. Принтер печатает.

Теперь сканер. Это сложнее.

Открываем терминал и пишем:

1. sudo apt-get install libusb-dev build-essential libsane-dev git-core
2. git clone git://git.debian.org/sane/sane-backends.git
3. cd sane-backends
4. ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var && make && sudo make install

Вы установили систему сканирования, теперь вам надо подправить один файл, но сначала:

5. sane-find-scanner

На что вы получите что-то такое:

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon Inc], product=0x2737 [MF4410]) at libusb:002:005
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

Теперь собственно редактим файл:

6. sudo gedit /lib/udev/rules.d/40-libsane.rules

Добавляем туда вот такую строчку:

# Canon imageCLASS MF4410     <-- сюда пишем ваш принтер
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2737", ENV{libsane_matched}="yes"

Поняли откуда я взял idVendor и idProduct? Ну конечно, из вывода команды sane-find-scanner. У каждого устройства они разные.

Теперь сохраняем файл и перезагружаемся.

Если вы не знаете чем сканировать, то выполните в терминале sudo apt-get install xsane или установите xsane через центр приложений Ubuntu.

8 комментариев:

  1. https://aur.archlinux.org/packages/cndrvcups-lb/ - вот то, что очень помогает в данной проблеме. Внутри deb-файлики с последними драйверами на МФУ от Canon.

    ОтветитьУдалить
    Ответы
    1. Поставил на ubuntu 12.10 на MF5940dn вообще без проблем ( используя #dpkg -i ./*.deb в папке Linux_UFRII_PrinterDriver_V260_uk_EN/32-bit_Driver/Debian.

      Удалить
  2. http://support-au.canon.com.au/contents/AU/EN/0100270808.html - ссылка на официальный сайт Canon

    ОтветитьУдалить
  3. В Canon i-SENSYS MF3010 не завёлся сканер в 64-битной 12.04 по этим инструкциям.

    sane-find-scanner его определяет, но scanimage -L принтера не видит. То есть по сравнению с исходным состоянием ничего не изменилось.

    ОтветитьУдалить
    Ответы
    1. Тоже не смог сначала завести Canon i-SENSYS MF3010, правда на x86, оказалось что версии backend и frontend не совпадают. Помогла эта ссылочка http://jonathan.bergknoff.com/journal/scanning-ubuntu-canon-mf3010 (он поднял на x64 на 13.10)

      Удалить
    2. Здесь завелся принтер и сканер Canon MF-4410
      Хотя драйвер подходит для других моделей Кенон
      http://linux-ubuntu.info/en/canon-mf-4410

      Удалить
  4. ch@ag0:~$ git clone git://git.debian.org/sane/sane-backends.git
    Cloning into 'sane-backends'...
    fatal: unable to connect to git.debian.org:
    moszumanska.debian.org[0: 5.153.231.21]: errno=Время ожидания соединения истекло
    moszumanska.debian.org[1: 2001:41c8:1000:21::21:21]: errno=Сеть недоступна

    ОтветитьУдалить
  5. Отличная статья очень много раз помогла настроить мфу

    ОтветитьУдалить