Canon imageclass d320 printer driver

rogerh113

New Member
Joined
Oct 8, 2021
Messages
14
Reaction score
8
Credits
141
Hello,

My old HP printer died and I got a Canon Imageclass d320 to replace it. The system will see it through the USB connection, but cannot locate a driver. There are a number of cannon printer drivers identified, but nothing that looks like the imageclass d320. I am hoping there is one out there, or a Cannon driver that will work on the imageclass d320.

Any help that could be provided on getting the printer up and running would be greatly appreciated. Despite having used Linux for a long time, I usually rely on the plug and play beauty of Linux (translation - not used to digging into the guts !!)

Running Lubuntu current LTS support version.

thanks -- Roger
 
Last edited:


Same birthday as me, but 4 years older :)

G'day Roger and welcome to linux.org.

One of my fellow staffers @KGIII is a Lubuntu wizard, and by mentioning him, I have alerted him to this thread.

Good luck

Chris Turner
wizardfromoz
 
Bad news from cannon,
There is no driver for the OS Version you selected. The driver may be included in your OS or you may not need a driver.
it then goes on to say it may work with existing cannon drivers in your software..

EDIT
just found this driver suggested on another site [no guarantees]

Bwiz
 
Hi,

Thanks very much for the clarification of the issue and a likely solution. Is there a tutorial somewhere that will take me from the zip file now on my desktop to installation?

Generally I use Synaptic, but I assume it cannot see the carps zip, or know what it is. I tried it....

regards -- Roger
 
Same birthday as me, but 4 years older :)

G'day Roger and welcome to linux.org.

One of my fellow staffers @KGIII is a Lubuntu wizard, and by mentioning him, I have alerted him to this thread.

Good luck

Chris Turner
wizardfromoz
Yes, a very auspicious day !!!! Thanks for kicking off the post - looks like it is going somewhere!!
 
Thanks - I only know enough to be dangerous....

I have extracted the zip to a folder on my desktop, and indeed the files are visible. The content of the readme probably makes sense to someone that knows what they are doing and how to do it. Indeed several of the files are source code. Need to do some reading on the command format and structure, and then will likely have some more questions. Seems I would have to identify what I want to make, and where the result would go. Don't have a clue as yet.

Compiling from source
---------------------
Requirements: make, gcc, libcups2-dev, libcupsimage2-dev, cups-ppdc

To compile, simply run "make":

$ make

To install compiled filter and drv file, run "make install" as root:

# make install

or

$ sudo make install

You can then install the printer using standard GUI tools or CUPS web interface.
 
Requirements: make, gcc, libcups2-dev, libcupsimage2-dev, cups-ppdc

You need to install these, or check they are installed first.
 
Before you use make, make install, etc, you need to install the right tools.

Code:
sudo apt install build-essential

That's so you can build (make/make install) the software on your own device.
 
Yep, I now understand what the 'Requirements' meant in the readme.

Now I need to find out how to use the now installed tools to compile and install the printer driver, unless there are more preliminary steps to get ready to install the driver.

I understand that all this might be fairly rudimentary for most, but I am very much learning as I go and appreciate the guidance.
 
Usually, open the directory where you extracted the contents of the compressed file in the terminal.

Then it's usually something like:

Code:
sudo ./configure
make
make install

Though you may have an extra step or two for DKMS as we're dealing with a driver. The README *usually* tells you what to do. Usually...
 
Roger, my bad, I should have mentioned this earlier.

In your Repositories, you have Timeshift (I know it was mentioned earlier).

If you have not used it, you can check its status with

Code:
apt policy timeshift

and if it does not have two lines matching for Installed and Candidate, then you want to install it with

Code:
sudo apt -y install timeshift

Always use it to take a snapshot of your working system before you start monkeying around with printers and scanners, wifi, audio, graphics &c.

Also major updates.

In that way of something goes wrong you can roll back your system.

Timeshift as my friend Brian @Condobloke says "is like Windows Restore, but it actually works"

If you need help best configuring Timeshift for you system, see me at

https://www.linux.org/threads/timeshift-similar-solutions-safeguard-recover-your-linux.15241/

Cheers

Wiz
 
Usually, open the directory where you extracted the contents of the compressed file in the terminal.

Then it's usually something like:

Code:
sudo ./configure
make
make install

Though you may have an extra step or two for DKMS as we're dealing with a driver. The README *usually* tells you what to do. Usually...


Thanks. I was wondering how the make would know which makefile to compile, and the answer is obvious - open the terminal in the correct folder. Obvious to someone that knows.

The readme does have the make and make install steps.

I assume that the make install includes the information on where the files are to be correctly installed. Hopefully these locations are the same for all linux distros.
 
Roger, my bad, I should have mentioned this earlier.

In your Repositories, you have Timeshift (I know it was mentioned earlier).

If you have not used it, you can check its status with

Code:
apt policy timeshift

and if it does not have two lines matching for Installed and Candidate, then you want to install it with

Code:
sudo apt -y install timeshift

Always use it to take a snapshot of your working system before you start monkeying around with printers and scanners, wifi, audio, graphics &c.

Also major updates.

In that way of something goes wrong you can roll back your system.

Timeshift as my friend Brian @Condobloke says "is like Windows Restore, but it actually works"

If you need help best configuring Timeshift for you system, see me at

https://www.linux.org/threads/timeshift-similar-solutions-safeguard-recover-your-linux.15241/

Cheers

Wiz

Really useful sounding app. I used to use SUSE quite a while ago, and I had to manipulate that on a regular basis, even for my simple needs. Timeshare would have been really useful when that was happening.

Since shifting to Lubuntu several years ago, I have been able to use the standard drivers and EVERYTHING has been plug and play. Not sure I even opened a terminal session during that time. Until the Cannon printer/copier.

When the weather turns bad and I am confined inside, I will take a deep look at timeshift and likely install it. Nice that it tracks just the changes if desired. Of course, if the printer driver thing blows up on me, I will wish I took the other approach......
 
I assume that the make install includes the information on where the files are to be correctly installed. Hopefully these locations are the same for all linux distros.

It will. That's where the 'make install' comes into play. It'll toss things into the right directories and apply any needed permissions (should such be needed).
 
Hi, since the comments seemed to have ended I started on the install.

Quite a few messages returned during the compile - just the top bit here since there were a lot of the warning type message in addition to those shown.

Is there anything that should concern me here, or are these informational and expected ??

gcc -Wall -Wextra --std=c99 -O2 carps-decode.c -o carps-decode
carps-decode.c: In function ‘decode_print_data’:
carps-decode.c:319:75: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 7 has type ‘long int’ [-Wformat=]
319 | s: 0x%x, line_num=%d, line_pos=%d (%d), len=%d, in_pos=0x%x ", out_bytes, line_num, line_pos, line_pos * 8, len, block_pos + data - start);
| ~^ ~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| unsigned int long int
| %lx
carps-decode.c: In function ‘get_block’:
carps-decode.c:65:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
65 | fread(data, 1, 1, f); /* discard the first 0x01 byte */
| ^~~~~~~~~~~~~~~~~~~~
gcc -Wall -Wextra --std=c99 -O2 rastertocarps.c -o rastertocarps -lcupsimage -lcups
rastertocarps.c: In function ‘ppd_get’:
rastertocarps.c:500:2: warning: ‘ppdFindAttr’ is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
500 | ppd_attr_t *attr = ppdFindAttr(ppd, name, NULL);
| ^~~~~~~~~~

Happy to put up all of it, but it is pretty long.
 
Last edited:
So long as things keep going as expected, they're just warnings. It'll refuse to compile if there's something truly broken.

Also, I don't do it as often as I used to and I'm pretty sure I'm not alone in this, I get a weird sense of happiness when I watch things configure and compile.
 
The 'sudo make install' went through uneventfully, and the printer drivers were recognized and installed. Test page looks good.

Thanks for all of your assistance and patience. It is due to you that the printer is up and running. Have an excellent fall season.

Now I need to sit down and document all this for the future.....

regards -- Roger
 

Members online


Top