Samsung SCX-4200 с использованием открытых драйверов
В этой статье будет рассмотрено использование свободных драйверов и средств для полноценной работы с МФУ Samsung SCX-4200, без использования фирменных бинарных драйверов.
Все нижеописанное тестировалось на x86 и x86_64 системах.
amd64, поэтому будьте внимательны с размаскировкой соответствующих пакетов, если вы используете стабильные ветки.
Содержание
Локальное использование
После подключения МФУ к компьютеру необходимо убедиться, что компьютер его видит:
Bus 001 Device 007: ID 04e8:341b Samsung Electronics Co., Ltd SCX-4200 series
Если же результат выполнения команды иной, то необходимо убедится в правильной конфигурации ядра. В случае отсутствия поддержки USB-принтеров в ядре, необходимо ее добавить и перекомпилировать ядро.
Code: # lsusb | grep Samsung |
Linux Kernel Configuration: USB Printer Support |
Установка SpliX и CUPS
Если CUPS уже установлен (например как зависимость KDE или GNOME), необходимо установить набор свободных драйверов для принтеров Samsung — SpliX. Если CUPS не установлен, то он будет установлен как зависимость SpliX. Необходимо убедиться в правильно включенных USE-флагах, по возможности надо включить поддержку всех графических форматов. Необходимая версия SpliX — 2.0.0 и выше, CUPS — 1.4 и выше, поэтому необходимо размаскировать данные пакеты, т.к. они помечены как нестабильные:
Настройка печати
Открываем любимым редактором файл /etc/cups/cupsd.conf и убеждаемся в том, что доступ на веб-интерфейс разрешен только локальным пользователям:
Code: /etc/cups/cupsd.conf |
Далее запускаем CUPS:
И убеждаемся, что он запустился без ошибок, дальше добавляем сервис в автозапуск:
После этого любимым браузером открываем адрес http://localhost:631
На закладке «Администрирование» нажимаем кнопку «Добавить принтер», где Вас попросят ввести имя пользователя и пароль root.
Выбираем «Принтер SCSI» и в форму «Подключение:» вписываем: parallel:/dev/usblp0 Если данное МФУ не единственное в системе (допустим имеется еще usb-принтер), то нумерация устройства может отличаться.
После продолжения нам необходимо дать принтеру название, в поле «Название:», например Samsung_SCX-4200, поля же «Описание:» и «Расположение:» можно не заполнять. Далее выбираем вендора (в нашем случае Samsung) выделяем Samsung SCX-4200, SpliX V.2.0.0 (en) и нажимаем кнопку «Добавить принтер».
В заключении будет предложено настроить основные параметры принтера, такие как разрешение, экономия тонера, тип и размер бумаги. Теперь необходимо перейти на закладку «Принтеры» и из выпадающего списка «Обслуживание» выбрать печать пробной страницы. Если страница распечаталась — считайте принтер настроен. Можно переходить к настройке сканера.
Настройка сканирования
В начале добавляем в файл /etc/make.conf строку:
Размаскируем пакет sane-backends до самой последней версии, как мы это делали для CUPS и SpliX. Далее проверяем включенный USE-флаг usb у sane-backends, а заодно и драйвер xerox_mfp, но сам пакет не собираем!
Дальше необходимо выбрать интерфейс для работы со сканером. Под библиотеку Gtk это может быть пакет media-gfx/xsane, в KDE4 это может быть kde-base/ksaneplugin, а сама работа со сканером может осуществляться из KolourPaint.
После выбора пакета под любимую библиотеку или DE осуществляем его установку, которая в зависимостях установит sane-backends.
Теперь необходимо прописать в файл /etc/sane.d/xerox_mfp.conf ID нашего устройства:
Code: /etc/sane.d/xerox_mfp.conf |
А в файле /etc/sane.d/dll.conf должна быть раскомментированная строка:
Code: /etc/sane.d/dll.conf |
Осталось проверить, определился ли наш сканер:
Code: # sane-find-scanner |
Code: # scanimage -L |
На этом настройка локального МФУ закончена. Работают все функции данного МФУ. Печать с настройкой качества, типом бумаги и количеством тонера. И сканирование.
Сетевое МФУ с клиентами под Linux и Windows
Очень удобное сетевое МФУ можно сделать на базе машины с Gentoo Linux (справедливо для любых разновидностей Linux). Например для малого офиса или квартиры, где уже имеется маршрутизатор или сервер локальной сети на базе Gentoo.
Для этого нам необходимо немного изменить настройки, которые мы производили для простого локального МФУ.
Сразу стоить заметить, компьютер на который будет устанавливаться МФУ имеет программную конфигурацию схожую с серверной и не имеет графической системы Х.
Настройка принтера со стороны сервера
Code: # emerge -pv splix |
Важными тут являются ssl и графические форматы, так же может потребоваться включение флага djvu. Так же необходимо произвести размаскировку до последних версий пакетов программ.
Далее необходимо отредактировать /etc/cups/cupsd.conf , для того чтобы CUPS не «светил» в Интернет, а только был доступен для локальной сети.
Code: /etc/cups/cupsd.conf |
После этого запускаем сервис и добавляем его в автозапуск. Проверяем:
Code: # netstat -tunadp | grep cupsd |
CUPS слушает локальный сетевой интерфейс, в моем случае это 172.16.0.1
Далее, как описано выше добавляем принтер, при этом не забыв поставить галочку: Разрешить совместный доступ к этому принтеру. На этом этапе принтер можно считать настроенным.
Настройка сканера со стороны сервера
Настройка сканера и определение его в системе полностью аналогична вышеописанной за исключением некоторых моментов:
Code: /etc/sane.d/saned.conf |
Создаем пользователя и добавляем его в группу scanner:
Т.к. демон saned не умеет работать самостоятельно — устанавливаем xinetd:
Убеждаемся, что в файле /etc/services есть упоминание о SANE:
Code: cat /etc/services | grep sane |
Затем создаем файл /etc/xinetd.d/sane-port, который будет содержать следующее:
Code: /etc/xinetd.d/sane-port |
Code: /etc/xinetd.conf |
И наконец запускаем сервис и прописываем его в автозапуск:
СЕРВЕРНАЯ ЧАСТЬ
Настройка Linux-клиента
Как обычно начинаем с принтера. Для этого все собираем как для первой части статьи (т.е. для локальной машины) и настраиваем CUPS на работу с принтером по протоколу HTTP! Т.е. вместо указания устройства принтера, необходимо указать адрес принтера на нашем сервере печати, а дальше все аналогично. Адрес можно получить зайдя на веб-интерфейс нашего сервера, где установлен CUPS. В моем случае этот адрес выглядит так: http://172.16.0.1:631 Теперь зайдя на закладку «Принтеры» наведите мышь на модель принтера и в браузере выберите «Копировать адрес ссылки» Это и будет ссылка на принтер. У меня она выглядит так: http://172.16.0.1:631/printers/Samsung_SCX-4200
Теперь сканер. Все делаем как в первом случае (выбирая нужный Вам frontend и собирая его, который в зависимостях установит sane-backends), за исключением:
Добавляем в файл /etc/make.conf следующее:
Выключаем USE-флаг usb:
Code: /etc/portage/package.use |
В файле /etc/sane.d/dll.conf должна быть раскомментированная строка:
Code: /etc/sane.d/dll.conf |
Далее создаем файл /etc/sane.d/net.conf, в нем указываем адрес нашего сервера, к которому подключен сканер.
Проверять сканер следует только утилитой scanimage
На этом настройку Linux-клиента можно считать законченной!
Настройка Windows-клиента
В данном примере речь пойдет об WindowsXp.
Принтер устанавливается через «Панель управления», выбирается HTTP принтер и в качестве адреса принтера указывается тот, который мы рассмотрели для Linux-клиента, потом вставляется родной диск с драйверами принтера и установщик найдет необходимое (или выберите Samsung SCX-4200 Series) и автоматически установит. Не забудьте напечатать пробную страницу! Инсталлятор Самсунга запускать не надо.
Для сканера используется программа SaneTwain Рекомендую скачать последнюю бета-версию. Архив с программой распаковывается например на диск C:\, далее файл SaneTwain.ds копируется в %WinDir%\twain_32. После запуска программы указывается только адрес сервера и можно пользоваться.
Удалось решить данную проблему:
Для этого необходимо отредактировать файл /etc/udev/rules.d/70-libsane.rules
Code: /etc/sane.d/net.conf |
Code: /etc/udev/rules.d/70-libsane.rules |
То есть раскомментировать данную строчку правил и добавить к ней , RUN+=»/lib/udev/my_scanner» Это ничего не поменяет при подключении МФУ к usb, за исключением того, что выполнит небольшой скрипт, который создаст удобочитаемый постоянный псевдоним для нашего устройства, сколько раз Вы бы не выключали сканер. Для этого создаем файл в /lib/udev/ с именем my_scanner, т.к. это имя у нас и прописано в правило UDEV. Имя может быть любым, но необходимо помнить, что в правилах UDEV должно быть таким же.