Инструкция по настройке МФУ Samsung SCX-4200 на маршрутизаторе Zyxel Keenetic Giga II:
* Изначально, требуется настроить на роутере "репозиторий пакетов" Entware, из которого уже будут устанавливаться пакеты для сканирования и печати. Репозиторий Entware — это "репозиторий пакетов": хранилище, откуда "установщик пакетов" скачивает сборки пакетов для конкретной архитектуры процессора роутера (x64, ARM, MIPS, MIPSEL). В качестве "установщика пакетов" на роутерах Zyxel Keenetic используется OPKG (обычно он уже установлен на роутере по умолчанию).
* Взять какую угодно USB-флешку (войдёт на любую). Отформатировать флешку в файловую систему ext4.
* Воткнуть флешку в роутер через обычный "пассивный" USB-хаб (на алиэкспрессе за 100 рублей). Также воткнуть принтер в роутер через этот же USB-хаб.
* В роутере войти в "Настройки" -> "Программы".
* В интерфейсе роутера, на странице "Программы", войти в принтер. Проверить, что он настроен как "Тип подключения: Прямое" (не CIFS) и "Порт: 9100".
* В интерфейсе роутера, на странице "Программы", войти во флешку. Нажать кнопку "Создать папку", назвать папку "install".
* Архитектура процессора роутера Zyxel Keenetic Giga II — MIPSEL, поэтому положить в папку "install" файл "mipsel-installer.tar.gz", скачанный, например, отсюда:
Код: Выделить всё
http://bin.entware.net/mipselsf-k3.4/installer/mipsel-installer.tar.gz
* Выбрать эту флешку в интерфейсе роутера в разделе "Настройки" -> "OPKG". Нажать "Сохранить".
* После этого автоматически запустится установка пакетов из Entware. Отслеживать процесс можно в "системном журнале" роутера. Когда роутер запустит ssh на порту 222 и напишет в системном журнале: "не забудьте сменить пароль", первичная установка пакетов завершена.
* Далее, зайти на mipsel по ssh:
* Пароль: keenetic
* Сразу сменить пароль командой
* Далее поставить нужные пакеты (сканер sane, принтер cups, "запускатель сервисов" xinetd, сервис поддержки "AirPrint" avahi, редактор nano):
Код: Выделить всё
opkg update
opkg install sane-backends xinetd avahi-daemon nano
* Создать скрипт запуска сервиса сканирования sane на порту 6566 через "запускатель сервисов" xinetd:
Вставить:
Код: Выделить всё
service saned
{
type = UNLISTED
socket_type = stream
server = /opt/sbin/saned
protocol = tcp
port = 6566
user = root
group = root
wait = no
}
Далее выбрать драйверы для sane:
Оставить там только те драйверы, которые требуются для данной модели сканера. В случае с Samsung SCX-4200 — это драйвер "xerox_mfp". Также, видимо, оставляют драйвер "net":
Посмотреть драйвер для конкретной модели сканера:
http://www.sane-project.org/sane-mfgs.html Далее настроить адрес сканера:
Добавить адрес:
Далее настроить подсеть, на которой будет слушать сканер:
Добавить подсеть:
Удалить неиспользуемый файл:
Далее, настроить сервис печати CUPS. Настроить, кто может добавлять принтеры:
Там, где SystemGroup, оставить только:
Далее, настроить веб-интерфейс сервиса печати CUPS:
Убрать строку "Listen ...", вместо неё сделать "Port 631", иначе веб-интерфейс CUPS не будет доступен.Ещё, чтобы из локальной сети пускало по адресу "/admin", не выдавало ошибку "Страница не найдена", внутри каждого "<Location/>" добавить в конце: "Allow 192.168.1.*" (некоторые вместо этого пишут "Allow @Local").
Перезапустить sane и cups:
Код: Выделить всё
Shutting down cupsd... done.
Starting cupsd... done.
Shutting down xinetd... done.
Starting xinetd... done.
Попробовать зайти на CUPS по веб-интерфейсу:
http://192.168.1.1:631Если заходит, зайти в подпуть "/admin", введя имя пользователя root и пароль (тот, на который сменили).
Далее, в этом интерфейсе CUPS будет добавляться новый принтер. Для этого, сначала установить пакет драйверов "splix":
Драйверы ставятся в папку установки cups. Например, драйвер для Samsung SCX-4200 будет находиться по пути:
Теперь перейти в веб-интерфейс CUPS, вкладка “Администрирование”, поставить галку “Разрешить совместный доступ к принтерам, подключенным к этой системе”, нажать кнопку "Добавить принтер". Если принтер уже есть в списке обнаруженных, то выбрать его и нажать "Применить", после чего выбрать драйвер для данной (или похожей) модели принтера (из списка или из файла). Иначе, выбрать тип подключения "AppSocket/HP JetDirect", задать имя принтера, адрес "socket://192.168.1.1:9100", после чего выбрать драйвер для данной (или похожей) модели принтера (из списка или из файла). Для особых случаев, есть возможность указать файл драйвера вручную.
После добавления принтера в CUPS, напечатать "тестовую страницу": вкладка “Принтеры”, выбрать принтер, меню “Обслуживание”, "Печать пробной страницы". Если напечатал, то драйвер подходит.
Теперь можно добавить принтер в Windows 10: Панель управления -> Устройства -> Добавить принтер -> "Принтера нет в списке" -> Выбрать внизу "Добавить локальный или сетевой принтер с параметрами, заданными вручную" -> Далее -> Выбрать "TCP/IP 192.168.1.1" (или создать такой, если нету) -> Выбрать драйвер данной модели принтера из списка -> "Не настраивать общий доступ" (для простоты) -> Напечатать пробную страницу. Вместо добавления принтера по TCP/IP, можно зайти в веб-интерфейс CUPS на страницу принтера, скопировать адрес ("http://192.168.1.1:631/printers/имя-принтера") из адресной строки браузера, и вставить этот адрес при добавлении принтера в Windows, выбрав тип подключения "Выбрать общий принтер по имени".
Таким же образом можно настроить печать с мобильных устройств используя различные специализированные (часто — не бесплатные) приложения:
https://help.keenetic.com/hc/ru/article ... 1%80%D0%B0https://dmitrysnotes.ru/raspberry-pi-3- ... rvera-cupsДля работы со сканером на компьютере, можно установить SaneTwain или
SaneWinDS (мы установили SaneWinDS и он сам заработал). После этого в программах, работающих со сканером, появится "устройство сканирования": "SaneTwain" или "SaneWinDS". Для сканирования на мобильных устройствах на базе Android'а есть бесплатное приложение "SANEDroid".
Есть несколько стандартов драйверов для сканеров. "TWAIN" — это стандарт драйверов сканера, принятый в Windows. "SANE" — это стандарт драйверов сканера, принятый в Linux. Соответственно, SaneTwain — это "мост", переводящий язык Twain в язык Sane, и обратно.
На каком-то этапе почему-то перестал находится сканер в SaneWinDS.
При этом в системном журнале была странная ошибка:
Код: Выделить всё
check_host: getaddrinfo for local hostname failed: Name or service not known
Первая же ссылка в гугле даёт вроде как решение — добавить строчку в "/etc/hosts" на роутере:
https://habr.com/ru/post/127739/Неизвестно, нужно ли это. Добавили — не заработало. Перезагрузили — заработало. Убирать не стали.
Такое ощущение, что Sane конфликтует с CUPS, и как будто сканер работает до того, как что-то напечатают.
У нас ещё галка стояла: "Разрешить двусторонний обмен". Видимо, её рекомендуют снимать. Хз, может из-за неё что-то было.