LINUX.ORG.RU

Настройка и использование сканера Xerox Workcentre 3335 через usb под Linux

 , , ,


0

1

В организации у нас полно ксероксов 3335 под каждое АРМ. И до этого стояла винда и все в целом работало. Но тут пришёл черёд уходить винде на покой и заменить весь софт майков на софт отечественный/опенсорсный. По этому теперь в организации всем ставится Linux, а именно Alt Linux 10 (именно десятый, т.к. лицензия). Со многими проблемами, вытекшими из массового перехода на новую систему по итогу удалось справится, но только не со сканером от 3335. И так, что дано: ставится ось Alt Linux 10 с KDE по умолчанию, убирается всё лишнее, кроме использования сканера, принтера. Помимо имеющегося skanpage в кде ставится ещё и naps2. И вот с принтером всё просто, для него достаточно было найти .ppd файл и он работает, а со сканером нужно потанцевать. Разработчики SANE заявляют что он работает, с той оговоркой, что верхний податчик отсканирует только 1 страницу (это не проблема, этим податчикам всё равно особого доверия нет уже), но только с версии 1.3.1. На альте 10 же стоит по умолчанию версия 1.2.1. Ладно, потанцевал с бубнами и смог из сизифа взять 1.4.0 версию. Теперь сканер может быть обнаружен по умолчанию. Но сразу работать он отказывается и вообще тут тоже чтобы хотя бы запустить операцию сканирования нужно достичь совершенно непонятно чего. Примерный алгоритм работы со сканером:

  1. Найти сканер в naps2, при создании профиля или при включении skanpage. Сделать это нужно всегда обязательно два раза, т.к в первый раз сканер не будет найден. Для skanpage почему-то нужно ещё и перезайти в саму программу.
  2. Запуск первого сканирования. Первое задание сканирования… проваливается и программа сообщает нам что сканер занят или сканирование прервано или ошибка Input/Output (пока что понять из-за чего какая ошибка появляется не могу, однако думаю как-то связано с тем, насколько долго ждать перед тем чтобы начать задание сканирования чтобы мфу ушло в сон). И при этом мфу спокойно что-то там сканирует.
  3. Запуск второго сканирования. Теперь уже с вероятностью в 90% сканирование пройдёт штатно. Иногда будет такое, что сканирование никак не продолжится потому что «сканер занят», ещё с прошлого раза, но либо нужно дольше подождать, либо перевоткнуть usb от принтера. После нормального же сканирования можно достаточно долго пускать задания на скан, и пока задания есть всё будет хорошо работать. Но стоит отвлечься и нужно будет всё повторять заново для полноценной работы.

Хотелось бы избавиться от этого странного обряда инициации мфу. На винде всё работало нормально, но там и вендор дрова нормальные поставил. Вариантов переделать всё так, чтобы эти мфу (которых примерно штук 40) использовались по сети нет.

Те же проприетарные драйвера pantum6500 или драйвера ULD от Xerox Workcentre 3225 (которые на бэкенде smfp) работают складно с соответствующими мфу. Кстати тот же 3225 не работает на бэкенде xerox_mfp из sane - при его использовании мфу перезагружается, хотя на их сайте без каких-либо примечаний написано что всё работает.

Какие ещё действия я делал:

  • В тупую увеличил срок входа в режим энергосбережения у мфу с 1 минуты до 4. Как будто чуть сподручнее стало использовать, но всё же стадию этой «инициализации» это не устраняет, а это то что мне нужно по итогу.
  • Собрал в системе без сизифа sane 1.4.0 и поставил вместо стандартного scanimage симлинк на его scanimage, но подозреваю что программы могут брать бэкенд из /usr/lib64/sane.d/. Работает также, т.е. особого успеха нет.
  • Использовал sane 1.2.1 но просто прописал vid, pid в /etc/sane.d/xerox_mfp.conf, а также добавил соответственные udev правила, скопированные из пакета sane 1.4.0. Оно работает точно также как и sane 1.4.0, опять же - нет результатов.
  • Пробовал по всякому использовать переменные окружения по типу SANE_USB_WORKAROUND для usb3 подключения или SANE_XEROX_USB_HALT_WORKAROUND тоже пробовал, хотя в его описании написано что это для старых ксероксов, но оно не помогает.

В режиме дебага пишет примерно следующее (в выводе использую версию sane 1.2.1 с донастройкой, как описывал выше):

SANE_DEBUG_XEROX_MFP=4 scanimage -L
[12:09:57.982714] [sanei_debug] Setting debug level of xerox_mfp to 4.
[12:09:57.982766] [xerox_mfp] sane_init: Xerox backend (build 13), version != null, authorize != null
[12:09:58.032779] [xerox_mfp] sane_xerox_mfp_get_devices: 0x7ffc4281d880, 0
[12:09:58.033066] [xerox_mfp] list_one_device: libusb:003:003
[12:09:58.033101] [xerox_mfp] usb_dev_open: open 0x5623c95fe750
[12:09:58.035527] [xerox_mfp] :: dev_command(INQUIRY[0x12], 70)
[12:09:59.035922] [xerox_mfp] usb_dev_request: sanei_usb_read_bulk: Error during device I/O
[12:09:59.035973] [xerox_mfp] dev_command: dev_request: Error during device I/O
[12:09:59.035998] [xerox_mfp] usb_dev_close: closing dev 0x5623c95fe750
[12:09:59.036309] [xerox_mfp] list_one_device: dev_inquiry(libusb:003:003): Error during device I/O

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

Ну или иногда будет:

SANE_DEBUG_XEROX_MFP=4 scanimage -L
[12:11:08.613954] [sanei_debug] Setting debug level of xerox_mfp to 4.
[12:11:08.614003] [xerox_mfp] sane_init: Xerox backend (build 13), version != null, authorize != null
[12:11:08.664692] [xerox_mfp] sane_xerox_mfp_get_devices: 0x7ffe8030bce0, 0
[12:11:08.664965] [xerox_mfp] list_one_device: libusb:003:003
[12:11:08.665001] [xerox_mfp] usb_dev_open: open 0x55e232d26750
[12:11:08.665405] [xerox_mfp] :: dev_command(INQUIRY[0x12], 70)
[12:11:08.665565] [xerox_mfp] dev_inquiry: found Xerox/Xerox WorkCentre 3335
[12:11:08.665607] [xerox_mfp] usb_dev_close: closing dev 0x55e232d26750
device `xerox_mfp:libusb:003:003' is a Xerox Xerox WorkCentre 3335 multi-function peripheral

Ну и дополнительно ещё попробовал под убунту (тоже с кде для теста с тем же skanpage) запустить с такой же донастройкой как с sane 1.2.1 под альтом - всё тоже самое.

Прошу помощи или хотя бы направления в какую сторону копать, т.к. в сети искал по своему вопросу и подобные проблемы - всё не то, никто никаких ответов так и не дал, а сам я уже и не знаю что можно сделать.



Последнее исправление: nfa (всего исправлений: 1)
  • обратиться в техподдержку. Если не ответит или даст бесполезный ответ, то это будет основанием для смены дистрибутива по крайней мере на одном ПК.
  • испытать другие дистрибутивы. Вот кратким поиском в Google узнал, что оно сканирует а Astra 1.7. Правда, подробности настройки доступны только тем, кто имеет техподдержку. Разбираться самостоятельно. Из российских можно испытать также RED OS и МСВСфера. Если в чём-то заработает, это будет основанием для перехода.
  • испытать программу сканирования VueScan из Flatpak. Она содержит много драйверов. Это - бесплатная версия, которая практически бесполезна , но покажет, есть ли драйвер. За полную версию надо платить автору за рубежом.
  • в программе NAPS2 есть выбор дрвйвера сканера (Профиль->Добавить): SANE или ESCL. Раз SANE не работает, то проверить , будет ли найден сканер по ESCL.
Partisan ★★★★★
()
Последнее исправление: Partisan (всего исправлений: 1)
Ответ на: комментарий от Partisan

Хотя Рекомендация испытать VueScan отменяется: не загружается ни из Flathub, ни с сайта программы Я это уже видел, но забыл. Может, VPN поможет - не проверял. Для eSCL (AirScan) нужно SANE 1.3 и настройка в МФУ Xerox на его использование . Посмотреть,где она там

Partisan ★★★★★
()
Последнее исправление: Partisan (всего исправлений: 1)
Ответ на: комментарий от Partisan
  • Техподдержка окончена по лицензии.
  • Про убунту говорил, но в целом можно попробовать. Но их можно будет использовать только как контейнер внутри альта, что дико как-то, но мне уже всё равно если это будет работать.
  • VueScan пробовали - он не видит сканер. Кроме установки и проверки на видимость больше ничего и не делали.
  • ESCL видит только сетевой сканер. Я уже говорил, что работу через сеть мы не можем. Но да, сканер действительно отлично сканирует через airscan, для этого настраивать ничего даже не нужно.
nfa
() автор топика
Ответ на: комментарий от nfa

Тут дело не в проводе, а в особенностях Samsung/Xerox МФУ, помню, что была проблема именно с USB 3.0, видится в dmesg и вроде как работает (пытается), но сканирование отваливается с ошибкой.

yaba ★★★
()
Ответ на: комментарий от nfa

Тогда можно попробовать обратиться к локальном Xerox как к сетевому . Для этого в Linux установить пакет ipp-usb, запустить службу и проверить статус (подробности в описании яipp-usb). В настройках Cerox в меню «Управление мобильными сервисами» должно быть выбрано «,IPP через USB». Не все сканеры совместимы,с opp-usb, но Xrrox 3335 ,совместим.

Partisan ★★★★★
()

мфу (которых примерно штук 40)

не знаю что можно сделать.

вселенная шепчет - прекрати портить бумагу, береги лес и переходи на ББТ.

anonymous
()
Ответ на: комментарий от nfa

Но да, сканер действительно отлично сканирует через airscan, для этого настраивать ничего даже не нужно.

В каждую АРМ дополнительную сетевку для связи со сканером. Статиком сеточку и забыть про эти упражнения с усб.

yax123 ★★★★★
()
Ответ на: комментарий от nfa

Кстати, о проводах. У меня есть опыт с бывшей работы. Один провод не работает, вставляешь другой — всё сразу опознаётся. Я их перепаял — просто ужас сколько много. И выбросить жалко, и вот сидишь, изобретаешь.

sparkie ★★★★★
()

Все выключить. Включить МФУ, потом включить компутер и проверить работу. Все выключить. Включить компутер, потом после загрузки включить МФУ и проверить работу. Есть разница?

anonymous
()
Ответ на: комментарий от nfa

ESCL видит только сетевой сканер. Я уже говорил, что работу через сеть мы не можем. Но да, сканер действительно отлично сканирует через airscan, для этого настраивать ничего даже не нужно.

sudo apt-get install ipp-usb sane-airscan
sudo systemctl start ipp-usb
ValdikSS ★★★★★
()
Последнее исправление: ValdikSS (всего исправлений: 1)
Ответ на: комментарий от sparkie

Да, на удивление частая ситуация, когда кабель на МФУ работает на печать, но не на сканирование. Дважды лично с таким сталкивался.

Хост-контроллер USB обычно сообщает -EPROTO на такое, нужно бы в ядро добавить флажок этого события для упрощения отладки, а то сейчас плохие кабели определяю только через usbmon0.

ValdikSS ★★★★★
()