Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!



Interesting Uses For a USB LED Screen?

umoto Re:For kids (403 comments)

I provided you no information that could allow you to logically reach such a conclusion.

Merry Christmas!

more than 5 years ago

Interesting Uses For a USB LED Screen?

umoto For kids (403 comments)

I've been thinking it would be cool to get a sign like that and post it in a visible place at home, then use it to post announcements about my kids' accomplishments. I'd set it up so my wife could change it as well. We'd post things like "John did the dishes every day this week", "Mary aced her math test", etc.

The intent would be to show them we care and to give them positive reinforcement.

more than 5 years ago

Major Security Hole In Samsung Linux Drivers

umoto Alternate Install Method (295 comments)

The problem is entirely in the installer, not the driver.

After I bought an SCX-4100 a couple of years ago, I ran the installer. I saw right away that most of what the installer did was worthless. It installed some GUI that was simply inferior to CUPS+KDE. That made me mad, so I undid the effects of the installer and dissected it until I figured out what actually needed to be installed to just print and scan. The list of files required turns out to be pretty simple, as long as you connect via USB instead of the parallel port:

- /usr/lib/cups/backend/mfp

- /usr/lib/cups/filter/rastertosamsung{pcl,spl,splc}

- /usr/lib/*

- /usr/share/ppd/Samsung/scx4100.ppd.gz

- /usr/lib/sane/*

- /etc/sane.d/smfp.conf

You can get all of these files out of the driver package. None of them need to be installed suid root or anything out of the ordinary. All you need is read/write access to /dev/usb/lp0 (provided by the usblp kernel module), which you can usually gain by being a member of group "lp" or whatever your distribution calls it. Also, you need a line in /etc/sane.d/dll.conf that contains "smfp" so that sane will look for .

Use the normal CUPS and SANE configuration steps to set it up. If you're lucky, you can use http://localhost:631/ , unless your distribution has disabled that method of configuration.

I blogged about this two years ago:

Note that many of the details have changed. This post is more correct.

Even though I've avoided the setuid security hole by installing by hand, I'm still very irritated that I have to use proprietary binaries with who knows how many security holes. Next time I'm not going to settle for a proprietary driver. Samsung advertised Linux support and that's half the reason I bought the printer, but I didn't realize the driver was proprietary until I already had the printer.

Samsung, if you read this, listen up: I am happy with the speed and reliability of this printer (I've gone through 5-6 reams of paper and only 1 cartridge), and I am happy that you have added x86_64 support. However, if I had known that I would spend about 40 hours messing with your drivers just to get the printer to work, I would have bought an HP printer instead, even if it cost twice as much. I will not be a repeat customer and I will not recommend any of your printers to anyone else unless you open your drivers.

more than 7 years ago


umoto hasn't submitted any stories.


umoto has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>