В организации у нас полно ксероксов 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 версию. Теперь сканер может быть обнаружен по умолчанию. Но сразу работать он отказывается и вообще тут тоже чтобы хотя бы запустить операцию сканирования нужно достичь совершенно непонятно чего. Примерный алгоритм работы со сканером:
- Найти сканер в naps2, при создании профиля или при включении skanpage. Сделать это нужно всегда обязательно два раза, т.к в первый раз сканер не будет найден. Для skanpage почему-то нужно ещё и перезайти в саму программу.
- Запуск первого сканирования. Первое задание сканирования… проваливается и программа сообщает нам что сканер занят или сканирование прервано или ошибка Input/Output (пока что понять из-за чего какая ошибка появляется не могу, однако думаю как-то связано с тем, насколько долго ждать перед тем чтобы начать задание сканирования чтобы мфу ушло в сон). И при этом мфу спокойно что-то там сканирует.
- Запуск второго сканирования. Теперь уже с вероятностью в 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 под альтом - всё тоже самое.
Прошу помощи или хотя бы направления в какую сторону копать, т.к. в сети искал по своему вопросу и подобные проблемы - всё не то, никто никаких ответов так и не дал, а сам я уже и не знаю что можно сделать.




