Thursday, February 25, 2010

Installing Samsung Wifi Printer (CLP-315W) on OpenSUSE

Preamble
After getting up my Brother MFC all set-up I've found that the ink cartiges were empty despite a complete lack of use. Apparently the printer automatically flushes ink every so often to keep the print-heads from clogging. The idea of having to buy new ink 2ce a year when I hardly print really bothered me, so I decided it's time to make the move to laser.

As the rest of the Multifunction Brother is still in working order, I had trouble justifying the purchase of a brand new one with laser, the extra cost was the nail in the coffin. Further, as I checked prices, multi-function units with color were extremly expensive, so it only made sense that if I could find a network-able color laser printer for a reasonable price, I'd probably go with it.  With wireless networking and a $130 price tag, the Samsung CLP-315W was impossible not to bring home, despite my grudge against Samsung for it's poor (inexistent) linux support on it's multifunction printers.


Installation
Setting up the printer:
Setting up the printer was relatively easy, it only required removal of some packing tape, and plugging in the power cord and an ethernet cable into my router; the toner cartridges were already installed.
Activating wireless:
This was also simpler than I expected.  I have a hidden network and was worried that the printer might have trouble connecting to it.  After connecting your pinter via ethernet to your router (assuming your router automatically assigns IPs)
  1. Find the printers IP via your routers interface page
  2. Enter the IP into the address bar of your web browser
  3. Click on the Network Settings tab and then the Wireless sub-tab
  4. Enter your SSID and any access credentials.
  5. Unlplug the ethernet cable
Installing the driver:
Forget about finding a RPM binary, the tar.gz-ed 'unified driver' download was also a breeze.   Assuming you are using KDE:
  1. Navigate to the download folder and right click on the download.  
  2. Choose "'Extract here, auto detect subfolder"
  3. Click on the newly made "cdroot" folder
  4. Open a terminal in this directory by pressing the F4 key
  5. Execute the autorun shell script as root:
> sudo sh autorun
Answer the install scripts questions (press enter twice to accept defaults).  Use the closest numbered print driver: CLP-310splc

Adding the printer:
  1. Lanch Yast (pres F2, type: yast).  
  2. Click on the Hardware Icon then Printer.  
  3. In the new window click the "Add" button.
  4. In the new window click "Connection Wizard" button.
  5. Under "Access Network Printer or Print Server via:" choose TCP port.
  6. Enter your printers IP adress and brand, choose "test connection"
  7. Click "Ok"
  8. Under Assign Driver choose the CLP-310 driver and click "Ok"
  9. Print a test Page
Calibrating the printer:

There may be a better (more uniform) way to do this described here (I haven't tried)

 Print the image above and verify
  • the magenta, yellow, and cyan colors don't look washed out in the top of the image.
    • if not you need to increase the amount of the washed out color
  • the lightest levels of magenta, yellow, and cyan all appear to be equally filled.
    • if not you should increase or decrease the color value in each channel as needed
  • that you can see all of the black gradients.
    • if not you should increase or decrease black as needed.

Changing color values:

  1. Enter the IP address of your printer into the address bar of your web browser.
  2. Click on "Machine Status"
  3. Click on "Color"
  4. Increase/Decrease the color of interest as needed.

Update
My router died and thus all network devices, including my printer were given new IPs (they weren't force-ably assigned in a logical manner before, and the new router doesn't seem to have the feature to set an IP based on MAC.

Stealing (forcing) an IP
As before you are going to have to either guess your printer's new IP or find it in your routers clients table if your address was previously being assigned by DHCP. Once you know this you can then force the IP of the printer to be what ever you want:  

  1. Enter the IP address of your printer into the address bar of your web browser.
  2. Click on the "Network Settings" tab
  3. Click on "TCP/IP" in the left side bar
  4. Increase/Decrease the color of interest as needed.
Pointing your computer to the new IP
Just follow the instructions under "adding the printer" above but delete the old printer before adding the new one.   Reboot before trying to send a test page (to properly reset the samsung utility).

      Friday, February 12, 2010

      Networked Brother Devices Including Multifunction Printer, Copier, Scanner, Fax

      I have OpenSUSE boxes at home and work as well as networked Brother printers in both environments.  Therefore I thought it would be useful to document the install process.

      Installing the printer drivers
      1. Download both the lpr and cupswrapper drivers for each  Brother printer.
      2. Change to root:
        • sudo su
       Install the lpr driver first
      1. Install the lpr rpms: rpm  -ihv  --nodeps  (lpr-drivername)
        •  for MFC-7840W
          • rpm  -ihv  --nodeps brmfc7840wlpr-2.0.2-1.i386.rpm
        •  for HL-4040CN
          •  rpm  -ihv  --nodeps hl4040cnlpr-1.0.3-1.i386.rpm
      2. Check to see if it's installed: rpm  -qa  |  grep  -e  (lpr-drivername) 
        • for MFC-7840W (or any MFC printer)
          •  rpm  -qa  |  grep  -e brmfc
        • for HL-4040CN
          •  rpm  -qa  |  grep  -e hl4040
      3. Open your printcap file for editing (for non-network installs see here)
        •  nano /etc/printcap
      4. For each printer replace ":lp" line to the following 2 lines ( when done):

      :rm=(ip address of your printer)\ :rp=lp\
      Installing the cups driver
      1. Set a root password for printing
        • lppasswd -g sys -a root
      2. Create a symlink from cups to lpd
        • ln -s /etc/init.d/cups /etc/init.d/lpd
      3.  Install the cups rpms:  rpm  -ihv  --nodeps  (cupswrapper-drivername)
        •  for MFC-7840W
          •  rpm  -ihv  --nodeps cupswrapperMFC7840W-2.0.2-1.i386.rpm
        •  for HL-4040CN
          •  rpm  -ihv  --nodeps hl4040cncupswrapper-1.0.3-1.i386.rpm
      4.  Verify both lpr and cupswrapper drivers are installed: rpm  -qa  |  grep  -e  (lpr-drivername)  -e  (cupswrapper-drivername)
        • for MFC-7840W (or any MFC printer)
          •  rpm  -qa  |  grep  -e brmfc -e cupsw
        • for HL-4040CN
          •  rpm  -qa  |  grep  -e hl4040
      Configure your cups printer
       (if not a network printer see here)
      1. Open a web-browser and enter: http://localhost:631/printers
      2. Click "Modify Printer" and set:


        • Device 
          • "LPD/LPR Host or Printer" or "AppSocket/HP JetDirect"
        • Device URI
          • lpd://(Your printer's IP address)/binary_p
        • Make/Manufacturer Selection
          • Brother
        • Model/Driver Selection 
          • Your printer's name


      Installing the scanner drivers
      1. Download the appropriate scanner driver
      2. Double click on the driver and install via your graphical install program
      3. For the MFC-7840W open the Brsane2.ini file for editing 
        • nano /usr/local/Brother/sane/Brsane2.ini
      4. Add the following line at the end of [Support Model] section:



        0x01eb,6,1,"MFC-7320",131,4
        0x01e7,6,1,"MFC-7340",131,4
        0x01e6,6,1,"MFC-7440N",131,4
        0x01ee,6,1,"MFC-7450",131,4
        0x01ed,6,1,"MFC-7840N",131,4
        0x01e5,6,1,"MFC-7840W",131,4
        0x01ea,6,1,"DCP-7030",131,4
        0x01e9,6,1,"DCP-7040",131,4
        0x01e8,6,1,"DCP-7045N",131,4
      5. exit nano (don't forget to save):  
      6. Set your network scanner: brsaneconfig2  -a  name=(name  your  device)  model=(model  name)  ip=xx.xx.xx.xx
        • For the  MFC-7840W (change x's to actual IP)
          • brsaneconfig2 -a name=7840Scanner model=MFC-7840W ip=xx.xx.xx.xx
        • For the  MFC-420CN (change x's to actual IP)
          • brsaneconfig2 -a name=mfc420cnScanner model=MFC-420CN ip=xx.xx.xx.xx
      NoteUse brsaneconfig (for brscan models), brsaneconfig2 (for brscan2 models) or brsaneconfig3 (for brscan3 models) accordingly
      Note: The default install instructions here don't work. I somehow luckily stumbled across the proper install directions For users of MFC-7320, MFC-7340, MFC-7440N, MFC-7450, MFC-7840N, MFC-7840W, DCP-7030, DCP-7040, DCP-7045N here.

      Installing the Fax drivers
      1. Download the appropriate fax drivers
      2. Double click on the lpr rpm to install via your grapical package manager
      3. Double click on the cupswrapperfax rpm to install via your graphical package manager.
      4. Open a web-browser and enter: http://localhost:631/printers
      5. Click "Modify Printer" and set (for other connection options see here):



        • Device 
          • "LPD/LPR Host or Printer" or "AppSocket/HP JetDirect"



        • Device URI
          • lpd://(Your printer's IP address)/binary_p



        • Make/Manufacturer Selection
          • Brother



        • Model/Driver Selection 
          • Brother BRMFCFAX for CUPS(en)
         
      6. Open the file you want to send
        • Choose "Print" from the file menu
          • Choose the "print to file" option 
          • Save as "postscript"
      7. Send the file
        • open a terminal and navigate to the directory your file is in
          • type: brpcfax  -o  fax-number=(fax-number)  (filename)
          • or just type:  brpcfax  -o (filename).ps
            • enter the phone number in the pop-up program
      NOTE: The CUPS printer is not used to send faxes directly.  If command-line isn't for you try:

      1. Open Konquerer
      2. Go to Settings, Configure konquerer
      3. Click file associations
      4. Type “ps” in the search box and select “Application”-- “Postscript” from the list
      5. Click “Add” and type “brpcfax” and click OK
      6. Select the new “brpcfax option and click 'Edit”
      7. Select the Application tab
      8. In Command line enter: brpcfax -P BRFAX -o PAPER=A4
      9. For the Name enter Send As Fax
      10. Click on the blank Icon, System Icons, select printmgr (looks like a fax)
      11. Click OK and save
      12. Right click the (filename).ps file and select “Open with”  
        • click “Send As Fax”, the dialup screen gui should come up
        • enter fax number 
        • click Send.