Настройка печати через CUPS на МФУ Samsung SCX-4521F с использованием
драйверов LinuxОкружение:
- FreeBSD 7.1-PRERELEASE i386
- linux_base-f8 из портов
- linux-png-1.2.8_2 из портов
- linux-tiff из портов
- linux-jpeg-6b.34 из портов
- linux-xorg-libs-6.8.2_5 из портов
- cups-base-1.3.9_2 из портов
- cups-smb-backend-1.0_1 из портовПредполагается также, что линуксолятор вкомпилирован в ядро/подгружен и работает.
Если он работает нормально, то в sysctl можно увидеть версию ядра:# sysctl -a|grep linux
hw.snd.compat_linux_mmap: 0
compat.linux.oss_version: 198144
compat.linux.osrelease: 2.6.16
compat.linux.osname: Linux1. Качаем с официального сайта Samsung драйвера для Linux
(Linux Unified Driver). В моем случае файл назывался UnifiedLinuxDriver.tar.gz.2. Распаковываем:
# tar -zxf UnifiedLinuxDriver.tar.gz
3. Копируем ppd-файл с драйвером и нужный фильтр в папки CUPSа. Посмотреть,
какой именно фильтр нужен, можно в соответствующем Вашему принтеру файлу ppd:# cat cdroot/Linux/noarch/at_opt/share/ppd/scx4x21.ppd |grep Filter
*cupsFilter: "application/vnd.cups-postscript 0 rastertosamsungspl"# mkdir /usr/local/share/cups/model/samsung
# cp cdroot/Linux/noarch/at_opt/share/ppd/scx4x21.ppd /usr/local/share/cups/model/samsung/
# cp cdroot/Linux/i386/at_root/usr/lib/cups/filter/rastertosamsungspl /usr/local/libexec/cups/filter/4. Теперь задача добавить в /compat/linux недостающие либы. Перед тем, как
запускать линуксячий бинарник, стОит выполнить команду# /compat/linux/sbin/ldconfig
Далее нужно выяснить, каких библиотек не хватает. Самый простой способ - запускать
из командной строки /usr/local/libexec/cups/filter/rastertosamsungspl и смотреть,
чего ему не хватает. Подкладывать их в /compat/linux/lib или /compat/linux/usr/lib
по одной, и запускать /compat/linux/sbin/ldconfig.В моем случае не хватало следующих:
libcups.so.2
libcupsimage.so.2
libgnutls.so.13
libgcrypt.so.11
libgpg-error.so.0Найти и скачать RPM-пакеты для нужного релиза Fedroa, в которых есть эти библиотеки,
можно с помощью Web-сервиса RPM Search, например http://rpm.pbone.net/
Итак, у нас появляется 4 файла rpm:# ls -1 *rpm
cups-libs-1.3.4-2.fc8.i386.rpm
gnutls-1.6.3-2.fc8.i386.rpm
libgcrypt-1.2.4-6.i386.rpm
libgpg-error-1.5-6.i386.rpmДостаем оттуда библиотеки:
# rpm2cpio cups-libs-1.3.4-2.fc8.i386.rpm | tar -zxf -
# rpm2cpio gnutls-1.6.3-2.fc8.i386.rpm | tar -zxf -
# rpm2cpio libgcrypt-1.2.4-6.i386.rpm | tar -zxf -
# rpm2cpio libgpg-error-1.5-6.i386.rpm | tar -zxf -Копируем их в /compat/linux:
# cp -v lib/libgcrypt.so.11.2.3 lib/libgpg-error.so.0.3.1 /compat/linux/lib/
lib/libgpg-error.so.0.3.1 -> /compat/linux/lib/libgpg-error.so.0.3.1
lib/libgcrypt.so.11.2.3 -> /compat/linux/lib/libgcrypt.so.11.2.3
# cp -v usr/lib/libcups* /compat/linux/usr/lib/
usr/lib/libcupsimage.so.2 -> /compat/linux/usr/lib/libcupsimage.so.2
usr/lib/libcups.so.2 -> /compat/linux/usr/lib/libcups.so.2
# cp -v usr/lib/libgnutls.so.13.3.0 /compat/linux/usr/lib/tls/
usr/lib/libgnutls.so.13.3.0 -> /compat/linux/usr/lib/tls/libgnutls.so.13.3.0
# /compat/linux/sbin/ldconfig5. Если все было сделано правильно, то бинарник должен нормально запуститься:
# /usr/local/libexec/cups/filter/rastertosamsungspl
INFO: Usage: rastertosamsungspl job-id user title copies options [file]
ERROR: Wrong number of arguments6. Далее идем броузером на http://localhost:631/ и подключаем принтер, как обычно.
В разделе Make/Manufacturer должен появиться Samsung, и далее - в разделеModel/Driver - SCX-4x21 Series.
Возможно, пропустил что-то, но в принципе суть изложена.
Аналогичным образом, я думаю, можно завести любой принтер, если к нему есть
нормальные Linux драйверы.
URL:
Обсуждается: http://www.opennet.me/tips/info/1869.shtml
>Аналогичным образом, я думаю, можно завести любой принтер, если к нему естьнормальные Linux драйверы.
Впринципе, да. Я таким же образом заводил lexmark z23. В большинсве случаев драйвера для принтеров представляют собой фильтры для cups + user space утилитки.
Майкл Лукас для установки RPM-пакетов Linux во FreeBSD советует применять вот такую команду:
# rpm -i --ignoreos --dbpath /var/lib/rpm --root /compat/linux имяпакета
а что cups под freebsd нету?
Нету. И не будетЪ. И в тексте заметки cups нигде не упоминается.
>Нету. И не будетЪ. И в тексте заметки cups нигде не упоминается.:-)
Интересно, как же я печатаю на сетевом принтере?
http://izenfire.blogspot.com/2007/09/hp-deskjet-6943-freebsd...CUPS:
% cd /usr/ports/print/cups/ && make install clean
>>Нету. И не будетЪ. И в тексте заметки cups нигде не упоминается.
>
>:-)
>
>Интересно, как же я печатаю на сетевом принтере?
>http://izenfire.blogspot.com/2007/09/hp-deskjet-6943-freebsd...Интересно, а как я на своём сетевом (и на нём же локально) печатаю?
>CUPS:
>% cd /usr/ports/print/cups/ && make install cleanКак у вас с чувством юмора и концентрацией внимания?
Медленно и по слогам. В тек-сте за-мет-ки cups ниг-де не упо-ми-на-ет-ся.
>Медленно и по слогам. В тек-сте за-мет-ки cups ниг-де не упо-ми-на-ет-ся.Читайте ещё раз:
"Настройка печати через CUPS на МФУ Samsung SCX-4521F с использованием
драйверов Linux"Вы не видите "CUPS"? А он есть! :))
>Вы не видите "CUPS"? А он есть! :))Да нету там никакого "CUPS". А вообще, да, есть.
А чувства юмора у вас таки нет.
>а что cups под freebsd нету?Есть. И он используется.
Просто фильтр и ppd-файл берется из линуксовых драйверов. А чтобы фильтр нормально работал - нужны линуксовые либы, которых нет в дереве портов.
Для печати на принтерах Samsung во FreeBSD есть нативный порт!ports/print/splix/
SpliX is a set of CUPS printer drivers for SPL (Samsung Printer Language)
printers. Below is a non-exhaustive list of currently supported printers. Note
that only SPL2 and SPLc printers are currently supported!Manufacturer Model State
Dell 1100 Works
Dell 1110 Works
Samsung CLP-200 Untested
Samsung CLP-300 Works
Samsung CLP-500 Works
Samsung CLP-510 Works
Samsung CLP-600 Untested
Samsung CLP-610 Untested
Samsung CLX-216X Untested
Samsung CLX-2170 Untested
Samsung CLX-3160 Untested
Samsung ML-1510 Works
Samsung ML-1520 Works
Samsung ML-1610 Works
Samsung ML-1630 Untested
Samsung ML-1710 Works
Samsung ML-1740 Works
Samsung ML-1750 Works
Samsung ML-2010 Works
Samsung ML-2150 Untested
Samsung ML-2250 Works
Samsung ML-2510 Works
Samsung ML-2550 Works
Samsung ML-2571 Works
Samsung ML-3050 Untested
Samsung ML-3560 Untested
Xerox Phaser 3115 Untested
Xerox Phaser 3116 Untested
Xerox Phaser 3117 Works
Xerox Phaser 3120 Untested
Xerox Phaser 3121 Untested
Xerox Phaser 3122 Untested
Xerox Phaser 3130 Untested
Xerox Phaser 3150 Untested
Xerox Phaser 3420 Untested
Xerox Phaser 3425 Untested
Xerox Phaser 5500 Untested
Xerox Phaser 6100 Works
Xerox Phaser 6110 UntestedWWW: http://splix.sourceforge.net/
>Для печати на принтерах Samsung во FreeBSD есть нативный порт!
>
>ports/print/splix/
>WWW: http://splix.sourceforge.net/Есть. А Вы видите в списке поддерживаемых принтеров SCX-серию? Я - нет.
Делал подобное для Samsung CLP-610. FreeBSD 7.2 i386, linux_base-f8.
Вылетают только белые страницы
Но в то же время CLP-510 работает прекрасно.
Оба используют rastertosamsungsplc
\> uname -aTrueBSD 2.0-RC2 i386
FreeBSD MyxaTonomyxa 7.2-STABLE FreeBSD 7.2-STABLE #0: Mon Nov 2 14:05:12 EET 2009 root@truebsd:/usr/obj/usr/src/sys/TRUEBSD i386linux_base-f10 из портов
cups-base-1.3.10_4 из портов
cups-smb-backend-1.0_2 из портовбиблиотеки были подставлены из fc10 рпм-ов
линуксолятор работает
libgcrypt.so.0 пришлось заменить, так как ldconfig сказал, что она не является символической ссылкой
Model/Driver - XEROXwc3119(наименование неточно) изначально была взята ппдшка из CDкомплекта, но после установки спликса почему-то начала называть себя спликсовой.
спликс потянул с собой чтото из ddk-ев
сейчас работает, но поломанные зависимости libgcrypt не дают работать c pgp и mcabber-ом
надеюсь, что после ближайшего обновления всё станет на свои места