How to fix HP scanning errors in MacOS

If you made the mistake of buying an HP printer and encountered one of the following symptoms:

  • Scanner does not work. Both HP Easy Scan and the OSX Printers and Scanners utilities fail. Printing might still work.
  • In HP Easy Scan, you get a message that says Scanner reported an error: An error occurred while communicating with the scanner
  • In the OSX Printers and Scanners utility, you get a message that says An error occurred while communicating with the scanner. (-9923)

I had this problem with my HP M28w multifunction printer. The HP support forums were useless, but I managed to fix it.

The following things did not work:

One of these things fixed scanning for me:

  1. Disable IPv6 on the printer. You can do this by opening HP Utility. In Network > IPv6, deactivate IPv6 and save the settings. It did not seem to fix my issue, but it worked for many other users.
  2. Run HP Easy Start again and reinstall everything. When I did this, I got a message that said System Extension cannot be used: The system extension “/Library/Extensions/hp_fax_io.kext” was installed improperly and cannot be used. Please try reinstalling it, or contact the product’s vendor for an update. I simply deleted that file. The printer started working again.

HP scanner disable IPv6 HP System Extension cannot be used error

One comment on “How to fix HP scanning errors in MacOS

  1. For me it was just the hp_fax_io.kext. IPV6 enables, but no kext, scans fine when before it would with the kext in Extensions it would always fail with the communications error.

    One wonders if this has ever been tested by HP.

Leave a Reply to A B Cancel reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see