Инструменты пользователя

Инструменты сайта


Настройка принтера Samsung ML-1520P

:!: Этот принтер больше не поддерживается Samsung, соответственно драйвера они больше для него не пишут. Более того, у них на сайте их тоже уже нет. На свой страх и риск выкладываю тут. Описание настройки закрытого драйвера оставлено в исторических целях.

Открытый драйвер samsunggdi

Встренный в ghostscript. На странице принтера отмечен как рекомендуемый.

Проверить наличие можно так:

$ gs --help | grep samsunggdi
   psrgb pswrite pxlcolor pxlmono r4081 rinkj rpdl **samsunggdi** sgirgb sj48

Далее установка происходит следущим образом, рассказ для CUPS и для ArchLinux.

  1. Заходим сюда, выбираем принтер ML-1520, ставим чекбокс в download и нажимаем кнопку Generate PPD file, сохраняем файл себе на жесткий диск, имя: Samsung-ML-1520-gdi.ppd
  2. Для работы нужен фильтр foomatic-rip, находится в пакете foomatic-filters, ставим его:
    pacman -S foomatic-filters

    у кого нет такого пакета, посмотрите сайт http://www.linuxprinting.org/foomatic.html на предмет наличия.

  3. Запускаем браузер (CUPS думаю у вас уже запущен), заоходим на http://localhost:631 и далее:
    1. Идем в Manage printers и удаляем принтер со старыми драйверами
    2. Идем в Add printer:
      • Name: любое, пусть будет ml1520
      • Location: «моя комната» или «мой кабинет» или «далеко далеко далече»
      • Description: описание принтера
    3. Нажимаем Continue, попадаем в «Device for ml1520»
      • Выбираем Device, у меня принтер на паралельном порту (он может работать и через USB), поэтому устройство выглядит так: «Samsung ML-1520P LPT #1»
    4. Нажимаем Continue, попадаем в «Model/Driver for ml1520»
      • В Provide a PPD file выбираем наш сохраненный Samsung-ML-1520-gdi.ppd
    5. Нажимаем Add Printer. Принтер добавлен
    6. Переходим опять в Manage Printers, устанавливаем опции печати, в частности формат листа A4, можно проверить печать, напечатав пробую страницу.

Открытый драйвера splix

Есть так же в репозитарии ArchLinux, или качается с http://splix.ap2c.org, там же смотрится список поддерживаемых принтеров. Драйвер отмечен как: «This driver contains algorithms which are (possibly) patented (See license text)».

  1. Ставим
    pacman -S splix
  2. Перестартуем CUPS после:
    /etc/rc.d/cups restart
  3. Все шаги проделываются аналогично установке samsunggdi, за исключением установки foomatic-filters и в списке принтеров вместо указания PPD, он выбирается из списка: «Samsung ML-1520, SpliX V. 2.0.0 (en)»

Закрытый драйвер

С закрытыми драйверами бывает очень много разного необычного и загадочного, вот и с принтером ML-1520 не все получилось гладко. Основная проблема в том, что когда стояла старая Slackware 9.1 этот принтер завелся с полуоборота на с теми дровами что были с ним на диске. После обновления до Slackware 9.1 он работать наотрез отказался, такое же поведение наблюдалось и на свеженьком Arch Linux 0.7.1. Все дело было в том что фильтр из состава драйвера валился в сигфолт, думается из-за несоответствия версии glibc в системе и glibc с которой был скомпилирован фильтр. Обновление драйверов с официального сайта samsung.com (не берите драйвера с samsung.ru, там таааакое старье!) тоже не помогло…

Так и стоял этот принтер без работы почти все лето…

Ну вот подумав, что, возможно, драйвера еще раз обновили и решили эти проблемы, опять полез на samsung.com. И надо же, действительно, обновление было ;) Скрестив пальчики поставил на закачку (14 метров по gprs это да…). После окончания скачивания мы имеем архив:

20060710181110812_UnifiedLinuxDriver.tar.gz

распаковываем его:

tar xzf 20060710181110812_UnifiedLinuxDriver.tar.gz

переходим в каталог:

cd cdroot

смотрим на заманчивый файл autorun и еще более заманчивый Linux/install.sh и… нет не угадали, нифига мы их не запускаем. Попробую объяснить почему, в двух словах:

после инсталляции стандартным путем, принтер нафиг отказывается работать! почему - хз, как настраивать - хз. (ну точнее не полностью непонятно, но объяснять то что у самого в голове сумбурно - бред)

Далее идем по инструкции (делаем от рута):

  1. Создаем каталог:
    mkdir -p /opt/Samsung/mfp
  2. Копируем все из Linux/i386/at_opt в вышеуказанный каталог (вместо i386 может быть x86_64):
    cp -r Linux/i386/at_opt /opt/Samsung/mfp/
  3. Копируем все из Linux/i386/at_root
    cp -r Linux/i386/at_root /opt/Samsung/
  4. Делаем симлинки:
    ln -s /opt/Samsung/usr/lib/cups/backend/* /usr/lib/cups/backend
    ln -s /opt/Samsung/usr/lib/cups/filter/* /usr/lib/cups/filter
    ln -s /opt/Samsung/usr/lib/sane/* /usr/lib/sane
    ln -s /opt/Samsung/usr/lib/libmfp.so.1.0.1 /usr/lib/
  5. Копируем qt библиотеку с которой собрана конфигурационная морда и создаем линк:
    cp Linux/i386/lib/libqt-mt.so.3 /opt/Samsung/usr/lib
    ln -s /opt/Samsung/usr/lib/libqt-mt.so.3 /usr/lib
  6. Копируем все из noarch/at_opt/share в /opt/Samsung/mfp/share
    cp -r noarch/at_opt/share/* /opt/Samsung/mfp/share
  7. Копируем noarch/at_root
    cp -r noarch/at_root/* /opt/Samsung/
  8. Делаем линк
    ln -s /opt/Samsung/etc/sane.d/* /etc/sane.d/

    \ (7-8 пункты не имеют к настройке принтера никакого отношения но могут быть полезны при настройке комбайнов и сканеров от самсунга)

  9. Пройдитесь ldd по фильтрам и вообще всем бинарникам:
    ldd /opt/Samsung/mfp/bin/*
    ldd /opt/Samsung/usr/lib/cups/backend/*
    ldd /opt/Samsung/usr/lib/cups/filter/*

    \ Если не найдены библиотеки типа libstdc++ попробовать сначала доставить из дистрибутива или из noarch/

  10. Скопировать OEM.ini
    cp Linux/OEM.ini /opt/Samsung/mfp/share/
  11. Остановить cups:
    /etc/rc.d/cups stop
  12. Отредактировать /etc/cups/printers.conf
    <DefaultPrinter ml1520>
                Info
                Location
                DeviceURI parallel:/dev/lp0
                State Idle
                Accepting Yes
                JobSheets none none
                QuotaPeriod 0
                PageLimit 0
                KLimit 0
    </Printer>
  13. Скопировать /opt/Samsung/mfp/share/ppd/ML-1520spl2.ppd
    cp /opt/Samsung/mfp/share/ppd/ML-1520spl2.ppd /etc/cups/ppd/ml1520.ppd
  14. Запустить cups
    /etc/rc.d/cups start
  15. Запустить программу конфигурации
    /opt/Samsung/mfp/bin/Configurator

    \ настроить свой принтер

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

Alexander 'Hatred' Drozdoff, Vladivostok, 2006.08.22, updated: 2009.03.31