You're viewing a single post. I have much more to say! The main blog page is a good starting point.

Getting my Samsung ML-2010 printer to work

Recently I’ve bought a Samsung ML-2010 printer. I had some issues getting it going, so here’s my account of how I got it to work.

The Samsung ML-2010 is a relatively cheap and simple monochrome USB laser printer, and is known to work perfectly under Linux according to the OpenPrinting database entry on the Samsung ML-2010. The driver is available from the splix package. On my Debian box it was as simple as:

apt-get install splix

Okay, so good for the drivers. Adding the printer using gnome-cups-manager worked like a charm as well.

I tried printing a test page. Nothing happened. I tried again. Now, the printer started printing. But what came out was certainly not a test page but this cryptic message:

INTERNAL ERROR - FALSE
POSITION : 0x11 (17)
SYSTEM   : h6fwsim_mono/xl_tbl
LINE     : 396
VERSION  : SPL 5.05 01-04-2006

Some googling led me to Ubuntu bug 133376, RedHat bug 243038 and Ubuntu bug 85488, all related to my problem in a way. Looking through dmesg output, it indeed seemed that my printer was repeatedly causing USB disconnects and connects. So I installed sysfsutils:

apt-get install sysfsutils

...and added the following line to /etc/sysfs.conf:

module/usbcore/parameters/autosuspend = -1

After a reboot (actually, I ran /etc/init.d/sysfsutils manually) the continuous disconnecting was indeed no longer a problem. However, still no real output, only the internal error page mentioned before. I investigated things a bit more deeply (increasing Cups verbosity levels and such), but to no avail. I realised it looked like my machine was somehow sending illegal instructions when sending commands to the printer using the page description language used (SPL).

I was completely lost and decided to compile the Cups and Splix stack from scratch in order to (hopefully) get some more useful debugging stuff. So, while browsing the web for tarballs to build, I found out there had recently (20071019) been a new Splix release, version 1.0.2. My system was still using 1.0.1, so I gave it a try before building Cups itself:

tar xjvf splix-1.0.2.tar.bz2
cd splix-1.0.2/
./configure

Yuck, Cups development headers missing:

apt-get install libcupsys2-dev libcupsimage2-dev
./configure
make

Urgh. Build failed with a make: ppdpo: Command not found message. Hmmm. Translated PPD files. Not that crucial for me, so not worth investigating:

make -k   # ignore errors and keep going as much as possible

Then I copied the resulting rastertospl2 to my system-wide Cups filters directory and restarted the Cups daemon:

sudo cp src/rastertospl2 /usr/lib/cups/filter/rastertospl2
sudo /etc/init.d/cups restart

Tried printing a test page again. WOW! It worked like a charm. Problem solved. Hopefully distributions start picking up Splix 1.0.2 soonish so that this printing problem no longer occurs.

Update: Hopefully Debian bug 439817 will be resolved soon…