Не скажу, что лучше -- но пришлось перетащить SCX-4200 с принт-сервера (который проще заморозить в виде "и не трожь") на один из десктопов с 5.1/branch, так вот добиться печати и сканирования пришлось через возвращение на cups-1.3 -- поскольку 1.4, как известно, работает мимо модуля ядра usblp, а вот для самсунговского закрытого модуля для сканера по крайней мере из набора 2.00.97 он наоборот, необходим.
Хорошо бы кто проверил Samsung Unified Linux Driver 3.xx -- говорят, часть проблем (по крайней мере со сканированием от пользователя) порешали.
Привожу для x86_64, на i586 в основном сводится к "поменять строчку про архитектуру". Выполняется от имени root. За "не splix" мне стыдно, но с ним завести всё сходу не вышло.
# мешает откатить libcups
apt-get remove kdebase-kprint
# откатываем на 1.3, доустанавливаем старый libldap
rpm -Uvh --oldpackage
http://ftp.altlinux.org/pub/distributions/ALTLinux/5.0/branch/files/x86_64/RPMS/libcups-1.3.10-alt1.x86_64.rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/5.0/branch/files/x86_64/RPMS/cups-1.3.10-alt1.x86_64.rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/5.0/branch/files/x86_64/RPMS/libldap2.3-2.3.43-alt2.x86_64.rpm# обеспечиваем загрузку модуля usblp
echo usblp >> /etc/modules
modprobe usblp
# ставим драйвер (более новые сборки не проверял)
rpm -Uvh
ftp://ftp.linux.kiev.ua/pub/Linux/drivers/Samsung/SCX/samsung-mfp-drivers-2.00.97-alt0.1.x86_64.rpmДалее
http://localhost:631 и сносим старую настройку принтера в cups, настраиваем по новой, выбрав драйвер "Samsung SCX-4200 Series" (НЕ Splix 2.0.0!). Вспоминаем, лезем в default printer options, меняем бумагу с Letter на A4, вздыхаем. После этого print test page должно нормально отработать. Если нет -- cancel -a (сбрасываем все задания), всё выключаем, потом всё включаем (если что застряло в USB-стеке, вытрясти программно можно, но долго описывать; если что застряло уже в МФУ, всяко придётся выключить).
Теперь сканирование...
# откатываем libsane на 1.0.19 из-за
#21808# -- возможно, уже и не требуется, не перепроверял:
rpm -Uvh --oldpackage
http://ftp.altlinux.org/pub/distributions/ALTLinux/5.0/branch/files/x86_64/RPMS/libsane-1.0.19-alt2.x86_64.rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/5.0/branch/files/x86_64/RPMS/sane-1.0.19-alt2.x86_64.rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/5.0/branch/files/x86_64/RPMS/sane-server-1.0.19-alt2.x86_64.rpmДалее проверяем, что в /etc/sane.d/dll.conf есть строчка "smfp" (если нету -- добавляем).
На этой точке должно работать не только sane-find-scanner (который "и так" работает), а и scanimage -L, отозвавшись строчкой про этот сканер. От пользователя scanimage -L будет заявлять "No scanners were identified" и дальше по тексту, xsane сделает Segmentation fault из-за кривой бинарной библиотеки. Хорошо, что один человек потрудился её захачить.
# патчим кривую бинарную библиотеку
cd /root/tmp
wget
ftp://ftp.linux.kiev.ua/pub/Linux/drivers/Samsung/SCX/fix-nopar-scx4200-2.00.95-2008112701.tar.gztar xf fix-nopar-scx4200-2.00.95-2008112701.tar.gz
mv /usr/lib64/libmfp.so.1.0.1 /usr/lib64/libmfp.so.1.0.1-2.00.97-orig
cp -a fix-nopar/x86_64/libmfp.so.1.0.1 /usr/lib64/
И добавляем нужных пользователей в группу lp (/etc/group). Да-я-понимаю-но-scanner-недостаточно.
Теперь scanimage -L и xsane от пользователя должны работать.
До кучи -- для сетевого доступа к сканеру см. /etc/sane.d/saned.conf (вписать сеть по примеру), /etc/xinetd.conf и/или /etc/xinetd.d/sane (расширить/добавить only_from с дефолтного 127.0.0.1 до включающего нужные сетевые префиксы).
На закуску холдим откаченное в /etc/apt/apt.conf:
Hold {
// Old-style kernels.
"^(kernel|alsa)[0-9]+-source";
"^libsane.*"; // https://bugzilla.altlinux.org/21808
"^libcups.*"; // cups-1.4 deprecates usblp.ko, libsane-smfp needs that
};
После часа стучания головой в стенку растормаживание наступило по прочтении этой ветки, #21808 и
http://jacobo.tarrio.org/tech/scx4200PS 2 jinn: на
http://dimankhanjin.nm.ru/samsung-mfp/ мне firefox3 сказал, что попытались всунуть какое-то расширение. Не копал, но к сведению. Если надо, могу выдать место на ftp.linux.kiev.ua.