Skip to content

Why EasyScan

Michal Švácha edited this page Oct 16, 2026 · 1 revision

Why EasyScan

The printer

A Samsung M2070 laser all-in-one from 2014, connected over USB. Printing has always worked. Scanning on a Mac has not, really:

  • Since roughly the "Mac OS X" to "macOS" rename, Apple's Image Capture crashed on every color scan. Black and white worked, so the problem was tolerated for a decade.
  • macOS 27's installer warned that "some binaries will no longer work", pointing at the printer driver. After installing Rosetta, Image Capture showed Failed to open a connection to the device (-21345) and nothing else.

What was actually wrong

The scanner support for Samsung devices lives in /Library/Image Capture/Devices/Samsung Scanner.app, an Apple-distributed module from 2013. It is an Intel-only binary (i386 and x86_64 slices), signed with a SHA-1 Apple "Software Signing" certificate that macOS 27's integrity daemon now rejects with "signed by an unknown certificate chain". That rejection looks alarming in the log, but it does not block the launch.

The system log told the real story. Image Capture's device daemon (icdd) tried to launch the module exactly once, at 13:41:50. Rosetta finished installing at 13:42:09, nineteen seconds later. Nothing ever retried, and the stale failure was what the app kept showing. Quitting and relaunching Image Capture was enough to make the module start, under Rosetta, like it did on macOS 26.

Then the second surprise: driving the same module through Apple's ImageCaptureCore framework from a 150-line command-line program produced perfect color scans. The driver was never the problem. The Image Capture app was.

Why not just use Image Capture, then

Because of the clock. Apple has said that macOS 28 keeps Rosetta only for old games. The Samsung module is Intel-only and will never be rebuilt. One more macOS upgrade and the driver is gone for good.

SANE solves that: its xerox_mfp backend lists the M2070 as fully supported, it is native Apple Silicon code from Homebrew, and it scanned a color page in 13 seconds on the first try. But scanimage is a command line, and the goal was to not have to care.

So

EasyScan is the app that should have existed: it uses Apple's driver stack while it still works, switches to SANE on its own when it does not, and does the few things a home scanner needs: preview, pick an area, scan to PDF or an image, add pages to a PDF.

Clone this wiki locally