How to install a Samsung ML-2525W printer on a Debian Squeeze – 64 bit system.
There's the good, the bad and the down right ugly!
So we'll start with the ugly and get the rant over with.
Samsung are pleased to embed a Linux system into their printer, but in my view, pay not much more than lip service, to helping Linux users to install the required drivers. More will be revealed.
The hard copy quick install guide says this;
“If you want to use this machine via a network, Refer to the User's Guide included on the Printer Software CD-ROM supplied with the machine.”
So far, so good. However, the CD won't run in either of two drives on my Debian machine!! I tried it on my Linux Mint laptop, and although it did run, there was no way (as far as I could see) of accessing the User Guide! There's a nice menu if you run it on Windows, but if you use Linux - tough!
Furthermore, if you can find a way to access to the CD User Guide, it says this;
“After you have set up your machine and connected it to your computer, you must install the printer software. If you are a Windows, Macintosh or Unix OS user, install the software from the supplied CD and if you are a Linux OS user, download the software from the Samsung website (www.samsung.com/printer) and install.”
Why are we regarded as second rate citizens? Why oh why can't the Linux drivers and software be included on the CD too? Where are the instructions for installing the drivers? Why wont the CD run on a Linux machine?
Frankly, the construction of the CD is rubbish and aimed (as always) at automatic installation for Windows users. Everybody else can go and....
So, that said, lets get to what this contribution is all about – installing this printer on a Debian machine, hard wired to the network.
Note about wireless: The principals remain the same. Don't get confused as soon as wireless is mentioned. The setting up of a network remains constant, whether the transfer medium is wired or wireless. You will however have to connect physically to the printer via USB in order to set the printer up. Once set up, you can disconnect the hard link and use the wireless functionality. A USB cable is supplied with the printer for the purpose.
Next note: For reasons that will become apparent later on, it would be good to give the printer a fixed address. It is not essential, as the printer will still operate, but accessing it's set up pages will be easier.
Although not part of this tutorial, I simply mapped the printers MAC address to a reserved address in my router – problem solved! It now always has the same address.
The good - how to do it!
The (I hope) obvious is to unpack the printer, remove all the sticky tape and toner tape protector and put some paper in the tray. Make sure you adjust the paper guides properly if necessary.
Connect the power lead and a RJ45 cable between the printer and your network switch or router. I'm assuming here, your router is operating as a DHCP server, and dynamically supplying IP addresses to your devices (see note above).
Now turn it on and print a test page by pressing the “Cancel” button for about two seconds. You should get a test page pop out of the printer at this point, which proves the printer is functioning properly.
On with the set up.
Next, go to the Samsung site and download the Unified Driver which at the time of writing was available here: http://www.samsung.com/us/support/downloads/ML-2525W/XAA
You will see it as UnifiedLinuxDriver_x.x.tar.gz (where x.x = version number)l
For the moment, only download that one file. I'll explain why later – see WARNING at the end of the installation part of this tutorial.
Make a suitable folder to extract the tar.gz to. I made a folder ml-2525w, but you can call it what you like as long as you know where it is.
Double-click on the file and extract it to the folder you just created.
Now, there are some issues in installing these drivers, so first off, for those of you in a rush to get your printer up and running, I'll give you a quick and dirty way of doing it that works. If you prefer to follow the Samsung way, skip to The Samsung Way further down the tutorial.
Open a terminal as root (Applications > Accessories > Root Terminal).
and when asked, enter your password and hit OK.
You will arrive here:
Navigate to the previous mentioned folder by the cd (change directory) command – if you've followed me so far it would be:
and hit Enter, you should end up at a prompt similar to this:
root@[computer name]:/home/[your name]/Desktop/ml-2525w#
if you now type
and hit Enter, you will see;
root@[computer name]:/home/[your name]/Desktop/ml-2525w#
This is the starting point for the installation of the drivers, so your next command is as follows:
and hit Enter.
Be warned, you may get some error warnings when running this command, depending on which libraries you already have installed. But the scripts seem to cope quite well with those and it seems to make little difference to the end result.
From here on in, you'll be delighted to know, that's the end of the command line actions you need to take.
The script will start a Graphical User Interface (GUI) to take you through the rest of the install, starting with this;
Although it's a bit Windows 3.11 in appearance, it works well enough, so be thankful for small mercies!
Click on Next.
Needless to say, you'll have to accept the license agreement (does one have any choice?), so go ahead accept and click Next. (if anyone can be bothered to read it, please let us know in the comments below!!!).
Now you get a screen that determines who may access USB devices within this application. Generally for home use, you'll be happy for everyone to be selected, but for business use, you may want to be a little more selective. If you want even more control, by selecting the “Show system users” radio button, you will arrive here.
It wont affect the vast majority of users likely to use the printer, but is shown here in order to attempt to make the tutorial complete. Select as required or ignore and click Next.
Hardly anything uses LPT support any more, in fact, many modern computers no longer even have a parallel port, so if you're not using one, turn it off by clicking on the radio button so it appears indented.
As you can see, the installation proper has now started with the required files being loaded onto the system and the configuration taking place. After this screen has finished, click Next.
We're now at a screen that suggests it's going to load software and to a degree it does – but it's limited compared to the Windows offering. There is however, enough to get the job done and most of the Windows stuff, can be done in Linux by different means anyway. So it's not much of a miss! Click Next.
The first screen deals with finding the printer and for me at least, it worked flawlessly.
Just select the “Network printer” radio button and click Search, which should take you to something similar to this:
Click Next and you should see this;
Eureka! You now have a proper ml-2525w driver to install, so make sure it's high-lighted and click Next.
You can use this screen or not. It's probably of more importance in a large business environment, but remember, this is a “Unified” driver that is used for many different printers and could be used with a much larger commercial type machine. Fill it in to taste and click Next.
Yeessss! You've done it! It just remains to test the printer works properly from the computer.
If you click the Options... button, you will see this. Not necessary for the installation, but I've mentioned it to try and make this tutorial as complete as is possible.
If you select any of the lines in "green", you will be able to reconfigure that parameter in the lower part of the window in the screen-shot. If you make any adjustments, click OK to save your changes.
Clicking on OK or Cancel if you don't want to make changes will close that page and you can click Test printer to start the print page test.
The default radio buttons, Check printer and Print test page should already be selected and if you don't want a specific page printed, leave the Default test page selected.
Now click Start.
This is where I think Samsung have made this procedure far too protracted as you now have to click OK again to start the test page actually printing. However, the current page has actually checked the printer is ready and in all fairness, you do get a decent amount of information on how the system has set itself up.
Next you will be asked if you want to register. It's your choice – I chose not to, as my experience tells me, I'll get constant mail shots about the latest and greatest products that I have no use for. But the choice is yours.
The software will place an icon on your Desktop by which you can access the Unified Configurator.
You should also find a menu entry under Applications > Samsung Unified Driver along with a Help file for the configurator and an Uninstall option.
That completes the actual installation of the drivers and getting the printer working. All this printer needs on a hard wired network, is power and a network cable. That's it! The embedded Linux operating system will do the rest.
As this printer works in a mixed Linux and Windows environment, I'm in a position to tell you, installing the drivers in Windows is as easy as it gets, hence my frustration that Samsung have not made any real effort to make it easy in Linux. Not even any clear instructions – disgusting!
At least they have supplied drivers, which is a move in the right direction.
That completes the quick and dirty way. I'm now going to describe the Samsung way and offer an explanation as to why you only need to install the drivers in Linux.
The Samsung Way!
WARNING. At the start of this tutorial, I suggested you only download the Unified drivers. There was a reason for that. I tried to install Smart Panel alongside the drivers and while I succeeded, there are some quirks which make (in my opinion) Smart Panel a bit of a waste of time.
As far as the Printer setting Utility is concerned, while it installed with no problems, it doesn't seem to do anything useful.
If you want to install these, download the zipped files from the same source at Samsung.
Unzip them into a folder of your choice. My complete set looked like this:
Now, this is where it gets a little tricky! Smart Panel in particular, will only install satisfactorily by installing from a Gnome environment as root. The standard Debian installation does not allow that, so first, we need to make it possible to log into Gnome as root.
Note: In the following, I'm using vim to edit the files necessary to make this work. Vim is a powerful tool and it simply isn't possible to teach you here how to use it. So either find a tutorial with the basic commands (that's all you need), or use your favourite editor to achieve the same result. Whatever you do, you must be root.
Open a root terminal as described above.
Navigate to /etc/gdm3 – the command from your root prompt is as follows:
root@[computer name]:/home/root#cd /etc/gdm3
and hit Enter.
if you now use the command:
and hit Enter.
You will now be able to edit the file with vim.
Look at the section headed security – it looks like this [security] and the cursor can be seen in this screen-shot just below it. (I put it there on purpose).
Save the file and exit vim.
Now, change directory to pam.d, by using;
and edit gdm3 by using the command;
when you will see this;
Go to the 5th line down which says;
auth required pam_succeed_if.so user != root quiet_success
and comment it out using a hash (#) like so;
Save and exit vim.
The above actions, have set the system to allow you to log in as root. Once you've fully completed the installation procedure, there's nothing stopping you setting the computer back to it's more secure state, by reversing the above. In other words, remove “AllowRoot=true” and remove the “#”. In other words, once you're done, you can re-secure the computer and the drivers will still work properly.
Anyway, onwards and upwards.
So now log out and Gnome will reset to the new configuration.
When you arrive back at the log-in screen, if you click on “Other”, you will be able to type the user as root and then once you've hit Enter and filled in root's password, hit Enter again and you'll be logged in as root and be able to carry out Samsungs preferred method. This is important, because as already mentioned, Smart Panel will refuse to install without errors any other way. It seems it has to be in the Gnome environment with root permissions to make it work.
You'll be pleased to know, as long as you remain logged in as root, that's the last you will see of the command line!
Now navigate normally via the file manager and find where you left your unzipped files. If you haven't already installed the drivers, we'll do that first. If you've already installed them via my “quick and dirty” method, that's fine. There's no need to it again.
If you haven't, open up your folder and you will see;
Click on either, “Run” or “Run in Terminal” - it makes no difference, both will install the application. The advantage of “Run in Terminal”, is you can see what's going on. But it all happens very fast.
Now continue through the wizard pages as described above.
Smart Panel is installed in the same manner, but it's not an autorun file, it's an install.sh file. Here's where you can find it;
Double-click on install.sh and select either “Run” or “Run in Terminal”.
Follow the same method for the Printer Settings Utility which can be found here;
Exactly the same applies.
You should now have all three component parts installed and have a menu that looks similar to this;
The Smart Panel itself, (certainly in my installation) doesn't do a lot.
The "Buy Now" button is simply a link to take you to the Samsung site to find a supplier of toner.
The Users Guide (Ah!! at last we've found it), is a useful source of printer information. If only Samsung had made it more accessible for Linux users.
The Printer Settings, is also just a quick link to the printer inbuilt interface, which can be accessed just by typing the printer IP address in your favourite browser address (url) bar.
Now, the big issue with the Smart Panel is, sometimes it works, other times it doesn't. There is also no link appearing to Drivers, which appears in the Windows equivalent and is a useful source to set-up pages and so on. So unless the stability of this application improves in Debian, it's frankly disappointing and I've ended up un-installing it.
As far as the Printer Settings Utility is concerned, I really can't make out what (if anything) it does. So maybe it's just not installing correctly, but as such, it's no good to me.
At it stands at present, I have no further information on what the application does or how it integrates except to say this: Samsungs explanation is as follows.
“This program allows you to set up printer’s other options from your computer desktop.”
I've yet to find out how! I suspect it's the “Drivers” entry that appears on a Windows machine, but that's only a guess. There's no icon or even menu entry so if anyone knows more, please let us know in the comments.
The final offering from Samsung is SetIP. Samsung says:
“Use this program to set your machine’s TCP/IP addresses.”
You don't need a third party application to do that. Apart from the fact that almost certainly, your TCP/IP address will come from a DHCP server (as briefly touched on before), if you're into manual addressing, you will certainly know how to do it.
Other information to overcome Smart Panels shortcomings.
I now want to touch on some more features of this installation and some personal preferences that you may find useful. The first is access to this elusive Users Manual. There are two ways you can get at it.
If you have the option to run the CD in a Windows machine, let the CD start and then when you reach the installation screen, cancel the installation. Now in Windows Explorer, navigate to;
x:\MANUAL\Samsung ML-2525W series\
(where x is your CD drive letter)
and copy two directories to a USB stick;
(or whatever nationality you may want).
Now, on your Linux machine, create a folder and call it something relevant – I called mine .samsung_manual. The folder name begins with a full stop (or period as the Americans would say). This is because traditionally, I tend to hide files that are not going to be changed, but it's not necessary if you don't want to and it can be called anything you like.
Place in that file the two directories you copied from your Windows machine.
You have now created a Samsung Manual for your printer and you can access the contents straight away if you want to, by navigating to the “english” folder and right clicking on “start_here.htm” and selecting "Open with > Iceweasel" (Chrome wont work because of java issues that the manual uses)
But hopefully, I'm going to do a little better than that for you, by creating a menu link, that will open the manual on demand. So the next few paragraphs will show you how to do that..
To create a new menu item, go to: System > Preferences > Main Menu and click on it.
In the left hand panel, select Samsung Unified Driver and you will see in the right panel a list of the existing links.
In that right panel, select New Item
Name: Manual (or whatever you want to call it)
Command: /home/[your name]/.samsung_manual/ENGLISH/start_here.htm
You can see from these two screen shots how I got to that path;
Some notes about the command; it's the full path to your manual start_here page and is case sensitive. It happens my copied folders were UPPER CASE and not knowing how the java script was set up, I chose not to change it. You MUST keep the case sensitivity. If you don't, it won't work in Linux.
The above is only the path to the file and will not on its own open your file. In order to do that, we need to tell the command what to use to execute the command. In this case, it's Iceweasel. So on the front end of the path, we type the command to execute Iceweasel which is;
so the whole path should now look like this:
iceweasel %u /home/[your name]/.samsung_manual/ENGLISH/start_here.htm
Note: that's iceweasel (a space) %u (a space) and your full path without any spaces (unless you've created them in your file structure – bad idea).
Finally, we choose an icon that is more representative of what we have in the menu. So click on the existing icon to see some choices. You'll find loads of options under /usr/share/icons/ Just choose one that suits you.
Just to make sure all is well, navigate back to start_here.htm in your ENGLISH folder, right click it and under the "Open With >" tab, select Iceweasel Web Browser as the default application.
Now when you go back to your Samsung Unified Driver menu items, you will see your Manual listed.
Clicking on it, will launch the manual.
What if you haven't got a Windows a machine to access the files. Well, there's an answer to that too.
Within the aforementioned Smart panel files, resides the manual. So simply open up that set of files and you will find the manual here;
[your folder]/cdroot/MANUAL/Samsung ML_2525W Series/
Use those two folders and set it up as above.
I want to talk about just one more, but important aspect of this printer. That is you can access a browser based interface to see and if necessary alter the printers operation. This is known as the SyncThru Web Service ™.
It can be accessed by typing in the address of your printer, directly into your browser address (url) bar. So if your printer address were for example, 192.168.0.10 that is what you would put into your browser to access this very good interface.
You can also choose to use exactly the same method as described above for the manual, to insert a menu item to trigger this page as I've done.
If we use 192.168.0.10 as an example, but please substitute your own printer address, the command path becomes;
iceweasel %u 192.168.0.10
It should be noted, that as these pages are served directly from the printer, if the printer is switched off, they will not be available.
I hope this contribution helps some of you to install this printer in Debian Linux. The printing quality is great. Shame about the lack of information.
Happy printing everyone.