Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Samsung SCX 4200

Help
2007-12-20
2013-05-28
  • Hi,
    are there any chances that I could use this driver for the Samsung SCX 4200? It is a multifunction-printer with scanner and I would like to get rid of the proprietary driver :)

    Regards
    Henning

     
    • Arnold Theodor
      Arnold Theodor
      2008-07-01

      Hello everybody,

      I found out that the Samsung SCX-4200 works when compression is turned off (i.e Splix compiled without JBIG).

      Tested with ml2010.ppd.

      So it seems that the SCX-4200 is designed to use a compression method which is not yet supported by Splix. And it works without compression.

      For anyone interested: here is Cups' test page converted to printer data by the original driver from Samsung:
      http://ats.dyn.bawue.de/arny/scx4200_mfp.dump

      Hey, it would be nice to have a setting for the compression method in the ppd file, and to support compression method "None".

      Cheers,
      Arnold

       
    • See if this works for you.

      Doc:
      http://www.fileshost.com/en/file/52299/TechNoteAlgo0x0D-v1-5-Beta-pdf.html

      Experimental driver for wc3119 and scx-4200:
      http://www.fileshost.com/en/file/52300/splix2rc2-experimental-algo0x0D-03072008-tar-gz.html

      Leonardo
      Belém-Pará, Brazil - July 3, 2008 - 10:23A.M.

       
    • Arnold Theodor
      Arnold Theodor
      2008-07-03

      Hi Leonardo,

      your additions work perfectly here (at least for Cups' test page). Page looks same as one printed with Samsung's filter.

      I permanently switch the filter to splix2rc2+experimental_algo0x0D.

      In case someone complains I will report (not that we really print very much here at home).

      Quite impressed from you reengineering folks,
      Arnold

       
    • Ryan Hayle
      Ryan Hayle
      2008-10-12

      I would love to use this driver with my SCX-4100.  I will try to compile it without JBIG support and see what happens.  The file Leonardo posted is no longer on fileshost.com, any chance of seeing those changes again?  Are they in SVN?  I know I'm asking for the world, I'm just happy there is an open source effort that might get my printer working!

      Cheers,
      Ryan

       
    • Aurélien Croc
      Aurélien Croc
      2009-04-05

      The driver for SCX-4200 is available with the splix release 2.0.0 :)
      Regards,

      Aurélien

       
  • tim
    tim
    2009-11-08

    Hi Aurélien,

    <p>thanks very much for the driver. It works perfectly for SCX4200 (Debian lenny). </p>
    <p> Currently i'm trying to use this driver in embedded linux (small semester project :). I tested the "rastertoqpdl" with foomatic-rip in a PC, (without spooler),and it works great. I can get the QPDL content and save into file. since the size of foomatic is too big for embedded system and It invokes ghostscript externally which means more space.  i was hoping to use the "pstoqpdl" and "rastertoqpdl" directly. so that my application which generates "ps" or "raster" output can be piped to those two programs. </p>
    the process i prefer is "document->raster->qpdl->i/o backend". but i'm stuck in rastertoqpdl. i don't what kind of "raster" input is acceptable for "rastertoqpdl". i tried to use gs to convert a "ps" file to "raster", however, after pipe thru "rastertoqpdl", the qpdl output sent for printing gets error (on printed paper)

    > <p>INTERNAL ERROR - FALSE</p>
    > <p>POSITION: 0x140 (320)</p>
    > <p>SYSTEM   : H6FW/xl_tbl</p>
    > <p>LINE          : 407</p>
    > <p>VERSION : QPDL 1.40 11-14-2005</p>

    (All above processes are still tested in PC environment)

     
  • "raster" stands for cups-raster format, I guess. Check for yourself in the cups raster api docs, perhaps this helps you?

    Leonardo

     
  • tim
    tim
    2009-11-09

    Hi Leonardo,

    Thx very much for pointing that out. Yes i think you are right. the "raster" is "cups-raster". i'm not familiar with graphics. was totally confused :p. (it might be a tough topic in IT field.)

    So Here is what i tried again. by "gs -h | grep cups", there is one output device "cups" specific for cups-raster, i believe. so I manually invoke `gs -sDEVICE=cups -sOutputFile=example.raster example.ps`
    in hopes of getting a "cups-raster" file. (Am i right here?). next
    `export PPD=/path/to/scx4200.ppd  #setting up the PPD environment variable`
    `/usr/lib/cups/filters/rastertoqpdl 5000 tim title 1 "" example.raster > /dev/usb/lp0` and I get the error: "SpliX Compression algorithm 0x0 does not exist". I dont know why the _compression is not set for Page class. So I modify the "**compress.cpp**", and force it to use 0x11 algorithm

    > switch (page->compression()) {
    > …
    >
    > default:
    >
    >  page->setCompression(0x11);
    >
    > return _compressBandedPage(request, page);
    >
    >….

    after I recompile the program and rerun, the result is same as previous error (last msg). What could be the mistakes i made during this process?

    Best Regards,

    Tim

     
  • I've never attempted to do the way you're trying to.

    Some observations:

      gs must generate the raster with proper resolution, say 300dpi and with valid page dimension and maybe with other parameters?

      
    Monochromatic laser in splix filter accepts
       1-bit raster data, look at the
       specific ppd section.

        *Resolution 300dpi/300 DPI: "<</HWResolution/cupsBitsPerColor 1/cupsRowCount 0/cupsRowFeed 0/cupsRowStep 0/cupsColorSpace 3>>setpagedevice"

      

    scx-4200 accept compression 0xD or 0xE, up to where I'm aware of, 0x11 won't work (print).

    Eventually, you will figure out things.

    Leonardo

     
  • tim
    tim
    2009-11-09

    ye. I tried to grep the output thru "foomatic-rip". The used compression algorithm is 0xd. and as mentioned in "compress.cpp" comment:

    > if algorithm 0xd did not create a plane, it means that the complementary algorithm 0xE need to be used

    and the DEBUG msg indicates the type=0xe. (one problem cleared.)

    I read some parts of the foomatic source code. It indeed does more than simply create a pipe "pstoraster | rastertoqpdl". A lot of parameters has to be sent if manually invokes gs. headache… but it's getting more fun :D

    thanks very much for you concern, Leonardo.  I'll try to read more about this.

    best regards,

    tim