Xerox Phaser 6000 против Linux x86_64

Попался мне в руки принтер Xerox Phaser 6000 и к моему великому удивлению отказался работать в Kubuntu 12.10. Причём производителем принтера была завялена поддержка Linux, но…

Не в тему

Интенсивное гугление показало, что проблема довольно редкая, но решаемая. Подтверждалось это буквально в каждой статье и в каждом обсуждении на тему. Предлагалась целая тонна всевозможных решений, которые, разумеется мне не подошли. :) Но то самое решение таки нашлось.

Итак, обо всеём по порядку.

Сначала принтер не мог вообще определиться. То–есть система видела некое USB–устройство, но понять, что это за девайс не могла. Сообщения в dmesg выглядели примерно так:

  1. usb 3-1: device descriptor read/64, error -62
  2. usb 3-1: device descriptor read/64, error -62
  3. usb 3-1: new low-speed USB device number 4 using ohci_hcd
  4. usb 3-1: device not accepting address 4, error -62
  5. usb 3-1: new low-speed USB device number 5 using ohci_hcd
  6. usb 3-1: device not accepting address 5, error -62
  7. hub 3-0:1.0: unable to enumerate USB device on port 1

Коллективный разум гугла подсказал, что следует заменить USB–кабель на более короткий, следует заменить мамку, препрошить BIOS, перепаять контроллер и кабель, пересобрать ядро с хитрыми опциями, просто прописать некоторые параметры загрузки ядра… Ну, вы поняли. :) Больше всего мне понравился совет выключить комп, выдернуть все USB–шурки, подождать пару минут, воткнуть всё обратно включить комп и всё — проблема решена. :) Ну, возможно кому–то это поможет.

Как и предполагалось, замена кабеля, прописывание опций загрузки и прочие танцы с бубном ничего не дали, зато выяснилось, что некоторые USB–порты на мамке действительно не вполне корректно работают, так что советы были всё–таки в точку. Но я решил, что эта проблема носит аппаратный характер и больше с ней не заморачивался.

После того, как принтер был воткнут в правильный USB–порт, он распознался системой корректно. В dmesg выглядело это примерно так:

  1. usb 1-3.3: New USB device found, idVendor=0924, idProduct=3d6c
  2. usb 1-3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  3. usb 1-3.3: Product: Phaser 6000B
  4. usb 1-3.3: Manufacturer: Xerox
  5. usb 1-3.3: SerialNumber: 0000000000 (серийник заменён для статьи в целях безопасности. ;)

Распознаться–то распознался, но работать всё–равно отказался. В dmesg была найдена следующая подозрительная запись:

  1. usblp0 removed
  2. usblp 1-4:1.0: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x0924 pid 0x3D6C

И это оказалось вовсе не ошибкой, а нормальной работой.

После того, как я подклуючил этот принтер к другому, незамутнённому использованием иных принтеров, компьютеру с Kubuntu 12.10, а потом и с Ubunntu 12.04, так и не добившись от этого положительного результата, я стал подозревать, что что–то у меня не то вовсе не с USB, а с моими линуксами… В результате принтер был установлен в винде, которая крутилась в виртуальной машине в Kubuntu 12.10, и о чудо, он заработал!

В тему

Сомнения в USB тут же окончательно развеялись и пытливый взор был устремлён в сторону линуксовых драйверов принтера и CUPS. Дело в том, что родные линуксовые драйвера Xerox Phaser 6000 существуют только в 32–битной версии, а все линуксы у меня 64–битные. Наконец я заглянул в логи CUPS (а ведь это нужно делать в первую очередь!) и среди прочего обнаружил такое вот сообщение:

  1. [Job 47] Xerox_Phaser_6000B: error while loading shared libraries: libcupsimage.so.2: cannot open shared object file: No such file or directory

«Добрый вечер! :)», — подумал я и начал искать в системе libcupsimage.so.2, который не смог найти CUPS, и нашёл… Переустановил пакет, но результатов это не дало. И тут я вспомнил про различные архитектуры дров принтера и системы, в том числе и CUPS и этой библиотеки. Чтобы не ставить ia32-libs, скачал только пакет libcupsimage2_1.6.1-0ubuntu11.3_i386.deb, установил и проблема разрешилась. :)

Кстати, 32-битный драйвер можно скачать с официального сайта.

Комментарии

5 лет назад
Здравствуйте уважаемый автор! Наконец нашел что-то по установке Xerox Phaser 6000 на Linux x86_64 Ubuntu 12.04. Начал ставить libcupsimage2_1.6.1-0ubuntu11.3_i386.deb - не встала, была установлена версия 1.5.3, вместе не вставали. Удалил 1.5.3, установился пакет 1.6.3 i386. Но теперь система говорит, что служба печати недоступна. В синаптике если отметить для установки libcupsimage2, то удаляется libcupsimage2 i386. Как Вы их совместили? Помогите пожалуйста завести принтер.
С уважением, Алексей.
4 года назад
Алексей, вы уверены, что у вас аналогичная проблема? Лог читали?

На данный момент у меня установлено две версии указанного файла. 32-битная и 64-битная. Сосуществуют без проблем.
3 года назад
Автор, большое спасибо. Я как начинающий линуксовод с 2 днями стажа, убил целый день, что бы получить печать на xerox6000. система ubuntu 15.04 x64 принтер определился, но не печатал совсем. Скачал драва с офф сайта, все поставил опять не работает, на всех форумах пишут, что проблем не испытывают. И только в вашей статье я наконец понял что нужно для 32битного драйвера найти 32 битную библиотеку, нигде об этом не пишут, видимо спецы на это даже внимание не обращают. А вот для начинающего пингвиновода это проблема.
в общем сейчас стоят пакеты

libcupsimage2:i386 версии 2.0.2-1ubuntu3.2 от 32битной
libcupsimage2 версии 2.0.2-1ubuntu3.2 от 64битной

проблем нет.
Комментировать