Installing Canon drivers that are not supported on MacOS Ventura, Moterey, Big Sur, etc
Thomas Hampel
15 September 2023I'm using a Canon printer for years and it works very well despite being 10+ years old.
All computers on the network are using this printer for years.
Now I wanted to add a new Apple Macbook to my configuration and of course wanted to configure this printer.
The printer is detected on the Bonjour network, but unfortunately it can not find any driver.
Looking up Canon's Support website the printer is still listed with all its drivers. However, not for the latest Apple operating systems like Ventura, Big Sur, Catalina, nor Mojave, High Sierra, or Sierra.
The latest driver version available is for MacOS 10.11 (El Capitan) - its called MP640 series CUPS Printer Driver Ver. 11.7.1.0 (OS X)
Trying to install it on any current MacOS release is failing because the operating system is (of course) not supported. Typically your options at this point are
(a) get a new printer
(b) try installing an older version of MacOS and try installing the driver, then upgrade again.
(c) trying to get the drivers ported from one machine to another by working with CUPS
Interestingly enough I know that the driver itself DOES work very well because on other machines with BigSur or later operating systems printing works just fine.
It seems that having installed the driver in an earlier version of MacOS allowed to carry its functionality forward, so there is no technical reason why it should not run.
Conclusion => it's only the installation routine that will prevent its installation.
Hint:
Start with the Canon IJ Network Tool which is used to configure the printer. That tool still works on later releases incl. Ventura and it can be used to verify the communication between your Mac and the printer.
How to make it work?
Having downloaded the latest (old) available *.dmg file, e.g in my case it is the MP640 series CUPS Printer Driver Ver. 11.7.1.0 (OS X)
1. Open the file (double click) to mount it, it should look like this:
mcpd-mac-mp640-11_7_1_0-ea17_2.dmg
2. In this image, find the driver file which should have a *.pkg extension and copy it to e.g. your desktop or any other temp directory
PrinterDriver_MP640 series_110701.pkg
3. Open a new terminal window and run the command
> pkgutil --expand "PrinterDriver_MP640 series_110701.pkg" mp640
this will extract the files contained within the pkg file into a new subdirectory.
4. Within this new directory, edit the file "Distribution" with a text edito of your choice
> cd mp640
> nano Distribution
5. Search for a routine named "installationCheck()" and patch it to always return true.
BEFORE:
AFTER:
and of course make sure save your changes!
6. Repackage your changes into a new *pkg file using this command
pkgutil --flatten mp640 "PrinterDriver_MP640 series_PATCHED.pkg"
7. Enjoy installing your new printer driver*
Note: will only work on the same CPU architecture the driver was developed for. May not work on the new ARM CPU's
References: