Canon imageclass d320 printer driver

rogerh113

New Member
Credits
107
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:


wizardfromoz

Administrator
Staff member
Gold Supporter
Credits
18,413
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
 

brickwizard

Well-Known Member
Credits
6,769
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
 

arochester

Moderator
Staff member
Gold Supporter
Credits
2,387

rogerh113

New Member
Credits
107
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
 

rogerh113

New Member
Credits
107
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.
 

arochester

Moderator
Staff member
Gold Supporter
Credits
2,387
Requirements: make, gcc, libcups2-dev, libcupsimage2-dev, cups-ppdc
You need to install these, or check they are installed first.
 

rogerh113

New Member
Credits
107
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.
 

KGIII

Super Moderator
Staff member
Gold Supporter
Credits
28,482
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...
 

wizardfromoz

Administrator
Staff member
Gold Supporter
Credits
18,413
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
 

rogerh113

New Member
Credits
107
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.
 

rogerh113

New Member
Credits
107
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......
 

KGIII

Super Moderator
Staff member
Gold Supporter
Credits
28,482
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).
 

rogerh113

New Member
Credits
107
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:

KGIII

Super Moderator
Staff member
Gold Supporter
Credits
28,482
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.
 

rogerh113

New Member
Credits
107
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
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!


Top