![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
|
Tutorials & Tips The place to find Ubuntu related Tips & Tricks. |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Quad Shot of Ubuntu
![]() Join Date: Dec 2006
Beans: 449
|
HOWTO Install Samsung Unified Printer Driver
Guide to installing Samsung printers & the Unified Linux Driver:
(Updated 30 December 2009 - updated to latest driver version, mention SpliX (section IIa-2), emphasized need to add user to "lp" group for scanning, and many minor updates) Update 5 Jan 2010 - note the split of packages into "legacy" and not, to cleanly distinguish the two versions available. You may need to uninstall existing packages and reinstall them rather than updating if apt gives an error about trying to overwrite files files in packages, because some files were moved between packages. I. Introduction This guide presents several approaches to installing your Samsung printer. Nothing is really specific to Ubuntu to at all, and will certainly work on any Debian-based distribution; chances are that all of this is also appropriate for Fedora, Suse, etc., although I have not checked. This post contains instructions for working with the v3.00.65 driver only, and only contains the most commonly needed information. (The differences between the 3.00.65 driver and older 3.00.xx drivers are mainly in the details of the binary files, so all the information below still applies; however, the drivers newer than 3.00.37 also supposedly have better auto-detection and configuration of printers, and may only work on distributions released 2008 or newer.) For further information and information regarding the v2 (2.00.97 or older) driver and changes from the 3.00.37 driver to 3.00.65, go to the Samsung Unified Linux Driver repository: http://www-personal.umich.edu/~tjwatt/suldr/. I strongly recommend that you do not install the v2 drivers unless you have a very good reason to do so. (See part IV if you just wish to remove the v2 drivers.) There are also a variety of printers that are not Samsung-branded but are actually equivalent, and so this information is also appropriate for them. For example, the Xerox WorkCentre PE220 (see http://www.vyvy.org/main/node/146) and some Xerox Phasers. [b]When posting asking for assistance, you must provide (at a minimum) your printer model, how it is connected, the specific problem, any error messages you see, which driver you are using (and version if the Unified Driver), and how you installed the driver.[b] Without this information, it is unlikely anyone will be able to help you, and your question may well be entirely ignored. I monitor this thread and will respond to public posts (although it may take a few days or occasionally weeks); do not attempt to send me a private message or email. On the other hand, I don't always know how to solve the problem, which is why I insist on public posts, and other readers are welcome to jump in and help out. I know that this guide is very long. However, please do at least scan the major sections before taking any actions, and read the whole thing if you plan to install the Unified Driver directly from Samsung. Many common questions are answered in this post. If you do have a question that isn't, please check the repository site, as more questions are answered there. If you still have questions, then please do post here. My Samsung printer is the CLP-550N, which is not a multifunction printer. Everything that follows below about multifunction printers is true as far as I know, and much has been verified by other users who have posted in this thread, but I cannot personally test everything described. Note that the Samsung Unified Linux Driver is only available for i386 and amd64 architectures (most Intel/AMD based 32-bit and 64-bit systems); because the driver is not open source, I have no control over this limitation. II. Your options for installing a Samsung printer Many Samsung printers are now automatically recognized by Ubuntu (and other distributions) if connected by USB, and more with each update (Hardy, Intrepid, Jaunty progressively auto detect more of them). If you just have a basic printer, this will probably work fine, and you can stop reading now. On the other hand, if you have a multifunction printer, you will almost certainly not be ab to access scanning with this default setup. Many CLP- and CLX- printers will be missing important printing options. In general, network printers are still a significant problem for automatic setup. For all these cases, you will probably want to continue reading to see what your options are. The sections below are possible paths, not a series of steps; you do not need to proceed through the possibilities in the order in which they appear. IIa-1. Use CUPS and a default postscript printer If you have a monochrome, non-duplexing, and postscript compatible printer, chances are that it will work fine with CUPS as a generic postscript printer. You may not have all the options available for your printer, though. This is the case for many of the ML- line of printers. A few of the CLP- printers will also work this way, but are definitely missing features. CLX- and SCX- printers will not have access to scanning using this approach. A variation on this approach is to download the Samsung Unified Linux Driver and only pull out the ppd file for your printer, install it to CUPS, and hope for the best; however, most of the time this won't work. In addition, CUPS may directly support your printer, particularly some of the ML- printers, via the foomatic-provided ppds; this will vary from distribution to distribution, though. IIa-2. Use CUPS and the SpliX driver For a subset of Samsung printers, the SpliX driver v2.0 (available in the Ubuntu and Debian repositories) may provide essentially complete printing capabilities. You can find a list of supported printers at the SpliX website: http://splix.ap2c.org/. Some people have had excellent success with this driver. I have not had as much luck, in part because of bugs in ghostscript, which SpliX uses to print. In addition, SpliX seems to be more reliable and provide auto-detection when connected by USB; network connections may not work as well. IIb. Use Foomatic Foomatic has default support for most of the ML- and CLP- printers, as well as a few of the CLX- and other models. As of the time I'm writing this, foomatic apparently does not support any of the SCX- models. In addition, there is the related foo2qpdl driver that supposedly greatly improves performance with certain CLP- and related printers (see http://foo2qpdl.rkkda.com/); however, use this as your own risk, as I have never tried it and it is not officially supported by Debian or Ubuntu. For reasons that have nothing to do with my printer, I have never really cared for foomatic, and so haven't personally tried this approach. However, default foomatic (not requiring the foo2qpdl driver) should work for many users. Only certain multifunction printers will have scanning enabled using this approach. However, if your printer works this way and scanning doesn't, approach IId should get the scanning working as well. This is what your computer is usually doing when your system automatically recognizes and configures your USB printer on an Ubuntu system. In some cases, the printer driver that is automatically selected by Foomatic/CUPS may not work, and you may still want to try manually configuring the printer with a different CUPS or Foomatic driver using the standard interface(s). IIc. Use the Samsung Unified Linux Driver repository I strongly recommend this approach instead of the IIe approach below. If you do need the proprietary Samsung drivers, this method allows you to control the installation and avoid many of the problems outlined in later sections. I have created several .debs for the Samsung Unified Linux Driver. These packages allow you to control whether you want just the driver or the whole Configurator, whether or not to override the system lpr and whether to install parallel port support (more on the latter two issues below), and activating scanning support. For full information, go the repository: http://www-personal.umich.edu/~tjwatt/suldr/. The short version (meaning that if you run into problems, check the website before posting for assistance) to getting it up and running is: 1. Add the following line to your /etc/apt/sources.list, by editing the file as root (or using sudo), or by using Synaptic or other GUI to add a repository. Code:
deb http://www-personal.umich.edu/~tjwatt/suldr/ debian extra Code:
wget -O - http://www-personal.umich.edu/~tjwatt/suldr/suldr.gpg | sudo apt-key add - Code:
apt-key add suldr.gpg 3. Refresh your repository listings (apt-get update or in a GUI), and then you should see the samsungmfp-* packages corresponding to the Samsung Unified Linux Driver. Very important: you must have completely removed all prior installations of the Unified Linux Driver before using the .debs; see Section IV. Just installing the samsungmfp-driver and samsungmfp-data packages should enable full printing support; for scanning as well, install the samsungmfp-scanner package. (The driver package contains all the binary bits, the data package has all the ppd files so CUPS can figure out how to talk to the printers.) The Configurator and other packages are really only necessary in a subset of cases, or if you happen to like the Configurator interface. Also note that this is the only way you will get the more visually appealing Qt4 Configurator installed without manually copying files. Once you have a working driver, you are probably best off leaving well enough alone. I will periodically update the driver files in the repository, so to avoid updating to a newer (potentially buggy) version, you should consider disabling the repository by commenting it out of your /etc/sources.list or disabling it in Synaptic or other GUI. The repository does not include localized files, such as might (?) be available by downloading from country-specific Samsung sites. Multiple versions (currently v3.00.65 and v3.00.37) of files are available in the repository; you can install either one, with the older version being associated with the "samsungmfp-legacy-" packages and the newer version with the "samsungmfp-" packages. Using a scanner: if you are trying to use your printer as a scanner, you will need to add yourself to the "lp" group after installing the appropriate packages. You will then to log out and back in for the change to take effect. If you still have trouble scanning, see the repository website before posting for help; many common questions are addressed there. IId. Mixed repository and default drivers If you have a multifunction printer that works fine as a printer using default drivers (via approach IIa or IIb), but would like scanning functions, this approach may work. Set up the repository as described in IIc, and install the samsungmfp-scanner package. This package will also bring in all the necessary driver files. At this point, you can either reconfigure your printer to use the Samsung Unified Linux Driver (by adding a new printer using the Samsung ppd files via the CUPS printer adminstration tool), or leave the printer component as-is and only make use of the Samsung driver for scanning. The scanner package should enable scanning such that programs (such as xsane) will recognize the scanner of a multifunction printer connected by USB. IIe. Download the Samsung Unified Linux Driver from Samsung and install This approach seems to work fine for many people. Provided that Samsung has the driver prepared for your printer, this is also probably the simplest approach to activate all the functions of your printer, particularly multifunction printers. However, you should be aware of the following before taking this approach: 1. The uninstaller will not completely remove everything that was installed. 2. The uninstaller may fail completely, meaning you would need to manually remove all installed components. 3. The installer will replace the default CUPS /usr/bin/lpr with the Samsung custom lpr interface, in a non-stable way (i.e., it overwrite the file from the cups-bsd or cupsys-bsd package). The Samsung lpr is graphical only, meaning it will effectively break lpr for terminal or server applications. In addition, the Samsung lpr will require additional actions on your part each time a program uses lpr to print (for example, Adobe Reader does this). The override is not stable; when the cups-bsd or cupsys-bsd package is updated, the Samsung lpr function may be lost. Worse, when you uninstall the Samsung driver, you may end up with no lpr or a partially broken CUPS system. (All of that said, there are times the Samsung lpr may be useful, as it does provide a lot of additional print controls.) 4. The installer will always add parallel support (choosing not to install it only partially disables it, all components are still installed). There are two problems with this. First, the /etc/modprobe.conf file that is written may interfere with other modprobe.d functions, and so potentially break interactions with other hardware in your computer. Second, the activation of parallel support in computers without a parallel port may cause unexpected consequences, including breaking interactions with unrelated hardware. 5. The installer leaves some files with inappropriate permissions. For example, several library files are left executable and world-writable. This is unlikely to be a problem, but could be a security risk. 6. Samsung has recently decreased the number of printers that they provide an official driver for, even though they do in fact still support them (for example, the CLP-550N no longer provides a Linux driver for download at the Samsung USA site, even though it had for years prior to that point and the new drivers still work). In addition, many different versions of the Linux driver are present on their site, and exactly which version you get depends on which printer model you search for. The remainder of the guide here will focus on this approach, even though I do not actually recommend it. Additional information can be found in my repository page (http://www-personal.umich.edu/~tjwatt/suldr/). III. Installing the Samsung Unified Linux Driver directly Very important: this procedure is specific for the v3 drivers; do not use these instructions for the v2 drivers (see the introduction to this post). If your model printer only shows up with a download link for the v2.00.97 driver, just find a different model and download the file from there (e.g., the CLP-300/310 printers). Doing so will ensure that the default printer installed is wrong, but that usually happens anyway, and the newer driver seems to work fine with all printers. In the following instructions, I will assume that you are a regular user using "sudo" to execute root commands. If you are instead logged in as the root user (e.g., via su or sudo -i), then simply leave off the "sudo" from each command where it appears. 1. Download the driver from Samsung's website and save it to a folder that does not contain any spaces in the path. For this example I will use ~, but ~/Desktop or similar will also work. 2. Unpack the file, which will create a folder cdroot. 3. In a terminal, navigate to the cdroot folder and then Code:
find . -type d -exec chmod 755 {} \;
4. Then, still in cdroot, execute: Code:
sudo ./autorun Code:
sudo Linux/install.sh 5. The installer will ask if you want to install parallel support; choose no unless you actually need it. 6. The installer will ask if you wish to add users to the "lp" group; select users who should be added only if you have a multifunction printer you plan to use for scanning. 7. The installer should be automated from that point, up to and including installing a default printer. Note that this default choice is set rather haphazardly, so should be uninstalled if it does not correspond to your printer. Even if this choice does correspond to your printer, it may still need to be removed and a new printer added unless your printer was connected via USB and turned on during the installation. 8. You can add/remove/confirm/test the printer added either using the default approach for your desktop (e.g., for Gnome: System menu -> Administration -> Printing), or through the Samsung Unified Linux Driver Configurator that should now be present in your programs menu and on your desktop. Either approach is pretty straightforward. Note that for network printers, IPP may or may not work; LPD is usually reliable; and AppSocket/JetDirect/RAW sometimes works but can be erratic. Note that the Configurator requires an actual root account to work correctly when adding a printer, so will usually fail if you make use of "sudo" instead. You can work around this by running the Configurator from a terminal instead of the menu: Code:
sudo /opt/Samsung/mfp/bin/Configurator Code:
sudo cp -r ~/cdroot/Linux/<arch>/qt4apps/at_opt/* /opt/Samsung/mfp/ 10. If you do not have a multifunction printer but do have a separate scanner, and encounter sudden difficulties using it after installing the driver, then (as root) edit /etc/sane.d/dll.conf and comment out the line that says "smfp" (probably the last line). 11. If you do not have your printer connected via parallel port, then you should: Code:
sudo rm /etc/modprobe.conf Code:
sudo mv /etc/modprobe.conf /etc/modprobe.d/samsung_mfp_parallel.conf Code:
rm -r ~/.gnome-desktop Code:
chown -r user.user ~/.gnome-desktop IV. Uninstallation of the Driver If you wish to uninstall, then: Code:
sudo /opt/Samsung/mfp/uninstall/uninstall.sh Code:
sudo rm /usr/lib/libtiff.so.3* rm ~/.sshvfavs rm ~/.sshvrc Code:
sudo rm /usr/lib/libstdc++.so.5* Code:
sudo rm /usr/lib/libqt-mt.so* sudo rm /usr/lib/libqui.so* If uninstall failed (you did not get a graphical window), then you should execute the following: Code:
sudo rm -r /opt/Samsung/mfp/ sudo rm /usr/sbin/smfpd sudo rm /usr/bin/lpr.orig sudo rm /usr/bin/lpr sudo rm -r /usr/share/cups/model/samsung sudo rm /usr/lib/libmfp.so* sudo rm /usr/lib/cups/backend/mfp sudo rm /usr/lib/cups/filter/libscmss*.so sudo rm /usr/lib/cups/filter/rastertosamsung* sudo rm /usr/lib/cups/filter/pscms sudo rm /usr/lib/cups/filter/smfpautoconf [only v3.00.43 and newer] sudo rm /usr/lib/sane/libsane-smfp.so* sudo rm /etc/sane.d/smfp.conf sudo rm /etc/mfpcommon.modules.conf sudo rm /etc/init.d/smfpd sudo rm /etc/rc0.d/K07smfpd sudo rm /etc/rc1.d/K07smfpd sudo rm /etc/rc6.d/K07smfpd sudo rm /etc/udev/rules.d/9?_smfpautoconf.rules [only v3.00.43 and newer] Code:
find /usr -type f -name Samsung\*.desktop find /usr -type f -name Samsung\*.directory find /usr -type f -name Samsung\*.menu find /etc -type f -name Samsung\*.desktop find /etc -type f -name Samsung\*.directory find /etc -type f -name Samsung\*.menu If you are trying to remove the v2 drivers, follow the same steps. The only additions will be: Code:
sudo rm /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so sudo rm /usr/lib/libstdc++-libc6.2-2.so.3 V. The Samsung Smart Panel and Printer Utilities Samsung also provides additional utilities for certain printers. Since they are printer specific (unlike the Unified Driver, downloading the Smart Panel for a different printer model than your own will often not work), and not available for the CLP-550N, I have never tested these. These utilities pose a security risk to your system. See the repository main page for details on these, and why you should consider the implications of installing them. The page also explains why I will not be producing .debs for these programs, so please do not ask me to. VI. Closing tips and notes 1. Although this seems to be somewhat less of a problem than it used to be, the Samsung driver may cause weird artifacts when printing text (i.e., poor quality) and occasionally graphics. In this case, you should look into the foomatic approach (part IIb above) or try installing your printer as a related model (this is a bit hit-or-miss). This seems to primarily occur with some CLP- and CLX- printers. 2. In some cases, other printing issues (such as failure to print large graphics) can also be resolved by using a related model. For example, my CLP-550N sometimes freezes when I print files >3-5 MB. To work around this, I have installed a second printer (still pointing to the same physical printer) as the CLP-500N model, which then handles large files fine (albeit with somewhat poorer color quality). This is very trial and error. 3. It appears that in some cases, multifunction printers that printer but are having trouble scanning may work if the USB 2.0 kernel module is temporarily removed. Code:
sudo modprobe -r ehci_hcd <perform what scanning you need to do, using xsane, the Configurator, or some other program> sudo modprobe ehci_hcd 4. In some cases, what appears to be a properly installed printer will still fail to print (sometimes, but not always, when the printer is automatically installed by either foomatic or the Samsung utilities). In that case, use the Configurator or a standard CUPS tool to check the printer properties, ensuring that the correct driver is actually associated with the printer, that the printer is "enabled", and that the printer is "accepting jobs" (the specific method for doing these varies a bit, but the names should apply). If all else fails, simply delete the printer and add it as a new printer again, which will force a reset of all those settings. 5. I had been maintaining a list of working printers, but as the list was primarily for printers with the older drivers, it is no longer as relevant as it to be and I have ceased tracking successes. However, please do feel free to post when you have a working setup, particularly if there was some difficulty in getting it to work. 6. This thread is also the support thread for the .debs I provide, effective 16 May 2009. 7. The first 200 or so responses to this post are probably not relevant to most users anymore, as they address the v2 Unified Linux Drivers. 8. Additional information for specific printers may also be available at http://www.linuxprinting.org. Last edited by tweedledee; 4 Weeks Ago at 09:02 AM.. Reason: Noted split of two versions into regular and legacy packages |
|
|
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|