The Hidden Blog

As it turns out, I do have a hostname.

Fixing failed installation of EPSON printer driver

Published on January 3, 2023

Recently I ran into the issue where installing an EPSON SC-P900 printer driver on macOS (before and after the update to Ventura) always failed with a generic “Installation failed” message.

I started my investigation by looking at the installation log with the following command while clicking through the installation dialog.

tail -f /var/log/install.log

From the logs it became clear that it’s a permission problem. The installation process tried to copy data from the installation sandbox to /Library/Extensions/EPSONUSBPrintClass.kext. This failed with: operation not permitted.

I tried running the package installation with sudo, restarting and updating macOS but that didn’t fix it.

After checking this directory I saw that EPSONUSBPrintClass.kext was created in 2014 and probably got carried over through many macOS updates. Somewhere along the way permissions likely got messed up.

I decided to delete the file and I tried to just delete the file while macOS is running, this doesn’t work via the Finder or through the Terminal as the Library volume is read-only in the new macOS versions.

Solution

The solution is to start in recovery mode by holding Command (⌘)-R while starting your Mac. Then navigate to Utilities > Terminal and start a Terminal. Everything in recovery mode is a bit slower so be patient.

Navigate to the directory where the kext is located. Keep in mind that it’s not in /Library but /Volumes/Macintosh HD/Library while you are in recovery mode. Replace Macintosh HD with the name of your boot volume. Both directories exist but /Library won’t have the non-standard kernel extensions (kext) files so this might be confusing.

Run rm -rf /Volumes/Macintosh HD/Library/Extensions/EPSONUSBPrintClass.kext to delete the wrong file. Reboot the Mac and re-install the driver. Now everything should work!