Как настроить сканер в линукс подключенный к роутеру

Обновлено: 06.07.2024

Проверка поддержки сканера в Linux на уровне драйверов.

Данные о сканерах представлены в таблицах, где наибольший интерес представляет столбец «Статус». Вот его легенда:

Basic — поддерживается только базовый функционал, по факту - хорошо если вообще будет работать.

Если «Статус» имеет последние два значения, то придётся отказаться от покупки и/или использования данного сканера.

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

Обновление системы с целью получения новых драйверов.

В Linux-дистрибутивах, к которым относиться и Ubuntu, большинство драйверов встроенно в ядро системы (собственно, в сам Linux). Поэтому следует регулярно устанавливать обновления системы, так как на ряду с другими обновлениями могут прийти новые версии ядра, а следовательно, и новые драйвера для компьютера и периферии.

Установить обновления можно с помощью системного приложения «Программы и обновления» (для классической Ubuntu с Unity) или с помощью «Менеджера обновлений Muon» (для KDE). О том, как использовать «Менеджер обновлений» можно прочитать, например, здесь:
Репозитории и обновления
(заголовок «Управление обновлениями» во второй части страницы).

«Менеджер обновлений Muon» в KDE работает аналогично, хотя немного и отличается интерфейсом и наличием доп. функций.

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

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

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

Проверка распознавания системой сканера, как устройства.

Сначала нужно посмотреть, определяется ли сканер физически. Большинство сканеров сейчас подключается по USB, поэтому необходимо открыть Терминал и ввести команду, показывающую все подключенные USB-устройства:

Запустить Терминал можно по сочетанию клавиш Ctrl + Alt + T

Если среди них нет искомого сканера, то, скорее всего, проблема аппаратная. Стоит проверить, подключён ли сканер по USB, не переломился ли кабель и вообще, исправен ли сам сканер. Так же могут быть проблемы с распознаваем сканера в BIOS или UEFI компьютера. Часто помогает отключение XHCI в UEFI.

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

то уже хорошо — система видит сканер как USB-устройство и можно двигаться дальше. Естественно, что все цифры и наименование сканера могут быть другими. Важно то, что такая строка есть в принципе.

Теперь нужно ввести в Терминале:

Следует обращать внимание на регистр букв. Во избежание ошибок лучше копировать команды в Терминал через буфер обмена.

Если система не может выполнить команду, то, вероятно, не установлен пакет sane-utils , о чём и сообщит Терминал. Установить этот пакет можно командой:

а затем повторить ввод:

Положительным ответом будет считаться строка, аналогичная этой:

Собственно, на этом можно и остановиться. Сканер подключен и распознаётся, можно сканировать.

Если же Терминал выдаёт отрицательный ответ примерно в таком виде:

то это может означать:

отсутствие прав на работу со сканером у активной в данный момент учётки пользователя; сканеру запрещено обращаться к ядру (где обычно и находятся драйвера).

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

Предоставление своей учётной записи права на работу со сканером.

Введённая в Терминал команда

покажет логин активного в данный момент пользователя.

Далее, нужно узнать, в каких группах состоит этот пользователь:

где <имя_пользователя> — логин, полученный по команде whoami .

Если в этом списке указаны группы plugdev и scanner , то всё в порядке. Это означает, что проблем с правами на доступ пользователя к сканеру нет и можно переходить к следующему решению.

Если же групп plugdev и scanner нет в списке, то нужно добавить текущего пользователя в эти группы. Например:

где user1 — логин добавляемого пользователя.

Внимание! Соблюдайте синтаксис! Группы перечисляются через запятую без пробелов, но во всех остальных местах команды пробелы обязательны. Названия групп и имя пользователя вводятся без кавычек и любых скобок.

Управление группами можно организовать и через графический интерфейс. К сожалению, в современных версиях Ubuntu удалены графические оболочки для управления группами, поэтому сначала придётся их поставить.

Для Ubuntu с Unity и GNOME:

Для Kubuntu или для KDE, являющимся в системе дополнительным рабочим окружением:

Запустить графическую утилиту управления группами в Unity можно через Главное меню→линза Приложения→фильтр Система→раздел Установленные→программа Пользователи и группы
Запуск в KDE: Главное меню→Приложения→Система→программа KUsers (Управление пользователями)

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

Подробнее о пользователях и группах можно прочитать, например, здесь: Пользователи и группы

После включения пользователя в нужные группы снова ввести в Терминал:

Если в ответ появляется строка, аналогичная этой, то проблема решена:

Иначе следует применить следующий метод решения проблемы.

Разрешение сканеру обращаться к ядру системы.

gedit — стандартный текстовый редактор Ubuntu для рабочих окружений Unity и GNOME. В Kubuntu (или в KDE) вместо него обычно используется Kate:

В открывшемся тексте наверняка найдётся строка с параметрами сканера со схожим названием. Нужно скопировать строчку с этими данными и вставить её копию сразу под найденной, заменив в копии название сканера и номера idVendor и idProduct на полученные ранее по команде lsusb .

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

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

Программы для сканирования Linux


1. Simple Scan

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

Сканирование документа или фото выполняется в один клик мышки. После этого вы можете редактировать изображение, вращать его, а потом сохранить в формате JPG или PNG или же в формате документа PDF. Но надо сказать, что программа может работать медленно, даже если вы сканируете документы в не очень высоком разрешении. По умолчанию используются такие параметры: 150 DPI для текста и 300 DPI для фото. Вы можете изменить их в настройках.

2. Skanlite

Skanlite - это альтернатива Simple Scan для KDE. Утилита имеет те же функции, что и Simple Scan, плюс несколько дополнительных настроек. Вы можете оорганизовать автоматическое сохранение обработанных файлов, установить качество сканирования и указать, куда надо сохранять результат. Skanline поддерживает такие форматы: JPEG, PNG,BMP, PPM, XBM и XPM.

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

3. Gscan2pdf

Ещё одна старая, но популярная программа - gscan2pdf. Несмотря на её возраст, у неё есть несколько функций, которых нет у других программ в этом списке. И в то же время программа достаточно лёгкая. Кроме форматов изобаржения JPEG, PNG и TIFF, утилита позволяет сохранять результат сканирования в PDF и DJVU.

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

4. Gimp

Наверное, вы уже знаете Gimp, как мощный графический редактор, но вы можете использовать эту программу и для управления своим сканером. Для этого надо установить программу XSane и плагин Xsane для Gimp. Обе программы доступны в официальных репозиториях. Затем откройте меню Файл -> Создать -> Сканер/Камера.

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

Выводы

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

Иногда возникает необходимость узнать какие устройства подключены к локальной сети Linux. Это может понадобиться если вы хотите подключиться к одному из компьютеров и не помните его адрес или хотите убедиться в безопасности вашей сети и найти все скрытые устройства.

Самый надежный способ обнаружить все подключенные к сети Linux устройства, в том числе и скрытые - это ARP сканирование локальной сети. В этой статье мы рассмотрим как его выполнить и какие утилиты для этого нужны.

Как выполнить ARP сканирование локальной сети?

Как вы знаете, у всех компьютеров в сети есть IP адреса. Никогда не задавались вопросом, как сеть определяет, какому компьютеру принадлежит тот или иной адрес? Ведь сети бывают разные, проводные, беспроводные, ppp и т д. И в каждой из этих сетей аппаратный адрес компьютера имеет свой формат, зависящий от конструктивных особенностей сети, а IP адреса одни и те же.

Все очень просто. Для преобразования физических адресов, в ip адреса используется протокол ARP (Address Resolution Protocol), так и расшифровывается - протокол разрешения адресов. Когда компьютеру нужно обратиться к другому компьютеру в локальной сети, он отправляет специальный запрос в котором буквально спрашивает "У кого IP адрес 192.168.1.4", компьютер с таким ip адресом отправляет ответ "У меня, я 11:22:33:44:55", в ответе он передает свой физический адрес в этой сети. Дальше этот адрес заносится в специальную таблицу. но это уже тонкости реализации и они выходят за рамки нашей статьи. Сегодня мы поговорим как самому выполнить ARP сканирование локальной сети linux и найти все подключенные устройства.

Утилита ARP Scan

ARP Scan или еще называемый MAC Scanner - это очень быстрый инструмент для сканирования локальной сети Linux с помощью ARP. Утилита показывает все IPv4 адреса устройств в вашей сети. Поскольку ARP не использует маршрутизацию, то такой вид сканирования работает только в локальной сети.

ARP Scan находит все активные устройства, даже если у них включен брандмауэр. Компьютеры не могут скрыться от ARP также как они скрываются от ping. Но ARP сканирование не подходит для поиска компьютеров за пределами локальной сети, в таких ситуациях используйте ping сканирование.

Установка ARP Scan

Этот arp сканер сети доступен для следующих операционных систем:

  • Debian, поставляется по умолчанию;
  • Ubuntu, можно установить с репозитория Universe;
  • Fedora, официальные репозитории начиная с версии 6;
  • RedHat - доступна начиная с версии 5;
  • Gentoo, официальные репозитории;
  • ArchLinux - официальные репозитории Pacman.

Для установки в Ubuntu выполните:

sudo apt install arp-scan

Сканирование сети

ARP Scan позволяет находить активные компьютеры как в проводных сетях ethernet, так и в беспроводных Wifi сетях. Также есть возможность работать с Token Ring и FDDI. Не поддерживаются последовательные соединения PPP и SLIP, поскольку в них не используется ARP. Программу нужно запускать с правами суперпользователя.

Но сначала надо узнать сетевой интерфейс, который используется для подключения к сети. Для этого можно воспользоваться программой ip:

В данном случае, это enp24s0. Самый простой способ выполнить ARP сканирование и обнаружить все подключенные к локальной сети компьютеры - запустить программу со следующими параметрами:

sudo arp-scan --interface=enp24s0 --localnet


Здесь параметр --interface, задает интерфейс для сканирования, а --localnet, говорит, что нужно использовать все возможные IP адреса для текущей сети.

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

Вместо параметра --localnet, можно указать маску сети:

sudo arp-scan --interface=enp24s0 10.0.1.0/24

ARP сканирование можно использовать, даже если у вашего интерфейса нет IP адреса. Тогда в качестве исходящего адреса будет использован 0.0.0.0. Правда, на такие запросы могут ответить не все системы. Тогда ARP сканер сети не так эффективен.

ARP спуфинг и ARP прокси

Выводы

ARP Scan это простой, но очень мощный инструмент, с помощью которого можно выполнять сканирование ip адресов в локальной сети linux. Те, кто знаком с Cisco маршрутизаторами и коммутаторами, знают что найти такие устройства можно только с помощью ARP. Это полезный инструмент, возможно, когда-то вам он пригодится.

  1. Подключаем роутер к компьютеру через Ethernet(через любой из lan-портов)
  2. Переводим роутер в режим восстановления – выключаем питание роутера, зажимаем кнопку Reset/Restore, включаем питание, удерживаем кнопку до тех пор, пока индикатор питания не начнет моргать
  3. Никаких настроек ip-адресов делать не надо, разве что присвоить компу адрес из 192.168.1.0/255.255.255.0 отличный от 192.168.1.1, и запустить пинг на 192.168.1.1
  4. Запускаем программу Firmware Restoration, отключаем фаервол(об этом просит программа), выбираем файл прошивки с расширением .trx

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

Первым делом меняем пароль роутера:


Настраиваем доступ в интернет:


Настраиваем сервер DHCP, и меняем адрес, если не устраивает 192.168.1.1. Я меняю его на 192.168.11.1, в дальнейшем вся настройка будет на этот адрес:


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


Далее, переходим к настройке пакетов.


  1. nano – более дружелюбный, чем vi, редактор
  2. sane-backends, sane-frontends
  3. xinetd – для доступа по сети
  4. kmod-usb-printer, kmod-usb-ohci, kmod-usb-uhci, kmod-usb2, kmod-usb-storage – поддержка различных USB-устройств на уровне ядра

Теперь, либо вам повезет, либо придется сделать дополнительные настройки.
Мне не повезло:
root@OpenWrt:

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

Тут можно узнать, какой модели сканера какой backend соответствует. Samsung SCX-4220 соответствует backend sane-xerox_mfp.5.
Тут можно посмотреть мануал, из которого видно, что конфиг находится в файле /etc/sane.d/xerox_mfp.conf
Редактируем его:

Добавляем в файл строчку

usb 0x04e8 0x341b

и, на всякий случай, эту строку, как советуют на форумах

Версия backends в этой прошивке 1.0.20, и, что интересно, при использовании последней версии(кажется, 1.0.22, версия ядра 2.6), которую я устанавливал на прошивке от Олега, сканер у меня так и не определился. Описание такой ситуации я тоже встречал на форумах, поэтому выбрал прошивку с версией ядра 2.4

Сохраняем файл, проверяем:

Сканер определяется, все хорошо.

Теперь настроим доступ по сети:

Добавляем в файл строчку 192.168.11.0/24 (необходимо указать подсеть вашего роутера)

Добавляем в файл следующие строки:

service saned
socket_type = stream
server = /usr/sbin/saned
protocol = tcp
user = root
group = root
wait = no
disable = no
>

Запускаем xinetd в режиме вывода отладочной информации:

Service configuration: saned
> flags = IPv4
socket_type = stream
Protocol (name,number) = (tcp,6)
port = 6566
wait = no
user = 0
group = 0
Groups = no
PER_SOURCE = -1
Bind = All addresses.
Server = /usr/sbin/saned
Server argv = saned
Only from: All sites
No access: No blocked sites
No logging

11/9/2@07:43:31: DEBUG: 29656 Started service: saned
11/9/2@07:43:31: DEBUG: 29656 mask_max = 6, services_started = 1
11/9/2@07:43:31: NOTICE: 29656 xinetd Version 2.3.14 started with loadavg options compiled in.
11/9/2@07:43:31: NOTICE: 29656 Started working: 1 available service
11/9/2@07:43:31: DEBUG: 29656 active_services = 1

Как видно, сервис запущен.

Если сервис не запустился, проверьте, чтобы в файле /etc/services была строчка saned 6566 , и, если она отсутствует, то добавьте.

Теперь скачаем и установим SaneTwain
В архиве инструкция и 2 файла – sanetwain.ds и scanimage.exe
запускаем scanimage.exe, указываем в настройках адрес роутера:

перезапускаем scanimage.exe:

Смотрим записи syslog в веб-интерфейсе:
Sep 2 07:59:19 OpenWrt daemon.debug saned[31278]: saned (AF-indep+IPv6) from sane-backends 1.0.20 starting up
Sep 2 07:59:19 OpenWrt daemon.debug saned[31278]: check_host: access by remote host: 192.168.11.139
Sep 2 07:59:19 OpenWrt daemon.debug saned[31278]: check_host: getaddrinfo for local hostname failed: Name or service not known
Sep 2 08:02:52 OpenWrt daemon.warn xinetd[29722]: Exiting.

Путем поиска по форумам выясняем, чтобы в этой ситуации все заработало, надо добавить в hosts запись с именем для адреса роутера:

killall xinetd
xinetd


Перезапускаем scanimage.exe(он глючный, возможно, только со второго раза все будет ок)

Видим, что все работает. Ура.


Теперь надо включить автозапуск xinetd в веб-интерфейсе роутера:

Перезапускаем роутер, проверяем работу еще раз.


Теперь копируем второй файл, sanetwain.ds, в каталог C:\Windows\twain_32\
После этого в программах с поддержкой twain можно пользоваться сканером, в том числе и в замечательной программе для создания скриншотов Screenshot Captor:

Печать

Теперь настроим печать по сети:
Устанавливаем пакет luci-app-p910nd.

Делаем следующие настройки в веб-интерфейсе роутера:


Убедимся, что сервер запустится при перезагрузке роутера:


и то, что он действительно запустился:


Жмем «Пробная печать», ура!
Печать по сети на всех прошивках, которые я смотрел, настраивалась без проблем, так что я уверен, что у вас проблем тоже не возникнет.

Освобождение места на роутере под другие программы

Главное — не увлечься, и не убить то, что нужно оставить

Теперь результат наглядно – до:



Теперь и scanimage запускается быстрее(он не тратит время на инициализацию всех backends), и хватит места, чтобы установить другие нужные сервисы.

P.S.
На форуме wl500g.info я читал замечания о том, что сканер в таком подключении работает медленнее, чем будучи подключенным напрямую к компу.

Давайте проверим… Сканируем лист А4 в цвете в разном разрешении.

600dpi через роутер(wifi, при этом смотрел ролик на youtube в 720p) 4мин 16сек, напрямую 1мин 47сек(через роутер реально в 2.5 раза медленнее);
300 dpi через роутер 62сек, напрямую 31сек;
150dpi через роутер 20сек, напрямую 15сек(тут разница совсем небольшая)

В принципе, для иллюстрации документов в формате А4 или распознавания текста хватит 150 dpi. В ситуации, когда один сканер на несколько человек и объемы сканирования небольшие, вполне себе ничего решение.
В ситуации, когда нужны высокие разрешения при больших объемах сканирования такое решение, естественно, не подойдет…

Читайте также: