Error during device i o astra linux

I have a Canon LIDE 100 scanner that doesn't properly initialize on first scan attempt. When I trigger a scan, it seems to start (you hear the scanner

Содержание

  1. Error during device I/O when using USB scanner
  2. 4 Answers 4
  3. laptop-mode-tools
  4. Kernel Boot option
  5. сканер EPSON Perfection 1270 и глюки под Debian GNU/Linux
  6. Почему сканер на Linux’е такая боль?
  7. Arch Linux
  8. #1 2009-01-17 14:09:04
  9. Scanner fails with I/O error
  10. #2 2009-01-17 14:26:48
  11. Re: Scanner fails with I/O error
  12. #3 2009-01-17 14:45:16
  13. Re: Scanner fails with I/O error
  14. #4 2009-01-17 14:51:55
  15. Re: Scanner fails with I/O error
  16. #5 2009-01-17 15:19:46
  17. Re: Scanner fails with I/O error
  18. #6 2009-01-17 17:03:13
  19. Re: Scanner fails with I/O error
  20. #7 2009-01-17 21:40:41
  21. Re: Scanner fails with I/O error
  22. #8 2009-01-17 23:08:21
  23. Re: Scanner fails with I/O error
  24. #9 2009-01-18 08:13:56
  25. Re: Scanner fails with I/O error
  26. #10 2009-01-18 10:12:43
  27. Re: Scanner fails with I/O error
  28. #11 2009-01-18 14:32:02
  29. Re: Scanner fails with I/O error
  30. #12 2009-01-18 14:42:26
  31. Re: Scanner fails with I/O error
  32. #13 2009-01-18 18:22:53
  33. Re: Scanner fails with I/O error
  34. #14 2009-01-18 19:50:16
  35. Re: Scanner fails with I/O error
  36. #15 2009-01-18 20:43:19
  37. Re: Scanner fails with I/O error

Error during device I/O when using USB scanner

I have a Canon LIDE 100 scanner that doesn’t properly initialize on first scan attempt. When I trigger a scan, it seems to start (you hear the scanner beginning to engage), but then my scanning application (gscan2pdf) echoes back: «Error during device I/O.» If I close the application, and restart another scan, there is no error and it scans properly.

I get the same behavior if I use Simple Scan or XSane.

There are many other reports of this behavior, and others have suggested that my system has put the USB port to sleep (at least partially) to save power. It seems to not properly wake up. I’m using 10.10 and it has been suggested that I may be able to tell my system to not autosuspend the USB port, but am not sure how to do that.

Any input on this is appreciated.

5BL7a

4 Answers 4

Autosuspend of a USB port is possible through the laptop-mode-tools package.

The kernel could also play a part.

Assuming you have this file, examine the file.

Two possible settings you might want to consider:

Kernel Boot option

You can force autosuspend to be switched off through the grub-boot option usbcore.autosuspend

I solved my problem for a Fujitsu ScanSnap S1500M under Ubuntu 14.04 Panasonic Laptop following the instructions in

It worked like a charm! I had been looking for a solution for some time!

Two things though (probably since that post is old from 2013):

1) The same «scanbuttond» package file (scanbuttond_0.2.3.cvs20090713-14_i386.deb) is available now in the repositories, probably after installing the cited ppa:rolfbensch/sane-git, so there’s no need to download it from the pkgs.com website, just type «sudo apt-get install scanbuttond».

2) The actual button on the scanner does nothing when pressed so I’m not sure what the purpose of the «scanbuttond» software actually is, so probably it is not needed anyway if you don’t mind missing this functionality. If the purpose of the software is just to have this physical button work then it doesn’t though, at least in my case. I scanned through Easyscan, Xsane and gscan2pdf and all worked perfectly. I would recommend doing the «Scanner config» and «Permissions» sections in the reference article and checking if it works, if it doesn’t then go to «Install dependencies» through the PPA and check again. At last I would install the scanbuttond and configure it.

By the way I got it running in a Panasonic Let’s note laptop and there where no usb port power saving issues here. I hope it helps. Good luck!

Источник

сканер EPSON Perfection 1270 и глюки под Debian GNU/Linux

Уже достаточно старенький сканер:

Не сразу «понимает», что он него хотят. Приходится запускать команду несколько раз подряд.

Прошло уже 5 лет, а ничего не изменилось. Как глючил Линукс с ним, так и глючит.

Кстати, Московская православная духовная академия и семинария (кафедра библеистики) использует именно такие сканеры, и именно под Debian.

9745:317955381

29602:180945788

Не сразу «понимает», что он него хотят.

Это врождённый глюк этого в принципе неплохого сканера. У брата он одинаково задумчив и в Mageia и в Windows 7.
Иногда вывести из задумчивости помогает нажатие аппаратной кнопки «сканировать» на корпусе сканера.

9745:317955381

Иногда вывести из задумчивости помогает нажатие аппаратной кнопки «сканировать» на корпусе сканера.

О! Спасибо за подсказку.

9745:317955381

Это врождённый глюк этого в принципе неплохого сканера.

Разобрался. Вспомнил старый «рецепт»:

46561: 1029036024

Я пользуюсь xsane, обычно помогает последовательный запуск xsane несколько раз, в худшем случае сопровождаемый перевдергиваниями usb-шнурка.

Причем абсолютно неясно, почему на ноуте стабильно хватает 1-2 раз, а вот на десктопе иногда раз 10-15 приходится его мучить. Видимо, еще и от usb-хаба зависит качество работы.

9745:317955381

Видимо, еще и от usb-хаба зависит качество работы.

Попробую подключить на USB 3.0 порт.

&& scanimage quality-cal=no | pnmtopng > 1.png

9745:317955381

Нажатие кнопки «Scan» (на сканере) тоже иногда помогает.

46561: 1029036024

Нажатие кнопки «Scan» (на сканере) тоже иногда помогает.

О, а это я почему-то не пробовал. Спасибо, буду знать.

Источник

Добрый день. В логи начали сыпаться такие ошибки

p

Контакт в разъёме и кабеле.

p

p

После просмотра smart будет понятней.

p

Ну может питание отвалилось или БП сдох, без смарта сложно сказать.

p

перед смартом хорошл бы образ диска снять

p

longtest за те 10 часов что он будет выполнятся окончательно добьёт) достаточно релевантной инфы можно получить из текущих значений

p

Это на каких дисках он 10 часов выполняется? На моём харде он 40 минут длится.

p

Сколько терабайт у тебя? На больших в основном. В районе часа быстрый тест выполняется.

p

А, понятно. У меня всего лишь терабайтник.

p

Кабель SATA поменяй.

уже менял. хотя диск прилегает к торцу материнке и там приходит загибать кабель чтобы воткнуть. Возможно в этом дело.

p

Возможно. Вытащи диск из кейса и положи рядом с системником, чтобы кабель был свободен. И проверь, будут ли ошибки.

ошибки не постоянно идут и поймать их сложно.

161223: 1661243590

У тебя SATA-кабель не скручен педерастически в спираль, как многие «мастера» делать любят?

попробую перетащить диск в другое место где кабель будет свободен

135355:167626339

135355:167626339

Кроме кабеля sata могут быть проблемы с питанием если БП старый.

Проблемы связи между компом и диском можно поймать при помощи badblocks (ну или виктории из под винды, но зачем).

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

144715:783014869

Возвращаюсь к моей проблемы. Поменял шлейф и БП. Но проблема осталась. Данную систему использую для хранения и просмотра фильмов. Так вот это проблема появляется когда начинаешь в плеере делать перемотку вперед или назад особенно на больших файлах (формат fullhd).

p

Может быть плохая розетка с наводками от холодильника. Ну серьёзно, из вариантов осталось дохнет диск или материнская плата (если коррозия контактов тебя не устраивает).

p

Как насчёт использовать диск в режиме «только чтение»? Ведь проблемы с записью. 🙂

Мне одному кажется, что spin_up_time raw value больно дохрена? Если вы втыкали кабель там, где место мало, вы могли расшатать разъемы на винте и они теперь где-то болтаются. Проверяйте снаружи и унутри.

Источник

Почему сканер на Linux’е такая боль?

Давно уже мучаюсь, периодически бросаю и иду доставать ноут с виндой, но сейчас решил побороться еще немного.
Устанавливаю Plustek MobileOffice S400 на Linux Mint.
Всё как положено, по инструкциям, коих в сети полным-полно.
# aptitude install sane xsane
Всё хорошо, программы встали, работают. Но никто не хочет видеть сканера.
Точней, его видят, даже правильно определяют почти.
# sane-find-scanner

При этом с правами root работает более корректно 🙂
# sudo sane-find-scanner

Может кто-то сталкивался уже и победил?

08f5588724df477db0d1f85b7029c268

Я, в своё время, когда внедрял линукс в школах просто поменялся сканерами с управлением образования 🙂 Им без разницы было, а я получил 100% работающий на линуксе сканер.

Если сканер личный, то проще на авито купить за 500р любой поддерживаемый сканер (большинство HP работают отлично).

5d74ceaee7a74547888690

60449a1916daa811058430

5d74ceaee7a74547888690

5d74ceaee7a74547888690

f9c72bac61fff7b377686685d4831255

5d74ceaee7a74547888690

1f39077371e531ef1fcccf3dec80cc89

ответ в том, что «боль» — вовсе не «Сканер на Linux’е», а попытки химичить при отсутствии даже базовых знаний об основах Linux-систем.

1f39077371e531ef1fcccf3dec80cc89

f9c72bac61fff7b377686685d4831255

5d74ceaee7a74547888690

1f39077371e531ef1fcccf3dec80cc89

Sergey Goryachev:
> но как бы не всё можно знать даже являясь уверенным пользователем.
Конкретно это у меня нагуглилось на первой же странице 🙂
Впрочем, там была кроме прочего какая-то индийская контора, у которой на сайте было написано, что Linux-драйвер для сего принтера предоставляется по запросу. Но, думаю, обманывают. Иначе уже давно бы кто-нибудь выложил его куда-нибудь.

А так — например, легко гуглится, что ещё в 2012 году было известно, что производитель не удосужился сделать драйвер и у людей на всяких убунтах он не заводится.

Так же, к слову, Вы неправильно вызывали scanimage в ОП-посте. Правильный ключ не `-l`, а `-L`.

В общем, ситуация такова, что драйвера для всевозможных девайсов (в т.ч. сканеров) появляются либо если их выпустил производитель (в случае Epson, например, iscan, в случае HP — hplip), либо если девайсы достаточно популярные, что они есть у того, кто умеет писать драйвера и он в этом заинтересован сам.

А бесплатно пилить драйвера для богом забытых нонейм-девайсов, увы, никто не будет 🙂

Источник

Arch Linux

You are not logged in.

#1 2009-01-17 14:09:04

Scanner fails with I/O error

When I try to start the Scanner (an Epson RX425), I get the following message:

«Failed to start scanner: error during device I/O»

It worked fine a couple of days ago, so I can only imagine it has something to do with this morning’s system upgrade (sorry, can’t remember what was updated, apart from a new kernel, but it was a substantial number of packages). Sane-find-scanner seems to work:

Can anyone help me with this really annoying problem?

#2 2009-01-17 14:26:48

Re: Scanner fails with I/O error

I got an epson scanner. It is quite special, because it ‘needs all my love’. What I did was to remove all unneded entries from /etc/sane.d/dll.conf leaving those relative to epson scanners only. Then I added the ‘usb vendor product’ to the respective backends.

According to what you have posted:

Last edited by kjon (2009-01-17 14:27:31)

They say that if you play a Win cd backward you hear satanic messages. That’s nothing! ’cause if you play it forwards, it installs windows.

#3 2009-01-17 14:45:16

Re: Scanner fails with I/O error

Thanks for your reply. I did what you suggest, but to no avail.

In the meantime, I found something that might be interesting here: https://bugs.launchpad.net/ubuntu/+sour … +bug/55272

Apparently, unloading ehci_hcd might help. But I have no idea how to do this. Can anyone enlighten me?

#4 2009-01-17 14:51:55

Re: Scanner fails with I/O error

It looks a feasible workaround, but a very ugly one for my taste. You might want to add

to your rc.conf to avoid module loading.

They say that if you play a Win cd backward you hear satanic messages. That’s nothing! ’cause if you play it forwards, it installs windows.

#5 2009-01-17 15:19:46

Re: Scanner fails with I/O error

Thanks very much once again for your help. I’ve tried what you suggested, but still no joy. Is there some sort of journal so that I can look back to see what packages were updated this morning? That might help to identify the problem.

#6 2009-01-17 17:03:13

Re: Scanner fails with I/O error

that will show you pacman’s activity. To escape from the pager, press Q.

They say that if you play a Win cd backward you hear satanic messages. That’s nothing! ’cause if you play it forwards, it installs windows.

#7 2009-01-17 21:40:41

Re: Scanner fails with I/O error

OK, I’ve done that but I didn’t see anything that could account for the problem. One thing though: I read through the Wiki (again!) and apparently I should get the details of the device in /proc/bus/usb. I don’t:

Last edited by Flapjack (2009-01-17 21:40:54)

#8 2009-01-17 23:08:21

Re: Scanner fails with I/O error

that will solve your /proc/bus/usb issue.

They say that if you play a Win cd backward you hear satanic messages. That’s nothing! ’cause if you play it forwards, it installs windows.

#9 2009-01-18 08:13:56

Re: Scanner fails with I/O error

OK, done that. Still nothing! Grrrrr!

#10 2009-01-18 10:12:43

Re: Scanner fails with I/O error

Thanks very much for all your help kjon. But now I’m adopting the radical solution: ie, I’m going to install Ubuntu (groan!) I’ve been using Archlinux for nearly a year now, and I love it very much, but right now I just don’t have the time to sort out these sorts of problems. Perhaps I’ll come back later.
Thanks again.

#11 2009-01-18 14:32:02

Re: Scanner fails with I/O error

#12 2009-01-18 14:42:26

Re: Scanner fails with I/O error

Ah yes, it looks very similar. Anyway, I’ve got Ubuntu up and running now and I have my scanner back.

#13 2009-01-18 18:22:53

Re: Scanner fails with I/O error

And i have a new line in the logfile which i haven’t had before:

Has anyone else this line too?

@Flapjack Info about mounting /proc/bus/usb: I put my user in a new group «usb» (gid=120) and have this line in my /etc/fstab:

#14 2009-01-18 19:50:16

Re: Scanner fails with I/O error

Whatever choice you pick, Luck with it!.

They say that if you play a Win cd backward you hear satanic messages. That’s nothing! ’cause if you play it forwards, it installs windows.

#15 2009-01-18 20:43:19

Re: Scanner fails with I/O error

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).

I tried to build it from cvs in aur and from abs but the build errors on me..

as a side not why is dmesg and /var/log/messages.log different? argh..

Last edited by test1000 (2009-01-18 20:44:07)

Источник

I am very new to Linux and this forum.

I realize this issue/similar ones have been discussed/posted on ad nauseam, however I have not found any of the threads that have resolved my issues.

History: I update Linux Mint from 19.1 to 20.1 about 2 months ago. I was using a HP 4620 printer and everything work fine. I used Xsane for scanning. No problems.

The HP 4620 died a horrible death. I bought a HP OfficeJet 9015e and printing works fine. Xsane and other scanning apps do not work. I have removed reloaded, reinstalled, updated…. Nothing has helped.

I installed HPLIP 3.22.2

Error: Failed to start scanner: Error during device I/O
I can find the errors with HP-Check however I have tried to correct those without success.

stuart@stuart-GA-MA770-UD3:~$ hp-check
Saving output in log file: /home/stuart/hp-check.log

HP Linux Imaging and Printing System (ver. 3.20.3)
Dependency/Version Check Utility ver. 15.1

Copyright (c) 2001-18 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Note: hp-check can be run in three modes:
1. Compile-time check mode (-c or —compile): Use this mode before compiling the
HPLIP supplied tarball (.tar.gz or .run) to determine if the proper dependencies
are installed to successfully compile HPLIP.
2. Run-time check mode (-r or —run): Use this mode to determine if a distro
supplied package (.deb, .rpm, etc) or an already built HPLIP supplied tarball
has the proper dependencies installed to successfully run.
3. Both compile- and run-time check mode (-b or —both) (Default): This mode
will check both of the above cases (both compile- and run-time dependencies).

Check types:
a. EXTERNALDEP — External Dependencies
b. GENERALDEP — General Dependencies (required both at compile and run time)
c. COMPILEDEP — Compile time Dependencies
d. [All are run-time checks]
PYEXT SCANCONF QUEUES PERMISSION

Status Types:
OK
MISSING — Missing Dependency or Permission or Plug-in
INCOMPAT — Incompatible dependency-version or Plugin-version

warning: linuxmint-20 version is not supported. Using linuxmint-19.3 versions dependencies to verify and install…

—————
| SYSTEM INFO |
—————

Kernel: 5.4.0-104-generic #118-Ubuntu SMP Wed Mar 2 19:02:41 UTC 2022 GNU/Linux
Host: stuart-GA-MA770-UD3
Proc: 5.4.0-104-generic #118-Ubuntu SMP Wed Mar 2 19:02:41 UTC 2022 GNU/Linux
Distribution: linuxmint 20
Bitness: 64 bit

————————
| HPLIP CONFIGURATION |
————————

HPLIP-Version: HPLIP 3.20.3
HPLIP-Home: /usr/share/hplip
warning: HPLIP-Installation: Auto installation is not supported for linuxmint distro 20 version

Current contents of ‘/etc/hp/hplip.conf’ file:
# hplip.conf. Generated from hplip.conf.in by configure.

[hplip]
version=3.20.3

[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/ppd/hplip/HP
ppdbase=/usr/share/ppd/hplip
doc=/usr/share/doc/hplip
html=/usr/share/doc/hplip-doc
icon=no
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/share/cups/drv
bin=/usr/bin
apparmor=/etc/apparmor.d
# Following values are determined at configure time and cannot be changed.
[configure]
network-build=yes
libusb01-build=no
pp-build=no
gui-build=yes
scanner-build=yes
fax-build=yes
dbus-build=yes
cups11-build=no
doc-build=yes
shadow-build=no
hpijs-install=yes
foomatic-drv-install=yes
foomatic-ppd-install=no
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=yes
cups-ppd-install=no
internal-tag=3.20.3
restricted-build=no
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes
policy-kit=yes
lite-build=no
udev_sysfs_rules=no
hpcups-only-build=no
hpijs-only-build=no
apparmor_build=no
class-driver=no

Current contents of ‘/var/lib/hp/hplip.state’ file:
Plugins are not installed. Could not access file: No such file or directory

Current contents of ‘~/.hplip/hplip.conf’ file:
[upgrade]
notify_upgrade = true
last_upgraded_time = 1561555722
pending_upgrade_time = 0
latest_available_version = 3.17.10

[settings]
systray_visible = 0
systray_messages = 0

[last_used]
device_uri = «hp:/net/Officejet_4620_series?ip=192.168.10.129»
printer_name = Officejet-4620-series
working_dir = .

[commands]
scan = /usr/bin/xsane -V %SANE_URI%

[refresh]
rate = 30
enable = true
type = 1

[polling]
enable = false
interval = 5
device_list =

[fax]
voice_phone =
email_address =

[installation]
date_time = 03/19/22 07:19:17
version = 3.20.3

<Package-name> <Package-Desc> <Required/Optional> <Min-Version> <Installed-Version> <Status> <Comment>

————————-
| External Dependencies |
————————-

error: cups CUPS — Common Unix Printing System REQUIRED 1.1 — INCOMPAT ‘CUPS may not be installed or not running’
gs GhostScript — PostScript and PDF language interpreter and previewer REQUIRED 7.05 9.50 OK —
xsane xsane — Graphical scanner frontend for SANE OPTIONAL 0.9 0.999 OK —
scanimage scanimage — Shell scanning program OPTIONAL 1.0 1.0.29 OK —
dbus DBus — Message bus system REQUIRED — 1.12.16 OK —
policykit PolicyKit — Administrative policy framework OPTIONAL — 0.105 OK —
network network -wget OPTIONAL — 1.20.3 OK —
avahi-utils avahi-utils OPTIONAL — 0.7 OK —

————————
| General Dependencies |
————————

libjpeg libjpeg — JPEG library REQUIRED — — OK —
cups-devel CUPS devel- Common Unix Printing System development files REQUIRED — — OK —
cups-image CUPS image — CUPS image development files REQUIRED — — OK —
libpthread libpthread — POSIX threads library REQUIRED — b’2.31′ OK —
libusb libusb — USB library REQUIRED — 1.0 OK —
sane SANE — Scanning library REQUIRED — — OK —
sane-devel SANE — Scanning library development files REQUIRED — — OK —
libnetsnmp-devel libnetsnmp-devel — SNMP networking library development files REQUIRED 5.0.9 5.8 OK —
libcrypto libcrypto — OpenSSL cryptographic library REQUIRED — 1.1.1 OK —
python3X Python 2.2 or greater — Python programming language REQUIRED 2.2 3.8.10 OK —
python3-notify2 Python libnotify — Python bindings for the libnotify Desktop notifications OPTIONAL — — OK —
error: python3-pyqt4-dbus PyQt 4 DBus — DBus Support for PyQt4 OPTIONAL 4.0 — MISSING ‘python3-pyqt4-dbus needs to be installed’
error: python3-pyqt4 PyQt 4- Qt interface for Python (for Qt version 4.x) REQUIRED 4.0 — MISSING ‘python3-pyqt4 needs to be installed’
python3-dbus Python DBus — Python bindings for DBus REQUIRED 0.80.0 1.2.16 OK —
python3-xml Python XML libraries REQUIRED — 2.2.9 OK —
error: python3-devel Python devel — Python development files REQUIRED 2.2 3.8.10 MISSING ‘python3-devel needs to be installed’
python3-pil PIL — Python Imaging Library (required for commandline scanning with hp-scan) OPTIONAL — 7.0.0 OK —
python3-reportlab Reportlab — PDF library for Python OPTIONAL 2.0 3.5.34 OK —

—————
| COMPILEDEP |
—————

libtool libtool — Library building support services REQUIRED — 2.4.6 OK —
gcc gcc — GNU Project C and C++ Compiler REQUIRED — 9.4.0 OK —
make make — GNU make utility to maintain groups of programs REQUIRED 3.0 4.2.1 OK —

———————
| Python Extentions |
———————

cupsext CUPS-Extension REQUIRED — 3.20.3 OK —
hpmudext IO-Extension REQUIRED — 3.20.3 OK —

———————-
| Scan Configuration |
———————-

‘/etc/sane.d/dll.d/hpaio’ not found.
hpaio HPLIP-SANE-Backend REQUIRED — 3.20.3 OK ‘hpaio found in /etc/sane.d/dll.conf’
scanext Scan-SANE-Extension REQUIRED — 3.20.3 OK —

——————————
| DISCOVERED SCANNER DEVICES |
——————————

device `escl:http://192.168.10.172:8080′ is a ESCL HP OfficeJet Pro 9010 series [C2689E] flatbed scanner
device `escl:https://192.168.10.172:443′ is a ESCL HP OfficeJet Pro 9010 series [C2689E] SSL flatbed scanner
device `hpaio:/net/hp_officejet_pro_9010_series?ip=192.168.10.172&queue=false’ is a Hewlett-Packard hp_officejet_pro_9010_series all-in-one

—————————
| DISCOVERED USB DEVICES |
—————————

No devices found.

———————————
| INSTALLED CUPS PRINTER QUEUES |
———————————

HP_OfficeJet_Pro_9010_series_C2689E_
————————————
Type: Unknown
Device URI: implicitclass://HP_OfficeJet_Pro_9010_series_C2689E_/
PPD: /etc/cups/ppd/HP_OfficeJet_Pro_9010_series_C2689E_.ppd
warning: Failed to read /etc/cups/ppd/HP_OfficeJet_Pro_9010_series_C2689E_.ppd ppd file
PPD Description:
Printer status: printer HP_OfficeJet_Pro_9010_series_C2689E_ is idle. enabled since Sat 19 Mar 2022 12:00:31 AM CDT
warning: Printer is not HPLIP installed. Printers must use the hp: or hpfax: CUPS backend for HP-Devices.

New_HP_OfficeJet_Pro_9010_series_C2689E_
—————————————-
Type: Unknown
Device URI: implicitclass://HP_OfficeJet_Pro_9010_series_C2689E_/
PPD: /etc/cups/ppd/New_HP_OfficeJet_Pro_9010_series_C2689E_.ppd
warning: Failed to read /etc/cups/ppd/New_HP_OfficeJet_Pro_9010_series_C2689E_.ppd ppd file
PPD Description:
Printer status: printer New_HP_OfficeJet_Pro_9010_series_C2689E_ is idle. enabled since Fri 18 Mar 2022 05:13:39 PM CDT
warning: Printer is not HPLIP installed. Printers must use the hp: or hpfax: CUPS backend for HP-Devices.

—————
| PERMISSION |
—————

————
| SUMMARY |
————

Missing Required Dependencies
——————————
error: ‘libcups2’ package is missing/incompatible
error: ‘python3-pyqt4’ package is missing/incompatible
error: ‘python3-dev’ package is missing/incompatible

Missing Optional Dependencies
——————————
error: ‘python3-dbus.mainloop.qt’ package is missing/incompatible

Total Errors: 4
Total Warnings: 2

Done.

Thanks to everyone who will help.

Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.

Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.

This article contains scanner or manufacturer-specific instructions for SANE.

Agfa

Snapscan e40

Firmware Snape40.bin from here is required.

If USB autosuspend is enabled, the printer may need to be turned off and on again before each scan. USB autosuspend can be disabled using powertop.

BenQ/Acer

If you own an USB scanner from Acer (now BenQ), you need to download a suitable firmware binary and configure /etc/sane.d/snapscan.conf.

  • Find out which model you own and take note of the USB ID:
$ lsusb
Bus 002 Device 010: ID 04a5:20b0 Acer Peripherals Inc. (now BenQ Corp.) S2W 3300U/4300U
  • Go to snapscan main page and see whether your scanner is supported and which firmware you need (e.g, u176v046.bin).
  • Search the firmware image on the Internet and download it to /usr/share/sane/snapscan/.
  • Edit the head of /etc/sane.d/snapscan.conf and configure the following two lines:
firmware /usr/share/sane/snapscan/u176v046.bin
/dev/usb/scanner0 bus=usb

Brother

In order to install a Brother scanner or printer/scanner combo you need the right driver. To find the right one, see the FAQ for your model at the Brother Support, i.e. Home > Country > Your model > FAQs & Troubleshooting > Linux > Scanner / Scan Key Tool > Scan using XSane or GIMP. You can also search the web. Or see the information below for more scanners. Or extract each of the AUR packages below. Each package seems to contain an exhaustive list of the models it is suitable to.

Then, install the appropriate package:

  • brscan2AUR
  • brscan3AUR
  • brscan4AUR (MFC-J5620DW)
  • brscan5AUR
  • libsane-dsseriesAUR

Now, the scanner should be recognized by SANE.

For network scanners, Brother provides a different configuration tool for each brscan version (e.g., brsaneconfig2 for brscan2 compatible devices):

# brsaneconfig2 -a name=<ScannerName> model=<ScannerModel> ip=<ScannerIP>

Example:

# brsaneconfig2 -a name=SCANNER_DCP770CW model=DCP-770CW ip=192.168.0.110

To get the IP and node name of your scanner, you can use Nmap:

$ nmap -sP 10.0.0.0/24

It’s also possible to add a scanner via its node name instead of its IP, for example:

# brsaneconfig4 -a name=Brother_DCP-L3550CDW model=DCP-L3550CDW nodename=BRWC0B5D72A0B87

Network Scanning

In case of network scanning, e.g. by WiFi, Sane may still be unable to find the scanner. If so, you need to specify the IP address of the scanner in the /etc/sane.d/net.conf file.

Now use scanimage --list-devices to check whether sane is able to find your scanner. If not, further check that Sane expects this device through the network (see [1]). Check that /etc/sane.d/dll.conf contains brotherX, where the X stands for the brscan version from above. If nothing was found, add brotherX to the end of the file.

Invalid argument

If all the necessary packages are installed but you still get the «invalid argument» error this could mean that the configuration file has been corrupted. Run the following command (in case of brscan4):

 # brsaneconfig4 -d

The output should narrow down the problem. Most likely the connection is not set up correctly. In case of a network scanner, check if the IP address is right by opening /etc/opt/brother/scanner/brscan4/brsanenetdevice4.cfg with an editor. In case of a USB connection, check if the path to the scanner in the configuration file is set up correctly. For that, compare the values of the lsusb command with your configuration file and change them if necessary. You might also try to follow the brotherX suggestion from Network Scanning above even for non-network scanners.

Scan-key-tool

Brother has released a tool to enable scanning to be triggered by user interaction with the scanner itself (e.g., by selecting one of «Scan to email», «Scan to image», etc. on the scanner’s keypad) rather than by an attached computer. This can be set up by installing the brscan-skeyAUR package and starting brscan-skey.service using systemd. Note that by default this service runs as the brscan-skey user which is created by the package, whose home directory is located at /srv/brscan-skey.

Brother supplies some default scripts that are executed when a scan type is selected on the keypad. These may require the installation of some optional dependencies of the brscan-skeyAUR package. For all options apart from «Scan to email» the resulting output can be found inside $HOME/brscan, with $HOME the home directory of the user running this tool (so /srv/brscan-skey if started via systemd as a systemwide process).

It is possible to change what action takes place when a given type of scan is selected on the keypad. This is done by editing /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0.cfg. For each variable SCAN_COMMAND in IMAGE, OCR, EMAIL, FILE, the command

 $ $SCAN_COMMAND $SCANNER_DEVICE $SCANNER_FRIENDLY_NAME

is executed when the corresponding scan type is selected. Note that $SCAN_COMMAND is not quoted so may specify more than one positional parameter in the final command that is executed. $SCANNER_DEVICE refers to the name of the device that should be specified to a sane frontend (e.g. via the --device-name flag when using scanimage), for example brother3:bus4;dev2. $SCANNER_FRIENDLY_NAME is the human-readable name of the scanner.

xsane crashes

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason:

  • Should be mentioned on AUR page
  • This may only be relevant for the Brother DCP-150C scanner (Discuss in Talk:SANE/Scanner-specific problems)

If xsane crashes with message «=bugchk_free(ptr==(nil))@brother_modelinf.c(482)«, then you need to create the link /usr/local/Brother -> /usr/share/brother.

Canon

Scanning over the network with Canon PIXMA or imageCLASS all-in-one printer/scanners

Find out your printer/scanner’s IP address, and add it on a new line to /etc/sane.d/pixma.conf in the format bjnp://10.0.0.20. For imageCLASS printers you may need to use the format mfnp://10.0.0.20 instead.

Tip: Instead of an IP address, if mDNS resolution is set up, you can use the mDNS .local address. E.g. bjnp://MyPixmaPrinter.local.

Sane should now find your device. For more details refer to sane-pixma(5).

Alternatively, scangearmp2AUR can be used for some Canon PIXMA all-in-one printer/scanners which are not detected over the network.

See SANE/Scanner-specific problems for additional information.

Epson

Driver-Backends

For Epson scanners, you can choose between two different backends: «Image Scan v3» (imagescan/utsushi) or «Image Scan! for Linux» (iscan/epkowa). You can check here for all supported imagescan/utsushi devices and here for all supported iscan/epkowa devices. What used to be the iscan package in community is out of date, and buggy. You might look at the iscan packages in the AUR. At Q3 2021, it could also be that the archived iscan[dead link 2022-09-23 ⓘ], and iscan-data[dead link 2022-09-23 ⓘ], packages from the archive still work reasonably for you.

Image Scan v3

If you have to use Image Scan v3-backend you can install imagescan. It should detect supported USB scanners automatically by default. If your scanner is not recognized you can directly edit the /etc/utsushi/utsushi.conf and add the following lines.

[devices]
dev1.udi     = esci:usb:<vendor id>:<product id>
dev1.name    = foo
dev1.model   = <Model Name of the scanner>

If you want to make use of a network scanner you also have to install imagescan-plugin-networkscanAUR. Then edit /etc/utsushi/utsushi.conf and enter the ip address of your scanner to it.

[devices]
myscanner.udi    = esci:networkscan://<ip-address-here>:1865
myscanner.vendor = Epson
myscanner.model  = Model-name

When you then start Image Scan v3 by typing in the command

$ utsushi

the name of the scanner should be visible in the top left corner. If a connection problem happened, an error dialog will be shown.

Image Scan! for Linux

  • Install an iscan package.
  • Install the appropriate iscan-plugin package for your scanner (for example, iscan-plugin-gt-x820AUR for the Epson Perfection Photo V600)
  • Run udevadm control --reload so that udev will recognize the device as a scanner and apply appropriate permissions.

For network (including Wi-Fi) scanners, install iscan and iscan-plugin-networkAUR, then edit /etc/sane.d/epkowa.conf and add a line of the following format:

net <IP-address|hostname> [port-number]

Upstream version of iscan did not support 16bpc color depth scanning. Choosing any bit depth other than 8 made iscan stop without warning, leaving the scanner stuck until restarted. To enable 16bpc scanning, iscan used to required to be patched. It could be that an old patch, found in this forum thread, will enable 16bpc depth mode.

Epson DS-6500

Usually this device works with the epsonds-backend. However, there may be an error «Error during device I / O» when scanning multiple pages. If this error occurs, the Image Scan v3 backend can be used and imagescan needs to be installed. If you want to use the network module, the scanner can be configured in the /etc/utsushi/utsushi.conf after installing imagescan-plugin-networkscanAUR as described above.

Epson Perfection V39

This device (vendor id: 0x04b8, device id: 0x013d) is known to be supported by SANE’s epkowa backend. To use this backend, install iscan-dataAUR, iscanAUR and iscan-plugin-gt-s650AUR.

The latter package provides the firmware /usr/share/iscan/esfw010c.bin which is required to make the scanner work.

In case of a successful device setup, running scanimage -L results in:

  • the scanner waking up and performing some movements,
  • a constantly shining blue led at the device’s front, and
  • output similar to device `epkowa:interpreter:001:007' is a Epson Perfection V39 flatbed scanner.

In some cases, the above fails due to improper firmware, provided by iscan-plugin-gt-s650AUR.

Note: Symptoms of incorrect firmware:

  • the blue device led blinks endlessly,
  • scanimage -d device_name fails with scanimage: sane_start: Invalid argument.

As stated in this forum thread, using the firmware esfw010c.bin provided by epsonscan2-non-free-pluginAUR can solve the problem. There seem to exist different incompatible versions of the same firmware.

Epson Perfection V550 Photo

Install iscan-plugin-perfection-v550AUR

Epson Perfection 1270

For Epson Perfection 1270, you also need a firmware named esfw3e.bin. It can be obtained by installing the Windows driver.

Modify the configuration file of the snapscan backend, /etc/sane.d/snapscan.conf. Change the firmware path line with yours:

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /mnt/mydata/Backups/firmware/esfw3e.bin

And add the following line in the end or anywhere you like

# Epson Perfection 1270
usb 0x04b8 0x0120

You can get such code information (usb 0x04b8 0x0120) by sane-find-scanner command.

Also add such information lines to /etc/hotplug/usb/libsane.usermap to setup your privilege, like:

# Epson Perfection 1270
libusbscanner 0x0003 0x04b8 0x0120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

Replug scanner, you have a working Epson Perfection 1270 now.

Note: I can scan image if I define the X and Y value, but without that error message occurs like: scanimage: sane_start: Error during device I/O, if anyone knows any other reasons, please add them to this section.

  • To prevent scanimage: sane_start: Error during device I/O and hangup of the scanner itself, when trying to scan with ADF (automatic document feed) enabled, I had to remove or comment out all Backends from /etc/sane.d/dll.conf and instead just add this to the file:
    snapscan

If you still get the Error during device I/O messages check that the transportation lock of the scanner (on the bottom of the scanner) is open.

Epson Perfection 1670/2480/2580/3490/3590

Note: Installation instructions were only tested for Epson Perfection 3590 but should be similar to the other models. Check the instructions above and the links below and edit this wiki page if you can verify that your scanner works.

Make sure to download the correct firmware for your Epson model. You can get an overview of some models and their drivers here and here. The download links of the firmware are broken, but you can use this link as alternative instead. Make sure to change the firmware filename of the link suiting your model. If you want to download and extract the firmware sources from the official epson sites yourself you can use this guide.

As an alternative you can also install the AUR package sane-epson-perfection-firmwareAUR which will download the firmware from the official sources, extract the binary and install those to /usr/share/sane/snapscan/.

Modify the configuration file of the snapscan backend, /etc/sane.d/snapscan.conf. Change the firmware path line with yours:

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /usr/share/sane/snapscan/esfw52.bin

Other modifications were not needed for the Epson Perfection 3590 and might not be for other models as well. If you still have problems it can also help if you completely remove the iscanAUR package.

EPSON WorkForce printer/scanners over the network

Install imagescan and imagescan-plugin-networkscanAUR.

Edit the configuration file /etc/utsushi/utsushi.conf. Find the [devices] section and edit the template for dev2. Replace the IP address accordingly. You can find the IP address on your printer screen. For example,

...
dev2.udi    = esci:networkscan://192.168.1.123:1865
dev2.model  = WF-2860
dev2.vendor = EPSON
...

Meanwhile, comment out epson2 in /etc/sane.d/dll.conf as it conflicts with ImageScan.

Once this is done you can use any SANE frontend to access this scanner.

Fujitsu

Fujitsu fi series

For some of the Fujitsu fi series document scanners, the pfufsAUR proprietary driver offers advanced functionality over the already mature SANE default driver, such as control of an optional imprinter for stamping scanned documents or requesting accurate status of the consumables from the host.

ScanSnap S300/S300M

For the operation of the ScanSnap scanners S300 and S300M a firmware file /usr/share/sane/epjitsu/300M_0C00.nal is required, which can be downloaded here or extracted from the Windows driver. The 300M_0C00.nal and 300_0C00.nal files are interchangeable; the S300 device can use the 300M_0C00.nal file and the S300M device can use the 300_0C00.nal file. The file can be renamed to fit the entry in /etc/sane.d/epjitsu.conf, or that entry can be edited to match the file name.

HP

If your HP device is supported by hplip, install the hplip package.

The latter comes with several tools:

  • hp-setup to add and setup the device
  • hp-check to check the installation of all required dependencies to successfully run (a very helpful tool)
  • hp-plugin is the ‘HPLIP Plugin Download and Install Utility’ (plugin also available from hplip-pluginAUR).
  • hp-scan is the ‘HPLIP Scan Utility’. If you need that tool, you will need to install python-pillow.

hp-setup requires Python Qt5 when run using the GUI (which is the default). As an alternative, you can run the CLI interface of hp-setup using -i as argument.

If the device is connected by USB, run hp-setup as root and follow the on-screen instructions.

If your device is connected on the network, use hp-setup printer_ip instead.

Alternative way to scan with network HP scanner

  • Find out IP address of your network HP scanner, for example 192.168.1.8
  • Make device URI using hp-makeuri utility:
$ hp-makeuri 192.168.1.8
hpaio:/net/DeskJet_3630_series?ip=192.168.1.8
  • This URI could be given to xsane or scanimage tools, for example:
$ xsane "hpaio:/net/DeskJet_3630_series?ip=192.168.1.8"
$ scanimage --device "hpaio:/net/DeskJet_3630_series?ip=10.12.129.6" --format=png --resolution 300 >scan01.png

Lexmark

For Lexmark devices printing issues, please read CUPS/Printer-specific problems#Lexmark.

Most Lexmark scanners are still (2019) not supported by SANE, and thus cannot be detected either by sane-find-scanner or by scanimage -L. Lexmark provides a non-free driver for GNU/Linux, which is supposed to support all its scanners. Nevertheless, the driver is only distributed for Debian, OpenSUSE, Fedora and Red Hat, but not for Arch. Here is a way to install it.

Warning

Before following these steps, note that :

  • This driver is non-free (copyrighted by Lexmark)
  • This hasn’t been widely tested yet (but the driver is supposed to work for all Lexmark scanners)
  • The tree does not respect Arch standards — namely, all will be installed in /usr/local; you’ll get a /usr/lexmark/ symbolic link; and get symbolic links to the files installed in /usr/local/lexmark.
  • This process might generate conflicts if you’ve already installed some Lexmark drivers.

Process

  1. Ensure Java is installed.
  2. Download the .deb file[dead link 2021-11-19 ⓘ] containing the driver and save it (eg at ~/lexmark.deb).

Option 1 : using DPKG

dpkg is the standard package-manager for Debian-based distributions. It should not be used to replace pacman unless you precisely know what you’re doing.
Simply run as root

# dpkg -i lexmark.deb

Your scanner should be detected after reboot.

Option 2 : manual installation

Alternatively, if you dont want to install dpkg or wish to control exactly what is done during install, you can follow these instructions (assuming you’re working in ~). Please note that md5 sums will not be checked, which could cause security issues.

  1. Extract the ~/lexmark.deb archive, running ar x lexmark.deb. File debian-binary can be dropped.
  2. Extract both ~/control.tar.gz and ~/data.tar.gz archives.
  3. data.tar.gz gives a ~/usr/ directory. As root, move ~/usr/local/lexmark to /usr/local/lexmark.
  4. As root, run ~/control/postinst to perform install. This script will automatically set all files owners an chmod, then set some fonts, drivers and docs tricks. It will also eventually run /usr/local/lexmark/network-scan.link, creating several symbolic links in your Arch architecture.
  5. Your scanner should be detected after reboot.

Option 3 : Using AUR package

Install the lexmark-network-scanAUR package.

Supported devices

This process has been successfully tested for the following devices:

  • Lexmark MB2236 (USB only; network untested).
  • Lexmark MX517de (network only; USB untested).
  • Lexmark X204n (network only; USB untested).

It does not work fot the following:

To do

In order to improve Lexmark scanners support, you can:

  • Check whether this process works for your computer and device
  • Help defining the list of dependencies required for this process
  • Create an AUR package with this driver which installation would not mess architecture up. Namely, such a package should not need to create a /usr/lexmark symlink, and should be containerized (eg in /opt/lexmark).

Medion

If you own the USB scanner MD 9705 from Medion, you need to download a suitable firmware binary. This firmware file is in the device driver for Windows.

Find out which model you own and take note of the USB ID:

$ lsusb
Bus 006 Device 007: ID 05d8:4003 Ultima Electronics Corp. Artec E+ 48U

Download the windows driver from https://download.medion.com/downloads/treiber/scamd9705w9xxp.exe

Then enter the following commands to extract the firmware file, and copy it to the location SANE expects it:

$ unzip scamd9705w9xxp.exe Win2000/Artec48.usb
# cp Win2000/Artec48.usb /usr/share/sane/artec_eplus48u/Artec48.usb

Mustek

BearPaw 2400CU

Works with sane-gt68xx (sane-gt68xx-firmware)

Samsung

For some Samsung MFP printers you may need to edit /etc/sane.d/xerox_mfp.conf.

example entry:

#Samsung SCX-3200
usb 0x04e8 0x3441

Change the printer model as needed. You can get the idVendor and idProduct code with lsusb. See this thread.

To access the scanner over the network rather than the usb interface, add a line to /etc/sane.d/xerox_mfp.conf such as

#Samsung scx4500w wireless ip network address
tcp xx.xx.xx.xx

where xx.xx.xx.xx is the static ip address of the printer.

Установка МФУ

Модератор: Модераторы разделов

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Установка МФУ

Привет. Почитал касательно данного вопроса, теперь хотелось бы понять как грамотно это оформить в Slackware.
Понял следующее:
1. Мне надо настроить демона cups
2. Скачать драйвер и пересобрать его в пакет Slackware?
3. Поставить xsane?
Или есть еще что-то для работы с мфу?
Интересует печать и сканер, факс не нужен.
Мфу samsung scx-4216F, теперь драйвера на них на сайте hp.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 27.11.2020 14:56

UnixNoob писал: ↑

27.11.2020 13:34


2. Скачать драйвер и пересобрать его в пакет Slackware?

Если только он не подхватится сразу. Вряд ли, конечно, но чем Патрик не шутит…

UnixNoob писал: ↑

27.11.2020 13:34


3. Поставить xsane?

Если правильно помню, xsane — это графическая морда к sane.
Так что его нужно тоже. А вот заведется ли сканер, не знаю.
Напишите потом, что у Вас из всего этого получилось.

У нас такой аппарат был, помню.
Правда, под Linux мы его не пробовали. Мы тогда и слов-то таких не знали.

Но сам аппарат оказался так себе: факс то ли не работал с самого начала,
то ли перестал работать почти сразу. Следом перестал работать автоподатчик.
А тут ещё девченки сунули в печать лист со скрепкой…
Короче, сдали мы его в ремонт. Вроде даже по гарантии.
Нам его починили.
Привезли мы его назад. Всё работает.
И через некоторое время опять отказывает автоподатчик.
А про факс я уже и не интересовался. Тоже вроде перестал работать.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 28.11.2020 17:30

Не удалось мне заставить работать принтер и сканер.
Начну с принтера. cups, sane и xsane в системе были установлены, принтер, при запуске cups находился, но драйвера нужного не было. Возможно подошел бы один из ML-, но я решил попробовать установить родные.

Структура каталога с драйвером такая, может я на этом этапе ошибся:

Код: Выделить всё

./uld:
./     install-printer.sh*  noarch/               uninstall-printer.sh*  x86_64/
../    install-scanner.sh*    uninstall-scanner.sh*
i386/  install.sh*                uninstall.sh*

./uld/i386:
./   gettext*                libscmssc.so*  rastertospl*       usbresetter*
../  libsane-smfp.so.1.0.1*  pstosecps*     smfpnetdiscovery*

./uld/noarch:
./                        firewall-firewalld*    package_install.sh*    scanner-meta.pkg*
../                       firewall-shorewall*    package_uninstall.sh*  scanner-script.pkg*
.version-printer*         firewall-suse*         package_utils*         scanner.pkg*
.version-printer-script*  firewall.sh*           pagesize.xml*          scripting_utils*
.version-scanner*         legacy_compat.pkg*     post_install.sh*       security.pkg*
.version-scanner-script*  libsane-smfp.cfg*      pre_install.sh*        share/
bash_debugging*           license/               printer-meta.pkg*
etc/                      oem.conf*              printer-script.pkg*
firewall-fedora*          package_api_defaults*  printer.pkg*

./uld/noarch/etc:
./  ../  smfp.conf*  smfp.fdi.in*  smfp.rules.in*

./uld/noarch/license:
./  ../  eula-fr.txt*  eula.txt*

./uld/noarch/share:
./  ../  locale/  ppd/

./uld/noarch/share/locale:
./  ../  fr/

./uld/noarch/share/locale/fr:
./  ../  LC_MESSAGES/

./uld/noarch/share/locale/fr/LC_MESSAGES:
./  ../  install.mo*  sane-smfp.mo*

./uld/noarch/share/ppd:
./                                   Samsung_ML-1640_Series.ppd*
../                                  Samsung_ML-1660_Series.ppd*
Samsung_C140x_Series.ppd*            Samsung_ML-1670_Series.ppd*
Samsung_C145x_Series.ppd*            Samsung_ML-1710_Series.ppd*
Samsung_C1810_Series.ppd*            Samsung_ML-1740_Series.ppd*
Samsung_C1860_Series.ppd*            Samsung_ML-1860_Series.ppd*
Samsung_C2620_Series.ppd*            Samsung_ML-1865W_Series.ppd*
Samsung_C2670_Series.ppd*            Samsung_ML-191x_Series.ppd*
Samsung_C268x_Series.ppd*            Samsung_ML-2010_Series.ppd*
Samsung_C3010_Series.ppd*            Samsung_ML-2150_Series.ppd*
Samsung_C3060_Series.ppd*            Samsung_ML-2160_Series.ppd*
Samsung_C351x_Series.ppd*            Samsung_ML-2240_Series.ppd*
Samsung_C401x_Series.ppd*            Samsung_ML-2245_Series.ppd*
Samsung_C406x_Series.ppd*            Samsung_ML-2250_Series.ppd*
Samsung_C410_Series.ppd*             Samsung_ML-2510_Series.ppd*
Samsung_C420_Series.ppd*             Samsung_ML-2525W_Series.ppd*
Samsung_C43x_Series.ppd*             Samsung_ML-2540_Series.ppd*
Samsung_C460_Series.ppd*             Samsung_ML-2550_Series.ppd*
Samsung_C470_Series.ppd*             Samsung_ML-2570_Series.ppd*
Samsung_C4820_Series.ppd*            Samsung_ML-2580_Series.ppd*
Samsung_C48x_Series.ppd*             Samsung_ML-2850_Series.ppd*
Samsung_CLP-300_Series.ppd*          Samsung_ML-2853_Series.ppd*
Samsung_CLP-310_Series.ppd*          Samsung_ML-2855_Series.ppd*
Samsung_CLP-320_Series.ppd*          Samsung_ML-2950_Series.ppd*
Samsung_CLP-350_Series.ppd*          Samsung_ML-3050_Series.ppd*
Samsung_CLP-360_Series.ppd*          Samsung_ML-3300_Series.ppd*
Samsung_CLP-410_Series.ppd*          Samsung_ML-331x_Series.ppd*
Samsung_CLP-600_Series.ppd*          Samsung_ML-3470_Series.ppd*
Samsung_CLP-610_Series.ppd*          Samsung_ML-3475_Series.ppd*
Samsung_CLP-620_Series.ppd*          Samsung_ML-3560_Series.ppd*
Samsung_CLP-660_Series.ppd*          Samsung_ML-371x_Series.ppd*
Samsung_CLP-670_Series.ppd*          Samsung_ML-375x_Series.ppd*
Samsung_CLP-680_Series.ppd*          Samsung_ML-4050_Series.ppd*
Samsung_CLP-770_Series.ppd*          Samsung_ML-4055_Series.ppd*
Samsung_CLP-775_Series.ppd*          Samsung_ML-451x_501x_Series.ppd*
Samsung_CLX-216x_Series.ppd*         Samsung_ML-4550_Series.ppd*
Samsung_CLX-3160_Series.ppd*         Samsung_ML-4555_Series.ppd*
Samsung_CLX-3170_Series.ppd*         Samsung_ML-551x_651x_Series.ppd*
Samsung_CLX-3180_Series.ppd*         Samsung_ML-8850_8950_Series.ppd*
Samsung_CLX-3300_Series.ppd*         Samsung_ML-8x00_Series.ppd*
Samsung_CLX-4190_Series.ppd*         Samsung_SCX-3200_Series.ppd*
Samsung_CLX-6200_Series.ppd*         Samsung_SCX-3400_Series.ppd*
Samsung_CLX-6220_Series.ppd*         Samsung_SCX-4100_Series.ppd*
Samsung_CLX-6240_Series.ppd*         Samsung_SCX-4200_Series.ppd*
Samsung_CLX-6250_Series.ppd*         Samsung_SCX-4300_Series.ppd*
Samsung_CLX-6260_Series.ppd*         Samsung_SCX-4500W_Series.ppd*
Samsung_CLX-8380_Series.ppd*         Samsung_SCX-4500_Series.ppd*
Samsung_CLX-8385X_Series.ppd*        Samsung_SCX-4600_Series.ppd*
Samsung_CLX-8385_Series.ppd*         Samsung_SCX-4623FW_Series.ppd*
Samsung_CLX-8540_Series.ppd*         Samsung_SCX-4623_Series.ppd*
Samsung_CLX-8640_8650_Series.ppd*    Samsung_SCX-4650_4x21S_Series.ppd*
Samsung_CLX-9250_9350_Series.ppd*    Samsung_SCX-470x_Series.ppd*
Samsung_CLX-9252_9352_Series.ppd*    Samsung_SCX-4725_Series.ppd*
Samsung_CLX-92x1_93x1_Series.ppd*    Samsung_SCX-472x_Series.ppd*
Samsung_CLX-981x_Series.ppd*         Samsung_SCX-483x_5x3x_Series.ppd*
Samsung_CLX-982x_Series.ppd*         Samsung_SCX-4x16_Series.ppd*
Samsung_K2200_Series.ppd*            Samsung_SCX-4x20_Series.ppd*
Samsung_K302_Series.ppd*             Samsung_SCX-4x21_Series.ppd*
Samsung_K3250_Series.ppd*            Samsung_SCX-4x24_Series.ppd*
Samsung_K401_Series.ppd*             Samsung_SCX-4x25_Series.ppd*
Samsung_K4350_Series.ppd*            Samsung_SCX-4x26_Series.ppd*
Samsung_K703_Series.ppd*             Samsung_SCX-4x28_Series.ppd*
Samsung_K7600_Series.ppd*            Samsung_SCX-5635_Series.ppd*
Samsung_M2020_Series.ppd*            Samsung_SCX-5835_5935X_Series.ppd*
Samsung_M2070_Series.ppd*            Samsung_SCX-5835_5935_Series.ppd*
Samsung_M262x_282x_Series.ppd*       Samsung_SCX-5x30_Series.ppd*
Samsung_M267x_287x_Series.ppd*       Samsung_SCX-6545X_Series.ppd*
Samsung_M283x_Series.ppd*            Samsung_SCX-6545_Series.ppd*
Samsung_M288x_Series.ppd*            Samsung_SCX-681x_Series.ppd*
Samsung_M301x_Series.ppd*            Samsung_SCX-6x20_Series.ppd*
Samsung_M306x_Series.ppd*            Samsung_SCX-6x22_Series.ppd*
Samsung_M332x_382x_402x_Series.ppd*  Samsung_SCX-6x45_Series.ppd*
Samsung_M337x_387x_407x_Series.ppd*  Samsung_SCX-6x55X_Series.ppd*
Samsung_M403x_Series.ppd*            Samsung_SCX-6x55_Series.ppd*
Samsung_M408x_Series.ppd*            Samsung_SCX-8030_8040_Series.ppd*
Samsung_M4370_5370_Series.ppd*       Samsung_SCX-8123_8128_Series.ppd*
Samsung_M453x_Series.ppd*            Samsung_SCX-8230_8240_Series.ppd*
Samsung_M458x_Series.ppd*            Samsung_SCX-881x_Series.ppd*
Samsung_M5270_Series.ppd*            Samsung_SCX-882x_Series.ppd*
Samsung_M536x_Series.ppd*            Samsung_SF-760_Series.ppd*
Samsung_MFP_560_Series.ppd*          Samsung_X3220_Series.ppd*
Samsung_MFP_65x_Series.ppd*          Samsung_X401_Series.ppd*
Samsung_MFP_750_Series.ppd*          Samsung_X4300_Series.ppd*
Samsung_ML-1520_Series.ppd*          Samsung_X703_Series.ppd*
Samsung_ML-1610_Series.ppd*          Samsung_X7600_Series.ppd*
Samsung_ML-1630W_Series.ppd*         cms/
Samsung_ML-1630_Series.ppd*

./uld/noarch/share/ppd/cms:
./              CLP-320sc.cts*   CLX-3160sc.cts*  M262xsc.cts*  M337xsc.cts*     SCX-472xsc.cts*
../             CLP-360sc.cts*   CLX-3170sc.cts*  M267xsc.cts*  ML-2160sc.cts*   SF-760sc.cts*
C410sc.cts*     CLP-600sc.cts*   CLX-3180sc.cts*  M283xsc.cts*  ML-2540sc.cts*
C420sc.cts*     CLP-610sc.cts*   CLX-6220sc.cts*  M288xsc.cts*  ML-2950sc.cts*
C43xsc.cts*     CLP-620sc.cts*   K2200sc.cts*     M301xsc.cts*  SCX-3400sc.cts*
CLP-300sc.cts*  CLP-660sc.cts*   M2020sc.cts*     M306xsc.cts*  SCX-4650sc.cts*
CLP-310sc.cts*  CLX-216xsc.cts*  M2070sc.cts*     M332xsc.cts*  SCX-470xsc.cts*

./uld/x86_64:
./   gettext*                libscmssc.so*  rastertospl*       usbresetter*
../  libsane-smfp.so.1.0.1*  pstosecps*     smfpnetdiscovery*

Пример одного из install.sh:

Код: Выделить всё

#!/bin/sh

SCRIPTS_DIR="$(dirname "$0")"

# load 'scripting' run-time support utility functions
. "${SCRIPTS_DIR}/scripting_utils"

# load 'package' run-time support utility functions
. "${SCRIPTS_DIR}/package_utils"

#. "${SCRIPTS_DIR}/packet.sh"
environment_init $(basename "$0" ".sh")

if [ $# -ne 1 ] ; then
	show_nls_message "**** Usage: ${0} package"
	exit 1
fi
load_package "$1"


MISSING_REQUIREMENTS="$(get_missing_requirements)"
log_variable MISSING_REQUIREMENTS
if [ -n "${MISSING_REQUIREMENTS}" ] ; then
	report_missing_requirements "${MISSING_REQUIREMENTS}"
	exit 1
fi

IS_INSTALL_NECESSARY="$(isInstallNecessary)"
log_variable IS_INSTALL_NECESSARY
if ! ${IS_INSTALL_NECESSARY} ; then
	report_no_install_reason
	log_message "Skipping package '${PACKAGE_NAME}'/'$(dist_version)' installation since version '$(version)' is already installed"
	exit 0
fi

if ! have_root_permissions ; then
	show_nls_message "**** Root privileges are required"
	exit 1
fi

# attempt to install dependencies
DEPENDENCIES="$(dependencies)"
log_variable DEPENDENCIES
for DEPENDENCY in ${DEPENDENCIES} ; do
        log_message "invoking: ${SCRIPTS_DIR}/package_install.sh" "${DEPENDENCY}"
        if ! "${SCRIPTS_DIR}/package_install.sh" "${DEPENDENCY}" ; then
		log_message "dependency installation failure"
		exit 1
	fi
done

log_message "removing previously installed files (if present)"
remove_package_files

# register package as dependency
register_dependency

# package specific install
log_message "installing package"
do_install

# install version file (if available)
DIST_VERSION_FILE="$(_dist_version_file "${PACKAGE_NAME}" "${PACKAGE_SUFFIX}")"
log_variable DIST_VERSION_FILE
if [ -r "${DIST_VERSION_FILE}" ] ; then
	VERSION_FILE="$(_version_file "${PACKAGE_NAME}" "${PACKAGE_SUFFIX}")"
	log_variable VERSION_FILE
	install_p "${DIST_VERSION_FILE}" "${VERSION_FILE}" 2>&1 | log_redirected_output
else
	log_message "'${DIST_VERSION_FILE}' is unavailable"
fi

# report end of install
after_install

log_message "finished"

Так вот, зашел я в папку noarch и с помощью makepkg создал пакет slackware и установил его.
Что мне это дало или должно было дать, я честно говоря не понял. Открыл cups указал файл ppd.
Принтер написал что он готов, но при отправке на печать ругался на отсутствие файла — rastertospl.
Скопировал я его,от root, в папку /usr/libs64/cups/filter, ошибка пропала, но получил теперь ошибку «filter failed»
В логах увидел следующее:

Код: Выделить всё

D [28/Nov/2020:16:19:38 +0300] [Job 4] Dictionary stack:
D [28/Nov/2020:16:19:38 +0300] [Job 4] --dict:739/1123(ro)(G)--   --dict:1/20(G)--   --dict:80/200(L)--   --dict:80/200(L)--   --dict:133/256(ro)(G)--   --dict:318/325(ro)(G)--   --dict:33/64(L)--   --dict:6/9(L)--   --dict:6/20(L)--
D [28/Nov/2020:16:19:38 +0300] [Job 4] Current allocation mode is local
D [28/Nov/2020:16:19:38 +0300] [Job 4] Last OS error: Broken pipe
D [28/Nov/2020:16:19:38 +0300] [Job 4] GPL Ghostscript 9.53.3: Unrecoverable error, exit code 1
D [28/Nov/2020:16:19:38 +0300] [Job 4] Rendering completed
D [28/Nov/2020:16:19:38 +0300] [Job 4] PID 3568 (/usr/lib64/cups/filter/gstoraster) stopped with status 1.
D [28/Nov/2020:16:19:38 +0300] [Job 4] Hint: Try setting the LogLevel to "debug" to find out more.
D [28/Nov/2020:16:19:38 +0300] [Job 4] Waiting for read thread to exit...
D [28/Nov/2020:16:19:38 +0300] [Job 4] Read thread still active, aborting the pending read...
D [28/Nov/2020:16:19:38 +0300] [Job 4] Resetting printer.
D [28/Nov/2020:16:19:38 +0300] [Job 4] PID 3570 (/usr/lib64/cups/backend/usb) exited with no errors.
D [28/Nov/2020:16:19:38 +0300] [Job 4] End of messages
D [28/Nov/2020:16:19:38 +0300] [Job 4] printer-state=3(idle)
D [28/Nov/2020:16:19:38 +0300] [Job 4] printer-state-message="Rendering completed"
D [28/Nov/2020:16:19:38 +0300] [Job 4] printer-state-reasons=none

Сканер, если верить этому
не поддерживается совсем. sane его не находит, в группу scanner пользователь добавлен. Что в таком случае дают драйвера,я так же не понял.
Правда вопрос чем он его считает, SCX-4×16 или 4200 Series, как указано в файле ppd принтера.

lsusb пишет это:

Код: Выделить всё

Bus 001 Device 004: ID 04e8:3409 Samsung Electronics Co., Ltd SCX-4216F Scanner

Простите меня за такие простыни, я просто слегка в шоке, от установки принтера и сканера в linux. Возможно я зашел не с того конца, не знаю.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19825
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Установка МФУ

Сообщение

Bizdelnick » 28.11.2020 17:54

UnixNoob писал: ↑

28.11.2020 17:30


получил теперь ошибку «filter failed»

Либ каких-нибудь, небось, не хватает. Попробуйте его руками запустить, что скажет?

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 28.11.2020 19:55

Bizdelnick
а что вы имеете в виду под руками? с консоли?
Мне тут подумалось что наверно мне перед сборкой в пакет Slackware, нужно было выполнить установку драйвера во временный каталог…
И уже потом собирать пакет Slackware. Т.к папка х86_64 осталась без дела, в моем варианте сборки… Хотя не уверен что оно бы установилось, надо пробовать.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19825
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Установка МФУ

Сообщение

Bizdelnick » 28.11.2020 20:30

UnixNoob писал: ↑

28.11.2020 19:55


что вы имеете в виду под руками? с консоли?

Да.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 28.11.2020 23:27

Bizdelnick, в ручном режиме он пишет:

Код: Выделить всё

id запроса Samsung_SCX-4x16_Series-6 (1 файл.)

А в очереди так же про «filter failed»

С установкой драйверов не понятно мне.
По логике если оно у меня не работает с установленными драйверами, значит я что-то не так сделал. Readme бы какой прикрутили, как-то не хочется мне скрипты, которые не ясно куда и что поставят запускать. Особенно учитывая что драйвер 2017г, может он вообще не должен у меня устанавливаться.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Bizdelnick

Модератор
Сообщения: 19825
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Установка МФУ

Сообщение

Bizdelnick » 29.11.2020 11:20

UnixNoob писал: ↑

28.11.2020 23:27


не хочется мне скрипты, которые не ясно куда и что поставят запускать

Ну препарируйте этот скрипт и разберитесь, что и куда он ставит.

Пишите правильно:

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 29.11.2020 13:26

UnixNoob писал: ↑

28.11.2020 17:30


Так вот, зашел я в папку noarch и с помощью makepkg создал пакет slackware и установил его.

Расскажите, как создавали пакет.

UnixNoob писал: ↑

28.11.2020 17:30


Что мне это дало или должно было дать, я честно говоря не понял.

Чисто физически это должно было создать нужные структуры каталогов и раскидать туда файлы,
попутно выставив права доступа и т.п.

UnixNoob писал: ↑

28.11.2020 17:30


Сканер, если верить этому
не поддерживается совсем.

В этом нет ничего удивительного. Создатели sane не имеют возможности проверить все существующие на свете аппараты и добавить их поддержку.
Поддержка добавляется либо производителями устройств, либо пользователями, у кого есть такие устройства.
В самом простом случае берется блоб — бинарный файл с фирменной начинкой (прошивка, условно говоря) и скармливается sane.
После этого sane имеет возможность нормально общаться с аппаратом.
Но это возможно только в случае, если в sane существует драйвер для данного класса устройств.
Тогда работа с конкретными устройствами данного класса происходит с использованием этих прошивок.

Если же производитель всё-таки озаботился созданием драйверов сканера под Linux, то вполне вероятно,
предполагается использование sane. В этом случае при установке «фирменного драйвера» в систему добавляются нужные библиотеки, блобы и пр., и всё это хозяйство взаимодействует с sane.

UnixNoob писал: ↑

28.11.2020 17:30


Что в таком случае дают драйвера,я так же не понял.

Драйвера дают ту самую поддержку устройства в Linux, которой изначально нету.

UnixNoob писал: ↑

28.11.2020 17:30


Возможно я зашел не с того конца, не знаю.

Вообще, да. Немного не с того конца.

UnixNoob писал: ↑

28.11.2020 23:27


По логике если оно у меня не работает с установленными драйверами, значит я что-то не так сделал. Readme бы какой прикрутили, как-то не хочется мне скрипты, которые не ясно куда и что поставят запускать.

Скрипты запускать не советую, по крайней мере, на боевой системе.
Лучше в контейнере/виртуалке.
Я бы создал слакбилд, который раскидывает файлы по каталогам так, как это принято в системе.
Ну или так, как это делают скрипты. Там создается структура каталогов в /opt/ и туда раскидываются бинарные файлы, ppd и пр.
А вот куда это всё раскидывается по итогам установки Вашего пакета — это вопрос интересный.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 29.11.2020 14:15

Hephaestus писал: ↑

29.11.2020 13:26


Расскажите, как создавали пакет.

Зашел в папку /noarch и выполнил команду sudo makepkg <название создаваемого пакета>.
Я подумал что он будет ругаться, если пакет создать не удастся,но он создался.
Установить его во временный каталог,с помощию make install предварительно не вышло. Точно файлы попадают в /usr/share и что-то в /etc.
Уходят ли куда-то файлы из папки x86_64 не знаю, думаю что нет. Readme там нет, make тоже нет.

Как в таком случае создаются пакеты Slackware правильно? Это и не исходник и даже не перепаковка?

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 29.11.2020 14:57

UnixNoob писал: ↑

29.11.2020 14:15


Зашел в папку /noarch и выполнил команду sudo makepkg <название создаваемого пакета>.
Я подумал что он будет ругаться, если пакет создать не удастся,но он создался.

Понятно. Что бы ему не создаться-то? Создастся, только бестолковый.
Он тупо упаковал содержимое каталога noarch в формат пакета tgz. Вот и всё.
Причем, упаковал «как есть»: эти вот скрипты попали в пакет, текст лицензии (нафиг оно не надо).

Структура каталогов создавалась? Нет. Значит, всё попадает в корень.
Единственное, что при таком раскладе оказывается более-менее на своём месте — каталог etc, поскольку он действительно должен быть в корне.
Бинарники/конфиги копировались в правильные места? Нет. Значит, они вообще в пакет не попадают, поскольку они расположены не в noarch, а в соседнем каталоге.

Естественно, оно в итоге не работает: ни одного бинарника нет.

UnixNoob писал: ↑

29.11.2020 14:15


Установить его во временный каталог,с помощию make install предварительно не вышло.

Там нет make-файла, поэтому make не поможет.

UnixNoob писал: ↑

29.11.2020 14:15


Уходят ли куда-то файлы из папки x86_64 не знаю, думаю что нет.

Как я уже сказал, никуда не уходят: они вообще в другом каталоге, который при создании пакета
даже не затрагивался.

UnixNoob писал: ↑

29.11.2020 14:15


Как в таком случае создаются пакеты Slackware правильно?

Вручную. Создаем слакбилд, в котором предварительно создаются все нужные каталоги,
а потом туда копируются файлы. Это тупо команды mkdir и cp. Ну или install, если больше нравится.
Я могу попробовать создать, но у меня устройства нет, поэтому проверять не на чем.

UnixNoob писал: ↑

29.11.2020 14:15


Это и не исходник и даже не перепаковка?

Да, это не исходник. Но это упаковка.
Посмотрите любой слакбилд, что там происходит с файлами документации.
Ровно это и происходит: создание каталогов и копирование.
Или посмотрите какой-нибудь слакбилд закрытой софтины (типа браузера Opera).
Там сплошные бинарники и всё что нужно сделать — раскидать их по местам — то же самое: создание каталогов и копирование.

Да, кстати.
В данном конкретном случае, может оказаться, что нужно воспроизвести структуру каталогов, которую создают скрипты. Здесь уже готовые бинарники, как они компилировались, мы не знаем. И где эти бинарники намерены друг друга искать, мы тоже не знаем. Поэтому размещение их по стандартным путям в системе может не сработать (хотя попробовать, конечно, можно). Достоверно я этого не знаю, разумеется. Просто этот вот момент с путями надо иметь в виду.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 29.11.2020 15:45

Hephaestus писал: ↑

29.11.2020 14:57


Да, это не исходник. Но это упаковка.
Посмотрите любой слакбилд, что там происходит с файлами документации.
Ровно это и происходит: создание каталогов и копирование.

По Слакбилду я хотя бы понимаю куда и что ставится. Здесь же конкретного пути нет. Или я не понял где это смотреть.

Hephaestus писал: ↑

29.11.2020 14:57


Я могу попробовать создать, но у меня устройства нет, поэтому проверять не на чем.

Я такую задачу пока не осилю, я смотрел в эти скрипты, понимаю что он какие-то переменные дергает с PATH, что — то он хочет положить в /opt, так по-крайней мере показал bash -x. Но как из этого сформировать нужную мне структура каталогов я не понял.
Если есть время/желание — посмотрите.
Но честно говоря это уже выходит за рамки форумной помощи и мне не очень удобно о таком просить.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 29.11.2020 20:33

UnixNoob
Ну, вот примерно так.

Решение, можно сказать, в лоб.
Создаются каталоги, раскидываются файлы, выставляются права.
Создаются симлинки, генерится конфиг.
Поскольку устройства у меня нет, ставить собранный пакет мне бессмысленно.
Возможно, я что-то упустил, но с виду всё нормально.

Тем не менее, это ещё не всё.
В оригинальных скриптах ещё выполняется генерация файлов для udev.
В принципе, нужный кусок можно выдернуть прямо из скрипта
и воткнуть в doinst.sh, но это я не пробовал. Там надо посмотреть, что к чему.

Попробуйте пока этот вариант. Возможно, что-то и взлетит.
Насчет правил udev подумаем.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 29.11.2020 23:30

Hephaestus
Принтер заработал.
Сканер по команде sane-find-scanner пишет:

Код: Выделить всё

# Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

А scanimage — L выдает это:

Код: Выделить всё

device `smfp:usb;04e8;3409;6758-04020434815' is a Samsung SCX-4x16 Series on USB Scanner

При открытии xsane в названии окна видно что он нашел сканер, так же при открытии Load Device settings он сам открывает путь к файлу .drc,
но при нажатии кнопки scan пишет:

Failed to start scanner. Error during device I/O.

А откуда вы узнали вот это все:

Код: Выделить всё

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/
mkdir -p $PKG/opt/samsung/printer/share/ppd/cms
mkdir -p $PKG/opt/smfp-common/printer/{lib,bin}/
mkdir -p $PKG/opt/smfp-common/scanner/lib/
mkdir -p $PKG/opt/smfp-common/scanner/share/locale/fr/
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/cups/filter
mkdir -p $PKG/usr/share/locale/fr/LC_MESSAGES/

#cp -R noarch/share/ppd $PKG/opt/samsung/printer/share

install -m644 noarch/share/ppd/*.ppd $PKG/opt/samsung/printer/share/ppd
install -m644 noarch/share/ppd/cms/* $PKG/opt/samsung/printer/share/ppd/cms

install -m755 $ARCH/libscmssc.so $PKG/opt/smfp-common/printer/lib/
install -m755 $ARCH/pstosecps $PKG/opt/smfp-common/printer/bin/
install -m755 $ARCH/rastertospl $PKG/opt/smfp-common/printer/bin/
install -m755 $ARCH/smfpnetdiscovery $PKG/opt/smfp-common/printer/bin/
install -m755 $ARCH/libsane-smfp.so.1.0.1 $PKG/opt/smfp-common/scanner/lib/
install -m644 noarch/share/locale/fr/LC_MESSAGES/sane-smfp.mo $PKG/opt/smfp-common/scanner/share/locale/fr/
install -m644 noarch/pagesize.xml $PKG/opt/smfp-common/scanner/share/
install -m644 noarch/libsane-smfp.cfg $PKG/opt/smfp-common/scanner/share/
install -m644 noarch/oem.conf $PKG/opt/smfp-common/scanner/share/
install -m644 noarch/etc/smfp.conf $PKG/$SANE_CONF_DIR/smfp-samsung.conf


ln -sf "/opt/smfp-common/printer/bin/smfpnetdiscovery" "$PKG/usr/lib${LIBDIRSUFFIX}/cups/backend"
ln -sf "/opt/smfp-common/printer/bin/rastertospl" "$PKG/usr/lib${LIBDIRSUFFIX}/cups/filter"
ln -sf "/opt/smfp-common/printer/bin/pstosecps" "$PKG/usr/lib${LIBDIRSUFFIX}/cups/filter"
ln -sf "$SANE_DIR"/libsane-smfp.so.1 "$PKG/$SANE_DIR"/libsane-smfp.so
ln -sf "$SANE_DIR"/libsane-smfp.so.1.0.1 "$PKG/$SANE_DIR"/libsane-smfp.so.1
ln -sf "/opt/smfp-common/scanner/lib/libsane-smfp.so.1.0.1" "$PKG/$SANE_DIR"
ln -sf "/opt/smfp-common/scanner/share/locale/fr/sane-smfp.mo" "$PKG/usr/share/locale/fr/LC_MESSAGES/"


cat <<EOF >$PKG/$SANE_CONF_DLL_DIR/smfp.conf
smfp
EOF

Кратенько порядок действий, если вас не затруднит. Потому что я смотрел в install.sh и package_install.sh и не понял куда и что :unsure:

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 30.11.2020 01:07

UnixNoob писал: ↑

29.11.2020 23:30


А откуда вы узнали вот это все

На самом деле всё невероятно просто.
Я пошел по пути наименьшего сопротивления и запустил скрипты в контейнере.
Подменил в скрипте каталог назначения, чтобы установка прошла «в чистый каталог».
Таким образом стало известно, какие файлы куда ставятся.
Это всё не сразу, а по итогам нескольких запусков install/uninstall.

Потом я выставил в некоторых местах set -x, чтобы был отладочный вывод на экран.

Далее, я обратил внимание на сообщения типа «Registering CUPS backend» («Registering SANE backend») во время установки.
Прошерстив скрипты на предмет этих сообщений, нашел соответствующие функции.
Выставляя выборочно set -x в функциях, смотрел, что происходит в скрипте.
Таким образом, было выявлено остальное: симлинки, редактирование конфигов и пр.

Если действовать чисто аналитическим путем (без запуска скриптов), будет примерно то же самое,
только дольше: нужно смотреть скрипты от стартового и вглубь. Встретив вызов функции, искать в скриптах её реализацию и смотреть, что она делает. Просмотр отладочной информации в процессе выполнения проще в том смысле, что можно видеть уже присвоенные значения переменных. В самом скрипте не всегда понятно, чему равна переменная.

Кстати, обычный запуск этих скриптов завершится с ошибкой: не отрабатывает mktemp. Пришлось подправить.

UnixNoob писал: ↑

29.11.2020 23:30


Потому что я смотрел в install.sh и package_install.sh и не понял куда и что

Нужно смотреть дальше: printer.pkg. Там внутри функция do_install(), из которой
вызывается install_base_files(). Вот в ней как раз раскидывание файлов по каталогам (для принтера).
Для сканера всё аналогично в файле scanner.pkg.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 30.11.2020 08:22

UnixNoob писал: ↑

29.11.2020 23:30


А scanimage — L выдает это:
device `smfp:usb;04e8;3409;6758-04020434815′ is a Samsung SCX-4×16 Series on USB Scanner

при нажатии кнопки scan пишет:
Failed to start scanner. Error during device I/O.

Мда. Я подозреваю, что у Вас отсутствует файл устройства /dev/scanner или подобный.
А вообще, не исключено, что устройств в системе должно быть два: принтер и сканер,
потому что CUPS ничего не знает о сканерах, а SANE ни сном, ни духом о существовании принтеров.
Поскольку с udev мы ничего не делали, то устройство сейчас в лучшем случае одно.
Если SANE пытается обращаться к устройству, которое на самом деле принтер, то понятно, что будет ошибка.
Но это всё домыслы. В режиме экстрасенса сложновато анализировать ситуацию.
Реальную картину видно только Вам.

Короче, надо бы дожать правила udev.
Причем, не обязательно именно те, которые генерируются в скриптах, хотя и их тоже.
Правила udev там в основном для «горячего подключения» устройства.
А в данном случае они представляют интерес с точки зрения создания файлов устройств
и присвоения всяких там «правильных» имен.

Кстати, нажатие кнопки scan — это же в программе? Или на аппарате?
Аппаратная, скорее всего, сейчас не работает, но кто знает…

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 30.11.2020 20:17

Hephaestus писал: ↑

30.11.2020 01:07


На самом деле всё невероятно просто.

Да уж, проще не придумаешь. :)

Hephaestus писал: ↑

30.11.2020 01:07


Я пошел по пути наименьшего сопротивления и запустил скрипты в контейнере.

Это docker или что-то родное из linux?

Hephaestus писал: ↑

30.11.2020 01:07


Нужно смотреть дальше: printer.pkg. Там внутри функция do_install(), из которой
вызывается install_base_files(). Вот в ней как раз раскидывание файлов по каталогам (для принтера).

Посмотрю.

Hephaestus писал: ↑

30.11.2020 08:22


Мда. Я подозреваю, что у Вас отсутствует файл устройства /dev/scanner или подобный.

А он должен быть? Или появиться после установки драйвера?

Hephaestus писал: ↑

30.11.2020 08:22


Короче, надо бы дожать правила udev.

Я с радостью, куда смотреть?

Hephaestus писал: ↑

30.11.2020 08:22


Кстати, нажатие кнопки scan — это же в программе? Или на аппарате?

Программы, на аппарате нет отдельно кнопки сканирования, только режим копира, для этого ПК не нужен совсем.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 30.11.2020 22:57

UnixNoob писал: ↑

30.11.2020 20:17


Да уж, проще не придумаешь.

Просто, в том смысле, что никаких чудес.

Берем картину мироздания
и тупо смотрим, что к чему (c).

В смысле, берем скрипты, разбираем по косточкам, пишем свои.
Эдакий «анализ и синтез», да.
На самом деле это всё проще, чем кажется на первый взгляд.

UnixNoob писал: ↑

30.11.2020 20:17


А он должен быть? Или появиться после установки драйвера?

Ну, какой-то файл должен быть. Иначе как обращаться к устройству? По идее, появление файла устройства происходит при загрузке драйвера в память.
От udev это не зависит. Но udev может помочь в другом: выставить права доступа, выполнить команду (или вызвать скрипт), присвоить более удобное имя (или создать симлинк).

Вывод scanimage -L должен показать нечто такое
smfp:/dev/scanner0
А в Вашем случае вместо этого мы видим

UnixNoob писал: ↑

29.11.2020 23:30


`smfp:usb;04e8;3409;6758-04020434815′

то есть вместо имени файла VID/PID и серийный номер, судя по всему.

Запуск сканирования из командной строки выглядит как-то так:
scanimage backend:/dev/scanner —format pnm > outfile.pnm
то есть для Вашего аппарата по идее должно быть так:
scanimage smfp:/dev/scanner —format pnm > outfile.pnm

А с учетом имеющихся данных получается как-то так:
scanimage `smfp:usb;04e8;3409;6758-04020434815′ —format pnm > outfile.pnm
я собственно, даже не соображу, как это правильно записать.

Не знаю, поможет ли здесь udev(думаю, можно его заставить), но в некоторых conf-файлах прописано имя /dev/scanner. Возможно, это стоит сделать, но целевой conf-файл слишком уж отличается от всех прочих. Так что здесь пока неясно.
Да, кстати, оригинальные скрипты редактируют dll.conf: добавляют туда строку «smfp», и «отключают» строку «geniusvp2». Я сделал немного иначе: создал отдельный файл и поместил его в подкаталог dll.d.
Почему так? Создать новый файл при установке пакета и удалить этот файл при удалении пакета — это проще, чем редактировать существующий файл при установке пакета, а потом «вертать взад» при удалении пакета.
Так вот, dll.conf я не трогал и соответственно, наличие строки «geniusvp2» не проверял. На что она влияет, судить не берусь. В моих файлах такой строки нет, но тем не менее.

UnixNoob писал: ↑

30.11.2020 20:17


Я с радостью, куда смотреть?

Да всё туда же — в скрипты.
Если есть энтузиазм, можете эту маленькую задачу решить в качестве упражнения на «анализ и синтез».
Итак, задача: Вытащить из скрипта кусок кода, который генерирует файл правил udev на основе шаблона.
Полученный кусок кода изменить таким образом, чтобы его можно было вставить в SlackBuild, например.
Это значит, что нужно оставить только значимую часть кода, убрав всю обвязку (сопутствующие функции, запись логов, словом всё, что не имеет отношения к слакбилду).
Отправная точка: модуль scanner-script.pkg, функция fill_full_template().
Инструменты: терминал, любимый текстовый редактор, grep (больше вроде бы ничего не нужно).

Сам файл правил udev, как оказалось, не содержит ничего интересного — всего лишь присваивает владельца/группу и выставляет права доступа. Я ожидал большего, честно говоря. С учетом того, что вместо имени файла устройства выводится всякая техническая премудрость, возможно имеет смысл запрячь udev на предмет присвоения имени или создания симлинка.

Вариант файла правил udev, как он создается оригинальными скриптами, представлен под спойлером.
Насколько я понимаю, он всегда выходит одинаковый.
В общем-то, можно не заморачиваться с генерацией, а взять его «как есть».

Spoiler

Код: Выделить всё

# This file is a part of Unified Linux Driver
# Rules to allow low level USB device access for smfpautoconf
#
# For new distributions,
# Permissions and group are set according to common libsane rules
#

ACTION!="add", GOTO="smfp_label_end"

# Check device type
ENV{DEVTYPE}=="usb_device", GOTO="smfp_create_usb_dev"

# Check SUBSYSTEM (should be either "usb" or "usb_device")
SUBSYSTEM=="usb", GOTO="smfp_create_usb_dev"
SUBSYSTEM=="usb_device", GOTO="smfp_create_usb_dev"

GOTO="smfp_label_end"

LABEL="smfp_create_usb_dev"

# Check Vendor ID
ATTR{idVendor}!="04e8", GOTO="smfp_label_end"

ATTRS{idProduct}=="3425", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="341c", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="342a", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="343d", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3456", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="345a", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3427", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="343a", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3428", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="343b", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3455", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3421", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3439", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3444", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="343f", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="344e", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3431", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="345c", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="344d", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3462", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3464", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3461", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3460", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="340e", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3435", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="340f", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3441", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="344f", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3413", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="341b", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="342e", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3426", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="342b", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3433", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3440", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3434", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="345b", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3457", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="341f", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3453", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="344b", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3409", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3412", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3419", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="342c", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="343c", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3432", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="342d", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3430", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="342f", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3446", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="341a", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3437", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3442", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3466", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="340d", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="341d", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3420", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3429", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3443", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3438", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="344c", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="345d", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3463", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3465", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3450", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3468", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3469", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3467", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="346b", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="346a", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="346e", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3471", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3472", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="347d", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="347c", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="347e", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3481", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3482", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3331", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3332", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3483", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3484", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3485", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3478", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3325", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3327", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="346f", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3477", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3324", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3326", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3486", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3487", ENV{libsane_matched}="yes"
ATTRS{idProduct}=="3489", ENV{libsane_matched}="yes"

ENV{libsane_matched}=="yes", OWNER="root", MODE="664", GROUP="lp"

LABEL="smfp_label_end"

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 01.12.2020 00:16

Hephaestus писал: ↑

30.11.2020 22:57


Если есть энтузиазм, можете эту маленькую задачу решить в качестве упражнения на «анализ и синтез».
Итак, задача: Вытащить из скрипта кусок кода, который генерирует файл правил udev на основе шаблона.

Посмотрю на днях, отпишусь потом о результатах.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 03.12.2020 22:18

Hephaestus писал: ↑

30.11.2020 22:57


Вариант файла правил udev, как он создается оригинальными скриптами, представлен под спойлером.
Насколько я понимаю, он всегда выходит одинаковый.

Посмотрел немного файлы.
Он извлекает из sane.rules имя я так понял, для будущего файла rules.

Код: Выделить всё

80     RULES=$(ls /etc/udev/rules.d/*sane*.rules /lib/udev/rules.d/*sane*.rules 2>/dev/null)
181     NUMBER=100
182     for RULE in ${RULES}
183     do
184         RULE=$(basename ${RULE})
185         CUT1=$(echo ${RULE} | cut -f1 -d'-')
186         if [ ${#RULE} -ne ${#CUT1} ]; then
187             NUM=$CUT1       
188         else
189             CUT1=$(echo ${RULE} | cut -f1 -d'_')
190             if [ ${#RULE} -ne ${#CUT1} ]; then
191                 NUM=$CUT1
192             fi
193         fi
194         if [ ${NUMBER} -gt ${NUM} ]; then
195             NUMBER=${NUM}
196         fi
197     done
198     RULE_NUMBER=$((NUMBER-1))

А для генерации этого файла берется файл /etc/smfp.rules.in
Т.е получается мне надо создать файл smfp.rules и положить в /etc/udev/rules.d

Только там еще правила HAL создаются дальше и hotplug. Но hotplug я так понял не обязателен, а вот на счет hal не знаю.
Еще я что-то в /dev/ и принтера то не нашел. Но я так понял для него они не создаются, все только с cups связано.
Я конечно не знаю как ребята с HP предполагают это устанавливать в Linux. Сейчас еще у одних systemd у других нет.
Надо про контейнеры почитать в итоге. На случай таких вот драйверов и скриптов установки.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 04.12.2020 07:37

UnixNoob писал: ↑

03.12.2020 22:18


Он извлекает из sane.rules имя я так понял, для будущего файла rules.

Конкретно этот момент я не отслеживал. Меня интересовало содержимое, а не имя.
Имя-то присвоить — вообще не проблема.

UnixNoob писал: ↑

03.12.2020 22:18


А для генерации этого файла берется файл /etc/smfp.rules.in
Т.е получается мне надо создать файл smfp.rules и положить в /etc/udev/rules.d

Правильно. Вот эту самую генерацию я и предлагал Вам выдернуть из скриптов. В качестве «домашнего задания».
Получиться должно то, что я показывал по спойлером.
Впрочем, как я уже говорил, можно сохранить текст из спойлера в файл и просто включить в пакет.
Поскольку этот файл всегда один и тот же. Хотя я бы его модифицировал. А заодно поэкспериментировал бы с конфигами. Есть там одна идея.

UnixNoob писал: ↑

03.12.2020 22:18


а вот на счет hal не знаю.

Чего Вы не знаете? Нет его. Сдох он. Уже лет десять как. Последняя версия в апстриме была в 2009 году.
В состав Slackware входил во времена версии 13.37. В 14.0 уже не было.
На смену HAL, кстати, пришел как раз udev. Так что тут и сомневаться нечего.
На кой ляд в этих скриптах предусмотрен вариант для HAL, я не знаю. Скорее всего, тянется ещё с тех времен.

UnixNoob писал: ↑

03.12.2020 22:18


Я конечно не знаю как ребята с HP предполагают это устанавливать в Linux.

Ну, как? Обыкновенно. Распаковали тарбол, запустили скрипты, всё сгенерировалось/раскидалось, симлинки создались.
А дальше перезапуск — всё должно работать.
Все эти «установщики от производителя» — они практически все такие. Более продвинутые предлагают разные режимы запуска и даже генерируют пакеты под разные дистры.

В данном случае рестарт CUPS в процессе работы скрипта, правда, не сработал, но это в контейнере. В основной системе, может, и сработал бы. Я с этим не разбирался, поскольку для создания пакета это несущественно.

UnixNoob писал: ↑

03.12.2020 22:18


Надо про контейнеры почитать в итоге.

Про контейнеры могу поделиться опытом. В контексте их использования в Slackware.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 04.12.2020 11:04

Hephaestus писал: ↑

04.12.2020 07:37


Сдох он. Уже лет десять как.

Понятно.

Hephaestus писал: ↑

04.12.2020 07:37


Про контейнеры могу поделиться опытом. В контексте их использования в Slackware.

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

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 04.12.2020 14:45

UnixNoob писал: ↑

04.12.2020 11:04


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

Сначала я остановился на варианте с LXC. В частности потому, что нашлись материалы на русском языке.
Затем, немного вникнув в тему, понял, что лучше запускать непривилегированные контейнеры,
и таким образом перешел к использованию связки LXC/LXD. Разбирался с помощью цикла статей (это не в контексте Slackware, а вообще), плюс на оф. сайте есть некоторые материалы на русском.

Что могу отметить по опыту использования.
Непривилегированный контейнер разворачивается из готового (заранее подготовленного) образа системы.
Образ загружается из Сети. Также можно создать собственный образ. И даже опубликовать его.
Сложность в том, что LXC/LXD изначально заточены под Ubuntu, соответственно, и образы убунтовские (не все, но многие).
Но контейнер — это не виртуальная машина, то есть не полностью изолированная среда. Это, скорее, chroot с дополнительными мерами изоляции. Следовательно, нельзя, скажем, находясь в Slackware, развернуть в контейнере Windows7.
Развернуть Ubuntu, находясь в Slackware, может быть, и можно, но я не пробовал. Точнее, пробовал, но сразу оно не взлетело, а разбираться мне было некстати. Мне нужно было иметь в контейнере Slackware, и я копал в этом направлении.
А раз нужна Slackware, значит, нужен образ Slackware. Один такой образ нашелся, но мне не подошел (уже не помню, почему).
И я создал свой.
Вкратце это так:
Подготавливаем файл нужного размера (пустой). Это будет «диск», на который поставим систему.
Настраиваем chroot к этому «диску» (со всеми сопутствующими манипуляциями).
Устанавливаем Slackware на этот «диск» (в chroot).
Получается такой «виртуальный диск» с установленной системой внутри.
Упаковываем его для создания образа системы под контейнер.
Полученный образ используем для разворачивания контейнера.
Разумеется, нужно подготовить файлы конфигурации контейнера, в которых будут настройки сети, указаны устройства (в том числе наш «диск») и т.п.
При установке системы в chroot нужно не забыть включить туда необходимые пакеты (пакеты можно поставить и позже),
но если есть готовые, лучше включить сразу. Понадобятся базовые настройки системы (создание пользователя, например).
Кроме того, я создал файлы профилей в числе прочего содержащие определенные настройки приглашения командной строки.
Таким образом, в терминале сразу видно, когда мы в контейнере, а когда за пределами.
Также пригодится каталог обмена (share) через него можно будет перекидывать файлы в контейнер и обратно.

О возможных проблемах.
Поскольку LXC/LXD ориентирован на Ubuntu, он хочет systemd, а точнее, cgroup/systemd.
В Slackware этой штуки нет, поэтому для контейнера необходимые элементы создаются.
Вообще, это происходит ещё на этапе установки lxd, но нужно иметь в виду.

По умолчанию используется файловая система zfs.
Но я несколько раз столкнулся с тем, что при очередном запуске контейнера дисковые устройства попросту отсутствовали.
Соответственно, контейнер не запускается. И вместо работы с контейнером начинаешь ковырять zfs.
Лично я грешу на то, что поддержки zfs нет в ядре linux, она подгружается отдельным модулем.
Когда устройства исчезли в очередной раз, я плюнул и перешел к использованию btrfs, которая в этом смысле значительно стабильнее.
В btrfs я вижу ещё и тот плюс, что она представлена файлом на диске. И этот файл можно примонтировать при случае (без запуска контейнера). Насколько я помню, zfs в системе представлена иначе, и прицепиться к ней вне контейнера может быть сложнее (во всяком случае, менее удобно).
Существует мнение, что btrfs старая, нестабильная и вообще, zfs лучше, но я не расположен спорить на эту тему. Я сделал выбор, исходя из практики.

Все эти манипуляции по созданию «виртуального диска», установке системы в chroot, настроек, созданию конфигов для контейнера,
созданию самого контейнера — это довольно много «ручной работы». Мне это быстро надоело и я обернул это дело в скрипты.
Кроме того, бывает нужно разные этапы процесса выполнять по отдельности, то есть только те, которые нужны (скажем, если образ уже создан, не нужно создавать его ещё раз), с этой целью был создан Makefile, который позволяет нормально этим рулить.

Это всё касается LXC/LXD. Насколько это проще (или сложнее), например, в docker, я судить не берусь.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 04.12.2020 17:17

Hephaestus
хорошо, спасибо, посмотрю тогда этот вариант и может какое-то сравнение с docker. Про docker я читал и так понял там образы берутся готовые, по-крайней мере по началу, а образ слепок файловой системы. А контейнером там называют запущенное приложение, которое думает что оно работает одно, просто нет гипервизора, как в виртуалке. А вот что считать таким вот «приложением» в задаче установки пакета я пока не понимаю. Но возможно пойму почитав про LXC/LXD.
Я когда вижу что что-то требует systemd иду в gentoo wiki сейчас. Так как там оно на выбор,бывает там какая-то полезная информация встречается. Но думаю это вы все знаете,это так,мысли в слух.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 05.12.2020 10:51

UnixNoob
Забыл один важный момент.
LXC и LXD — это две части одного инструмента.
LXD — демон, LXC — клиент.
Причем, LXC ставится из официальной репы (и может работать самостоятельно, но это будут привилегированные контейнеры).
А LXD ставится из SBo (и соответственно, работает в паре с LXC, обеспечивая создание непривилегированных конетейнеров).
Так вот, версия LXC в репе — 2.0.9, а версия LXD в SBO — 3.0.1. В какой-то момент это перестало работать в таком сочетании. И мне пришлось собрать пакет LXC версии 3.0.3.
Кроме того, при сборке LXD из SBo у меня была какая-то проблема (что-то там не собиралось, уже не помню, из-за чего) и я накладывал патч.

Так что не исключено, что придется повозиться, но в целом, всё вполне решаемо.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 06.12.2020 19:13

Либо я что-то еще не понимаю, либо какие-то проблемы с xsane и драйверами samsung.
Создал в /etc/udev/rules.d/ файл smfp.rules, перезапустил udev (ну и в процессе поисков было еще парочку перезагрузок), но он как не работал, так и не работает.
Добавлял в /etc/sane.d/dll.conf строчку smfp, ,но в итоге снова ошибка — «Failed to start scanner. Error during device I/O»
В /var/log/syslog падает это:

Код: Выделить всё

xsane: io/hpmud/pp.c 627: unable to read device-id ret=-1 

Пробовал закомментировать «hpio» в /etc/sane.d/dll.conf, в итоге сканнер как-будто готовится сканировать, происходит пару движений и снова та же ошибка failed to start.
После комментирования hpio, в лог еще падает это:

Код: Выделить всё

Dec  6 18:55:48 darkstar /hp-toolbox: hp-toolbox[2244]: warning: Reportlab not installed. Fax coverpages disabled.
Dec  6 18:55:48 darkstar /hp-toolbox: hp-toolbox[2244]: warning: Please install version 2.0+ of Reportlab for coverpage support.

В остальном я не вижу перемен.
scanimage -L:

Код: Выделить всё

device `smfp:usb;04e8;3409;6758-04020434815' is a Samsung SCX-4x16 Series on USB Scanner

Или правила нужно создавать как-то сложнее?
Если открыть в /etc/sane.d файл hp.conf:

Код: Выделить всё

 1 scsi HP
  2 # Uncomment the following if you have "Error during device I/O" on SCSI
  3 #   option dumb-read       
  4 # 
  5 # The usual place for a SCSI-scanner on Linux 
  6 /dev/scanner               
  7 # 
  8 # USB-scanners supported by the hp-backend 
  9 # HP ScanJet 4100C         
 10 usb 0x03f0 0x0101          
 11 # HP ScanJet 5200C         
 12 usb 0x03f0 0x0401          
 13 # HP ScanJet 62X0C         
 14 usb 0x03f0 0x0201          
 15 # HP ScanJet 63X0C         
 16 usb 0x03f0 0x0601          
 17 # 
 18 # Uncomment the following if your scanner is connected by USB, 
 19 # but you are not using libusb 
 20 # /dev/usb/scanner0 
 21 #   option connect-device

т.е в случае usb я так понимаю не используется /dev/scanner. Нужно ли udev правило в целом я не знаю.

Не знаю что ему от меня еще хочется, кто-то при решении подобной проблемы на WinXP в виртуалке уходил. :laugh:

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 06.12.2020 20:13

UnixNoob

UnixNoob писал: ↑

06.12.2020 19:13


Создал в /etc/udev/rules.d/ файл smfp.rules

Какой именно? Который я предъявлял под спойлером выше? Или ещё какой?

UnixNoob писал: ↑

06.12.2020 19:13


Добавлял в /etc/sane.d/dll.conf строчку smfp

Это излишне. Я в слакбилде предусмотрел этот момент.
Если всё, отработало как нужно, то в каталоге /etc/sane.d/dll.d/ есть файл smfp.conf.

UnixNoob писал: ↑

06.12.2020 19:13


Пробовал закомментировать «hpio» в /etc/sane.d/dll.conf

Почему именно эту строчку, а не какую-то другую?
Я писал выше, что в оригинальных скриптах предусмотрено комментирование строки geniusvp2.
Почему? Я не знаю. Вероятно, что-то с чем-то конфликтует. В моей системе такой строки нет, а Вы у себя проверьте. На всякий.

UnixNoob писал: ↑

06.12.2020 19:13


device `smfp:usb;04e8;3409;6758-04020434815′

Я бы начал решение проблемы именно с этого. Эта штука не дает мне покоя.
Здесь должен быть файл устройства. Если его нет, то как обращаться к устройству? Непонятно.

UnixNoob писал: ↑

06.12.2020 19:13


Или правила нужно создавать как-то сложнее?

Сложнее, чем что? Синтаксис правил всегда один и тот же.
Напихаем ли мы туда больше инструкций или меньше — зависит от ситуации.

UnixNoob писал: ↑

06.12.2020 19:13


т.е в случае usb я так понимаю не используется /dev/scanner

Используется. Какой-то файл устройства должен быть в любом случае.

UnixNoob писал: ↑

06.12.2020 19:13


Нужно ли udev правило в целом я не знаю.

Нужно. Как минимум, выставляет владельца/группу и права доступа.
Как максимум — выполняет дополнительные действия (это для разных устройств — по-разному).
С 3G/4G-модемом, например, без дополнительных действий вообще работать невозможно — он просто не переходит в нужный режим. Со сканерами в этом смысле попроще, но всё равно нюансы могут быть.

UnixNoob писал: ↑

06.12.2020 19:13


Не знаю что ему от меня еще хочется

Ничего особенного. Эти скрипты сделаны довольно лихо — под все линуксы сразу. Обычно это означает, что без дополнительных манипуляций оно не взлетит нигде — разные версии ядер, разные механизмы инициализации, разный состав библиотек, разные версии sane.
Но у Вас есть шанс — scanimage -L обнаруживает устройство (и похоже, что именно то устройство, которое нужно). Осталось добиться нормального взаимодействия с этим устройством.
Сейчас главное — чтобы у Вас энтузиазм не иссяк раньше времени. Впрочем, это ведь Вам нужно, а не кому-то ещё.

UnixNoob писал: ↑

06.12.2020 19:13


кто-то при решении подобной проблемы на WinXP в виртуалке уходил.

Самы простой вариант, но это скучно.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

Аватара пользователя

UnixNoob

Сообщения: 1016
ОС: Slackware

Re: Установка МФУ

Сообщение

UnixNoob » 06.12.2020 20:34

Hephaestus писал: ↑

06.12.2020 20:13


Который я предъявлял под спойлером выше?

Да, этот.

Hephaestus писал: ↑

06.12.2020 20:13


Если всё, отработало как нужно, то в каталоге /etc/sane.d/dll.d/ есть файл smfp.conf.

Есть, но я решил попробовать и в dll.conf попробовать добавить.

Hephaestus писал: ↑

06.12.2020 20:13


Почему именно эту строчку, а не какую-то другую?

Кому-то в интернете это помогло, при решении похожей проблемы.

Hephaestus писал: ↑

06.12.2020 20:13


Я писал выше, что в оригинальных скриптах предусмотрено комментирование строки geniusvp2.

Забыл про это, проверю.

Hephaestus писал: ↑

06.12.2020 20:13


Здесь должен быть файл устройства. Если его нет, то как обращаться к устройству? Непонятно.

По адресу шины? Или так нельзя?

Hephaestus писал: ↑

06.12.2020 20:13


Сложнее, чем что? Синтаксис правил всегда один и тот же.

Ну может ему права доступа нужны или чтобы имя было строго конкретное.

Hephaestus писал: ↑

06.12.2020 20:13


Сейчас главное — чтобы у Вас энтузиазм не иссяк раньше времени. Впрочем, это ведь Вам нужно, а не кому-то ещё.

Меня беспокоит не столько мой энтузиазм, сколько вопрос, а решаемо ли это в целом. Может есть какие-то проблемы именно между sane и samsung драйверами, ошибка в логах слишком абстрактная, не указывает ни на что конкретное.

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Аватара пользователя

Hephaestus

Сообщения: 3729
Статус: Многоуважаемый джинн…
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Установка МФУ

Сообщение

Hephaestus » 06.12.2020 21:23

UnixNoob писал: ↑

06.12.2020 20:34


Кому-то в интернете это помогло, при решении похожей проблемы.

Похожая — не значит, что такая же. Рискну предположить, что там устройство всё-таки было другое.
Или проблема другая.

UnixNoob писал: ↑

06.12.2020 20:34


По адресу шины? Или так нельзя?

А какой он — этот адрес шины? И sane знает, что нужно обращаться по адресу шины?

UnixNoob писал: ↑

06.12.2020 20:34


Ну может ему права доступа нужны

Вот правила udev, которые под спойлером как раз права доступа и выставляют.
Кстати, Вы обратили внимание, что там группа устанавливается как «lp»?.
Это для принтера, скорее всего.
Не исключено, что для сканера нужно что-то иное.

UnixNoob писал: ↑

06.12.2020 20:34


чтобы имя было строго конкретное

А вот именем стоит заняться. Есть одна мысль, которую стоит проверить.
Изложу ниже.

UnixNoob писал: ↑

06.12.2020 20:34


Меня беспокоит не столько мой энтузиазм, сколько вопрос, а решаемо ли это в целом.

Я склонен думать, что решаемо. Самое главное: устройство обнаруживается и определяется. Это уже полдела.

UnixNoob писал: ↑

06.12.2020 20:34


ошибка в логах слишком абстрактная, не указывает ни на что конкретное.

Ну почему же? Кое-что извлечь всё-таки можно.

UnixNoob писал: ↑

06.12.2020 19:13


xsane: io/hpmud/pp.c 627: unable to read device-id ret=-1

Буквально написано следующее: не могу прочитать идентификатор устройства. И возвращает -1 как признак неудачного завершения (в случае успеха возращался бы 0).
Если идентификатор прочитать невозможно, значит, либо его нет вообще (пустой), либо он есть, но какой-то неправильный. Сама по себе эта ошибка мало что дает, остается надеяться, что это не баг в драйвере, и решение проблемы где-то уровнем выше — в настройках.

UnixNoob писал: ↑

06.12.2020 19:13


Dec 6 18:55:48 darkstar /hp-toolbox: hp-toolbox[2244]: warning: Reportlab not installed. Fax coverpages disabled. Dec 6 18:55:48 darkstar /hp-toolbox: hp-toolbox[2244]: warning: Please install version 2.0+ of Reportlab for coverpage support.

А это вообще не ошибка. Это предупреждение о том, что титульные страницы для факса работать не могут без установленного ReportLab версии 2.0 или выше. К Вашей проблеме это относится лишь постольку, поскольку есть у Вас факс.

Что касается имени устройства.
Если посмотреть конфиги в /etc/sane.d/, то можно видеть, что они все устроены примерно одинаково.
Однако файл для Вашего устройства принципиально другой: это xml с каким-то своим содержимым.

Между тем, в файле epson.conf сказано следующее:

# USB scanner:
# There are two different methods of configuring a USB scanner: libusb and the kernel module
# For any system with libusb support (which is pretty much any recent Linux distribution) the
# following line is sufficient. This however assumes that the connected scanner (or to be more
# accurate, it’s device ID) is known to the backend.

То есть существует два способа конфигурации usb-сканера: libusb и модуль ядра.
Для начала проверьте, создается ли файл устройства (какой-нибудь /dev/scanner0 или /dev/usb/scanner0).
Если нет, то опробуйте следующий вариант.

Существующий в /etc/sane.d/ файл конфига (smfp-samsung.conf) временно уберите куда-нибудь.
И по аналогии с другими файлами создайте для Вашего устройства конфиг smfp.conf такого содержания:

Если моя гипотеза верна, то вот здесь

device `smfp:usb;04e8;3409;6758-04020434815′

Вы увидите нормальное имя файла. И, может быть, даже что-то заработает.
Если действительно появится имя файла, попробуйте запустить сканирование из командной строки.
Команды я давал выше.

Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог

  1. Sane Is Making Me Insane — Error During Device I/O

    I’m having a major problem getting my scanner to work consistently; now it’s not working at all.

    I’m getting the error:

    sane_start: error during device I/O

    when I run simple scan, xsane, or gscan2pdf.

    The scanner is an HP LaserJet M1217nfw MSP running via a wireless network, but the same error occurs when it is installed directly via USB. I have removed and reinstalled the printer multiple times using the instructions on HP’s site, which recommend the use of hp-setup and a required plugin that hp-setup installs. I have no errors when I run hp-check, and printing works fine. The printer is detected correctly.

    I did a clean install of the printer on an 11.10 machine, and ran into the same error when I use the document feeder (ADF).

    However, scanning does not work either via the flatbed or ADF now on any of the three machines I’ve tried it with. Although it was working previously before I did something that appears to have broken it permanently, I have tried on three different machines, two running 12.04, and one running 11.10. At first I thought it was something with my wireless router, but as I said, a trial with it installed via USB produced the same problems.

    The odd thing is that the scanner was working for single sheets up until yesterday when I had to do a huge (~500) page scanning job using the document feeder. Since then, nothing but trouble.

    Does anyone have any idea how to get this thing working? There’s nothing in my print queue, but it seems like something has taken the scanner down completely now.

    The more I think about it, the more it sounds like a problem with the printer itself. My current plan is to set up a Windows machine to see if it works that way. I feel dirty just thinking about that…


  2. Re: Sane Is Making Me Insane — Error During Device I/O

    I had a similar problem with an Epsom Workforce 545 recently. I tried running several scanning programs with no success.

    Then I tried:

    in a terminal and, despite issuing apocalyptic warnings, everything worked fine. After that one time with sudo, xsane opens normally through the menu with no problems.

    EDIT: This worked for the flatbed; I didn’t try with the ADF.

    Last edited by RichardCain; April 25th, 2012 at 03:23 AM.


  3. Re: Sane Is Making Me Insane — Error During Device I/O

    You said you followed HP’s instructions, but there are actually a couple of different possibiities. First, are you using HPLIP? I assume so if you went to HP to get instructions. But this is important. Second, how did you install HPLIP, from an HP installation program you downloaded or from Ubuntu’s package?

    The gist of where I am going: Ubuntu’s package does not work correctly, especially for scanning, for some reason. If you used that, purge it, download the installation program from the HP site and install it. My experience has been that will fix most HP printing/scanning problems. If you have already done this, then we’ll see what else we can find for you. However, a number of people have had problems (including yours truly) and that solved the problem slick as a whistle. Let me know if you want detailed instructions.


  4. Re: Sane Is Making Me Insane — Error During Device I/O

    Quote Originally Posted by RichardCain
    View Post

    I had a similar problem with an Epsom Workforce 545 recently. I tried running several scanning programs with no success.

    Then I tried:

    in a terminal and, despite issuing apocalyptic warnings, everything worked fine. After that one time with sudo, xsane opens normally through the menu with no problems.

    EDIT: This worked for the flatbed; I didn’t try with the ADF.

    This sounds like a permissions issue. I know that with this HP, my user has to be added to the lp and lpadmin groups, which requires a reboot before it takes effect if the user is added to the groups during the installation. That may be why sudo worked for you?

    I gave sudo a try with Simple Scan and still got the same error:

    sane_start: error during device I/O


  5. Re: Sane Is Making Me Insane — Error During Device I/O

    Quote Originally Posted by agillator
    View Post

    You said you followed HP’s instructions, but there are actually a couple of different possibiities. First, are you using HPLIP? I assume so if you went to HP to get instructions. But this is important. Second, how did you install HPLIP, from an HP installation program you downloaded or from Ubuntu’s package?

    The gist of where I am going: Ubuntu’s package does not work correctly, especially for scanning, for some reason. If you used that, purge it, download the installation program from the HP site and install it. My experience has been that will fix most HP printing/scanning problems. If you have already done this, then we’ll see what else we can find for you. However, a number of people have had problems (including yours truly) and that solved the problem slick as a whistle. Let me know if you want detailed instructions.

    Yes, I am using HPLIP, and I did use the version in the Ubuntu repositories.

    As per your suggestion, I removed the installed printer via System Settings, then ran:

    Code:

    sudo apt-get purge hplip

    Next, I went to HP’s site and downloaded their HPLIP shell-installation script and ran it in automatic mode as they recommend.

    The installation went fine—saying it was successful—until the very end, when I got the following error message:

    error: Unable to lock /home/<my user name>/.hplip/hp-systray.lock. Is hp-systray already running?

    I suspect that’s because hp-systray was still running from the previous installation, and doesn’t represent a problem. I was able to print a test page successfully, and the scanner works for single pages in Simple Scan—though I may not have scanned enough to get the I/O error—but I still get the I/O error when using the document feeder. Sometimes, the error occurs after only one page, sometimes I am able to scan four or more pages successfully before getting the error, but I still get the same error in Simple Scan and:

    INFO — gscan2pdf: sane_start: Error during device I/O

    in gscan2pdf while running it in debug mode.

    With HP’s version of HPLIP, I am getting the HP systray and a pop-up message of something along the lines of «beginning scan» and «scan completed» for each page, even after the I/O error. The printer goes through the remaining pages popping up status messages even after they have failed to show up in Simple Scan and gscan2pdf.

    An additional issue which may or may not be related, is that in gscan2pdf, although it seems to be scanning the pages up until the time I get the I/O error, none of the pages show up in the UI. I tried doing a single page in gscan2pdf in the «flatbed» mode, and get the I/O error there immediately.

    Just to make sure it isn’t a permissions issue, though since it’s intermittent I don’t see how it could be, I tried both Simple Scan and gscan2pdf again using sudo and I still get the I/O error.


  6. Re: Sane Is Making Me Insane — Error During Device I/O

    It looks like the printer and the network connection are not the problem. I was pretty sure about the latter since I was still getting the errors while connected via USB, but to make sure the printer wasn’t the issue, I got hold of Winblows Vista machine, installed HP’s drivers and scanner software, and gave the thing a thorough test.

    There was one occasion when it gave me an error about connecting to the scanner when using it wirelessly, but it only happened once (maybe interference?) and I’ve run about 200 sheets through the document feeder after that without any more problems.

    So, I’m currently thinking it’s an issue with libsane, and still loving Linux after having to suffer through my time on that Vista machine.


  7. Re: Sane Is Making Me Insane — Error During Device I/O

    I think you are right, sane is the problem for some reason. This I haven’t run into before. You might try purging sane and xsane and then reinstalling. I certainly haven’t had any trouble with them but who knows.


  8. Re: Sane Is Making Me Insane — Error During Device I/O

    I hate to admit this, but I have a scanning job I really need to get done, so I resorted to trying to finish it using the ******* machine. Although it took longer to manifest, it seems like there is an I/O problem with it, too. I get frequent «cannot communicate with the printer» errors using HP’s own Scan To software. I also had quite a few paper jams in the document feeder, which are interesting because the paper I am scanning is practically new HP paper…

    Well, the printer is still under warranty so I called HP Support and spent a whopping 3+ hours on the phone with a really helpful support tech who finally gave up and is sending me a new (refurbished) printer.

    So maybe it’s not sane after all. There appears to be an actual issue with the printer involving connection as well as the problem with the document feeder itself. I may still try purging sane/xsane and reinstalling just to see if that helps on the Ubuntu end.

    Thanks for taking the time to reply. I really appreciate it.


  9. Re: Sane Is Making Me Insane — Error During Device I/O

    I’m glad tech support treated you well. I will be curious if the replacement solves the problem. The fact that they spent that much time with you and then agreed it might be the printer is impressive. Another reason to stick with HP.


  10. Re: Sane Is Making Me Insane — Error During Device I/O

    Quote Originally Posted by agillator
    View Post

    I’m glad tech support treated you well. I will be curious if the replacement solves the problem. The fact that they spent that much time with you and then agreed it might be the printer is impressive. Another reason to stick with HP.

    The guy I spoke with did treat me well. He wasn’t following a script, was knowledgeable, and really put forth an effort. I did some Ubuntu proselytizing while we were waiting for Vista to reboot multiple times, and I think he’s going to download and try 12.04.

    I’m curious to see if the replacement printer does the trick, too. I will post back either way. It’s not due here until 5/3, so it will be a while…


Содержание

  1. Краткое описание проблемы
  2. Описание примера
  3. Настройка запуска fly-scan из сессии с ненулевой классификационной меткой
  4. Блог «Познай Linux!»
  5. Linux в Красноярске
  6. 16 ноября 2011
  7. Ещё один пример установки сканера в Linux
  8. Установка сканера в Linux
  9. Настройка серверной станции.
  10. Настройка рабочей станции.
  11. Для доступа к сканеру по Wi-Fi
  12. Сканирование в linux
  13. Материал из Пингвиньи радостей
  14. Содержание
  15. Программы для работы со сканерами
  16. Настройка локального сканирования
  17. Настройка сетевого сканирования
  18. Задача
  19. Архитектура и компоненты
  20. Настройка скан-сервере SANE
  21. Установка SANE на Ubuntu 14.04
  22. Тестирование SANEd
  23. Установка устройств HP
  24. Удаление принтера-сканера
  25. Настройка фронтэндов под Windows
  26. WiaSane
  27. SaneWinDS
  28. SwingSane
  29. Патчим драйвер hplip чтобы работали сканеры net:_saned_IP_:hpaio:/net/HP_
  30. Прописываем пользователям сканеры в NAPS2 в соответствии с группами AD

Краткое описание проблемы

В сессии пользователя с ненулевой классификационной меткой и низким уровнем целостности при запуске приложения fly-scan (графическое меню «Пуск» — «Графика» — «Сканирование») сразу после обнаружения сетевого сканера приложение завершается с ошибкой «Не удалось открыть выбранный сканер». При этом в сессии пользователя с нулевой классификационной меткой и с высоким уровнем целостности приложение fly-scan запускается нормально.

  1. Для использования приложения fly-scan пользователь должен быть включен в группу scanner;
  2. Описанный ниже способ неприменим к сканерам, подключаемым через WiFi с использованием пакета sane-airscan. На момент написания настоящей статьи пакет sane-airscan не входит в состав дистрибутивов Astra Linux.

Далее приводится инструкция по предоставлению доступа к сетевому ресурсу «сканер» из сессии с ненулевой классификационной меткой. Так как наличие доступа к недоверенным ресурсам (устройствам, web-сайтам и пр.), даже если доступ предоставляется только для чтения, может быть использовано для создания каналов утечки информации по времени, возможность применение подобных инструкций в конкретных ИС должна быть согласована с требованиями к защите информации в этих ИС.

Описание примера

  • Подключение к сканеру выполняется с рабочей станции с установленной ОС Astra Linux Special Edition с включенным МРД и МКЦ;
  • Подключение выполняется к сетевому сканеру с условным сетевым адресом: : ;

Настройка запуска fly-scan из сессии с ненулевой классификационной меткой

Установить пакет haproxy:

Задать правило обработки сетевого трафика, направляемого к сетевому сканеру:

sudo iptables -t nat -A OUTPUT -d -p tcp -m owner ! —uid-owner $(id -u haproxy) -m tcp —dport -j REDIRECT —to-ports

Для того, чтобы заданное правило сохранялось после перезагрузки ОС использовать инструкцию Сохранение и восстановление правил iptables;

Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):

Обновить конфигурацию системных служб командой:

sudo systemctl daemon-reload

В файл /etc/haproxy/haproxy.cfg:

В секцию global добавить параметр:

Только для Astra Linux Special Edition с включенным МРД

В секции defaults изменить параметры tcp и tcplog, указав приведенные ниже значения:

Параметр «option dontlognull» оставить неизменным.

Источник

Блог «Познай Linux!»

просто и доступно о cложном

Linux в Красноярске

16 ноября 2011

Ещё один пример установки сканера в Linux

sudo apt-get install sane sane-utils xsane

lsusb
.
Bus 003 Device 002: ID 04f9:0222 Brother Industries, Ltd

Если строчки в файле нет, необходимо её туда добавить. Для добавления понадобятся права root.

Теперь воспользуемся утилитой sane-find-scanner, для обнаружения сканера:

sane-find-scanner -q
.
found USB scanner (vendor=0x04f9 [Brother], product=0x0222 [DCP-195C]) at libusb:003:002

sudo scanimage -L
.
device `brother3:bus3;dev1′ is a Brother DCP-195C USB scanner

sudo scanimage —test -d ‘brother3:bus3;dev1’
.
scanimage: rounded value of br-x from 215.9 to 215.88
scanimage: rounded value of br-y from 355.6 to 355.567
scanimage: scanning image of size 1648×2314 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 4944 bytes. PASS
scanimage: reading one byte. PASS
scanimage: stepped read, 2 bytes. PASS
scanimage: stepped read, 4 bytes. PASS
scanimage: stepped read, 8 bytes. PASS

ls -la /dev/bus/usb/003/002
.
crw-rw-r— 1 root lp 189, 257 Ноя 16 22:51 /dev/bus/usb/003/002

service sane-port
<
disable = no
/> socket_type = stream
protocol = tcp
user = saned
group = saned
groups = yes
wait= no
server = /usr/sbin/saned
port = 6566
bind = 192.168.0.1 Сергей Афонькин в 20:09

Источник

Установка сканера в Linux

Сегодня поговорим как установить утилиту для сканер в Linux. Данное руководство подойдёт для всех Debian подобных дистрибутивов (Ubuntu, Linux Mint, Astra Linux и т.д.).

Будет описано два способа установки сканера.

Первый способ: это когда сканер подключен к серверу в сети.

Второй способ: если вы настраиваете сканер на станциях, а сам сканер подключается к сети по Wi-Fi. Если это ваш вариант, то идем сразу ко второй части статьи.

Настройка серверной станции.

Для начала на сервере установим необходимые пакеты:

Если надо расшарить сканер по сети, внесите пользователя saned в группы scanner и lp:

Теперь для проверки правильности установки введем команду

Если все правильно, должна высветиться информация о подключенном сканере. Что-то типа этого:

К сожалению, Sane это не сервис и принимать соединение по сети сам по себе не может. Поэтому установим еще и openbsd-inetd , который будет принимать соединения и передавать их Sane

и ищем там строку sane-port 6566/tcp. Если ее там нет, то прописываем.

Теперь беремся за настройку самого Sane
Открываем файл настроек:

и прописываем в нем сеть, из которой будет разрешен
доступ к сканеру. Например, 10.5.5.0/24

Перезапускаем сервис openbsd-inetd

На этом настройка сервера закончена.

Настройка рабочей станции.

В качестве рабочей станции может выступать и сам сервер. Поэтому все действия можно выполнить и на нем тоже.

Установим необходимые программы:

Откроем на редактирование файл

и пропишем в нем адрес сервера со сканером 10.5.5.1 (либо сам сканер например: 10.5.5.2).

проверяем наличие строки net. Если она есть и не закомментирована, то всё нормально. Иначе вписываем ее.

Для доступа к сканеру по Wi-Fi

Выполняем если не проделывали действия для настройки серверной части.

И еще открываем файл:

и прописываем в нем сеть, из которой будет разрешен доступ к сканеру. Например, 10.5.5.0/24

Перезапускаем сервис openbsd-inetd

Проверить доступность сканера с рабочей станции можно при помощи все той же команды:

Если и здесь сканер обнаружился — значит у нас все работает и мы можем начинать сканирование. Запускаем утилиту для сканирования:

или еще одна утилита

для её установки наберите:

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата. CAA (RFC-6844, Certificate Authority Читать

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать

Источник

Сканирование в linux

Материал из Пингвиньи радостей

Содержание

Статья о Сканировании в linux

Сканировании в linux это процесс сканирования изображений или оцифровки документов в операционной среде Linux. Настоящая статья даёт общее представление о процессе сканирования, о программах используемых при этом и о сканерах, установка которых в Linux была осуществлена успешно.

Программы для работы со сканерами

В таблице приведёны ссылки на статьи о программах для работы со сканерами и их краткое описание

ссылка описание
sane пакет программ для сканирования
simple-scan простая утилита для сканирования
skanlite простая графическая программа сканирования из проекта KDE, бывшая kooka
xsane графическая программа сканирования
scanimage консольная утилита для сканирования из пакета sane-utils
scanbuttond демон для отработки нажатий клавиш Copy/Scan на сканере

Настройка локального сканирования

В целях настоящей статьи Локальным сканированием называется процесс оцифровки документов на сканере подключённом непосредственно к управляющему компьютеру посредством USB-порта.
Локальное сканирование может быть осуществлено как в консоли, так и помощью графических программ.

Для осуществления Локального сканирования с помощью консольной утилиты scanimage

  • сканер подключается к USB-порту компьютера и включается
  • устанавливается пакет sane-utils
  • осуществляется сканирование

Для осуществления Локального сканирования с помощью графической программы xsane

  • устанавливается программа xsane
  • запускается программа сканирования

Локальное сканирование может быть также осуществлено с помощью браузера. Для этого следует скачать и установить PHP-скрипт phpSANE.

Настройка сетевого сканирования

В целях настоящей статьи Сетевым сканированием называется процесс оцифровки документов на сканере, подключённом удалённо по локальной сети.
Сетевое сканирование может быть осуществлено как в консоли, так и помощью графических программ. Компьютер к которому физически подключён сканер будет называться Сканер-сервером, а управляющий компьютер на котором отображается сканирование — Сканер-клиентом.

Для настройки Сканер-сервера для осуществления Сетевого сканирования

  • осуществляется подключение сканера и установка пакета sane-utils как описано в разделе Настройка локального сканирования
  • в файл /etc/sane.d/saned.conf добавляется строка с указанием локальной сети имеющей право доступа к сканеру
  • уточняется способ запуска SANE — как демона или через супер-сервер openbsd-inetd

Для настройки Сканер-клиента для осуществления Сетевого сканирования

Источник

Задача

У меня была задача — сделать скан-сервер (по аналогии с принт-сервером) для Windows-клиентов. То есть сервер, который бы предоставлял пользователям доступ к сканерам по сети. В результате должен получиться единый унифицированный интерфейс доступа к сканерам.
На клиентских машинах прописывается подключение к сканеру на скан-сервере с помощью унифицированного драйвера. А на скан-сервере уже подключение к физическому устройству с использованием драйвера, специфичного для данного устройства. Таким образом, даже физическая замена сканера на другое устройство будет приводить только к необходимости переконфигурирования устройства на скан-сервере, но не на клиентах.
В частности — было необходимо, чтобы пользователи фермы Citrix XenApp могли сканировать с сетевых (Ethernet) сканеров (МФУ HP). То есть на каждом терминальном сервере должны быть установлены все сканеры, а пользователь получал бы доступ к одному из них (или нескольким) в зависимости от того, включен он в группу, соответствующую этому сканеру.

Архитектура и компоненты

В качестве программной части скан-сервера выступает SANE, который предоставляет унифицированный интерфейс для доступа к разнообразным сканирующим устройствам.
В качестве унифицированного драйвера для Windows выступил WIASANE. Это драйвер для Windows, позволяющий сканировать по протоколу SANE. В системе устанавливается WIA (Windows Image Acquisition) устройство, обращения к которому перенаправляются к устройству по протоколу SANE.

Настройка скан-сервере SANE

Установка SANE на Ubuntu 14.04

Затем как предписывает документация нужно проверить тут http://www.sane-project.org/sane-mfgs.html, что сканнер поддерживается и включить в файле /etc/sane.d/dll.conf соответствующий backend (раскомментировав нужную строку). После этого включаем sane в режим сервера. В файлике /etc/default/saned прописываем:

И прописываем сеть из которой будет доступен демон saned в файлике: /etc/sane.d/saned.conf. Там можно указать как отдельный хост, так и целую сеть. Для того, чтобы дать доступ к saned с любого IP-адреса нужно добавить строку с одним символом + (плюсик).

Мне нужно настроить работу SANE с МФУ HP M521 и 1536. Поэтому — ставим модуль libsane-hpaio, который будет работать с сетевым интерфейсом hpaio:

Если нужного модуля нет, то в дальнейшем команда scanimage -L будет вываливаться с ошибкой Segmentation fault (core dumped).

На всякий случай проверяем наличие в файлике /etc/services строки:

Тестирование SANEd

Во первых — можно включить тестовый бекенд test. Для этого в файлике /etc/sane.d/dll.conf нужно раскомментировать/добавить строку test. В результате сервер начнет отдавать пару сканеров:

Если сервер sane работает как-то не так, то можно запустить его в режиме дебага, в котором он будет выдавать много полезной информации. Для начала нужно остановить его командой:

И запустить в debug-режиме:

Или в более подробном варианте:

C какой-либо рабочей станции с Linux (на которой установлены sane sane-utils libsane-extras) можно попробывать подключиться к saned:

Если все хорошо, то вывод будет примерно такой:

На рабочей станции с Linux можно прописать адрес сервера saned, чтобы команда scanimage знала откуда брать сканеры. Для этого редактируем файлик /etc/sane.d/net.conf и в конец дописываем IP-адрес сервера saned.

Установка устройств HP

Для работы с устройствами HP нужен пакет HPLIP (HP Linux Imaging and Printing System). Его можно либо скачать с сайта HP, либо из репозиториев Ubuntu. На Ubuntu 14.04.02 я устанавливал из репозиториев.

Поставилась версия 3.14.3 и с ней удалось сканировать по сети через saned с клиента Ubuntu.

С сайта HP можно скачать гораздо более новую версию, но с ней у меня так и не получилось сканировать по сети через saned. Но на всякий случай: Скачиваем HPLIP — http://hplipopensource.com/hplip-web/gethplip.html Скачиваем и ставим. Ставить рекомендуют под обычным пользюком (не под root):

Запускать инсталлер можно под обычным юзером. В процессе установки он попросит пароль чтобы выполнить установку от имени root.

Если в интернет система выходит через proxy, то нужно объявить об этом до установки:

А также прописать http_proxy, https_proxy и ftp_proxy в файлике /etc/wgetrc

А после установки нужно установить плагины:

А затем установить принтер/сканер:

Теперь сканер должен появляться при выполнении команды:

В выдаче будет строка типа: hpaio:/net/HP_LaserJet_Pro_MFP_M521dn?ip=10.166.203.1 Для поверки состояния сканера берем строку с URI сканера и подставляем в команду:

В результате должны вывалиться результаты тестов: PASSED.

Должна выдавать список сканеров. Если она этого не делает, возможно, дело в файлике /etc/cups/printers.conf. В нем нужно заменить значение параметра DeviceURI. Там может быть либо что-то про socket, а должно быть то что возвращает команда hp-makeuri в строчке CUPS URI . Что-то типа hp:/net/HP_LaserJet_Pro_MFP_M521dn?ip=10.166.203.1. После правки этого файла нужно перезапустить cups:

Теперь сканировать на сервере saned из командной строки можно так:

Если списка сканеров нет совсем или там нет нужного. то можно включить дебаг:

Сканировать с клиента Linux можно командой:

Тут укаываем, что используем бекэнд net, затем через двоеточие адрес сервера saned и затем URI сканера.

Иногда бывает, что сканер поставился, но при попытках сканировать сообщает: Error during device I/O. Вероятно нужно удалить его и поставить снова.

Удаление принтера-сканера

Обычно на сервере сканирования устанавливается несколько принтеров одинаковой модели. Для того, чтобы узнакть какой именно принтер надо удалить — открываем файлик /etc/cups/printers.conf и ищем по IP-адресу как именно называется устройство.

Настройка фронтэндов под Windows

WiaSane

wiasane — это обертка для sane, которая предоставляет WIA интерфейс к сканерам saned.
Настроить wiasane (0.1.1.9) с устройствами hpaio:/net/… удалось только после патчинга драйверов HPLIP. Со стандартным драйвером программа пытается получать список сканеров с сервера sane, но сервер не отдает эти устройства. Помогает патчинг драйвера. Смотри ниже.
Рабочая сборка — sane_wia_driver.zip. Она доработана для того, чтобы прописывать сканеры скриптом. Если возникают проблемы с установкой драйвера (он просто не ставится), то скорее всего не установлен Visual C++ Redistributable for Visual Studio

Скрипт для пакетного прописывания сканеров такой:

SaneWinDS

SwingSane

Патчим драйвер hplip чтобы работали сканеры net:_saned_IP_:hpaio:/net/HP_

Если при попытке прописать сканер wiasane не обнаружвает сканер, то, скорее это связано с багом в библиотеках hplip на сервере saned. Исправить ситуацию можно собрав hplip из исходников и применив патч, описанный тут: https://sourceforge.net/p/hplip/mailman/message/2564768/

Останавливаем saned:

Удаляем старый hplip:

Cкачиваем исходники драйвера:

Рядом с распакованным архивом кладем патч hplip_sane_patch_and_make.rar (hplip-sane-patch.sh и hplip-sane-patch.diff) распаковываем и применяем его:

Дальше собираем по инструкции:

Для Ubuntu 14.04 будет так: Ставим зависимости:

Затем ставим плагин:

И собственно принтер/сканер:

Теперь можно запустить saned, настроить на клиенте backend net и проверяем с удаленного клиента:

И на клиенте проверяем:

Прописываем пользователям сканеры в NAPS2 в соответствии с группами AD

Источник

Понравилась статья? Поделить с друзьями:
  • Error during connect this error may indicate that the docker daemon is not running get
  • Error during connect in the default daemon configuration on windows
  • Error during compilation inside scicoslab building process of modnum aborted
  • Error during capture error code 80070005
  • Error during babel initialisation bad boys 2 что делать