Jetsons are not different in printer setup for the most part. Linux will use CUPS for print services, see:
https://ubuntu.com/server/docs/service-cups
What is important is to understand that printing uses different software than what is used for printer management. For example, sending a PDF file to the printer is standardized in the software, but each printer has its own custom interface for things like monitoring ink/toner levels. In most cases printing should work well on a Jetson if that printer works well on a desktop Ubuntu PC, but watching toner levels could be a problem.
I do not have your printer to test with, and have not set up printers in a long time, but I found this URL to be of interest:
https://askubuntu.com/questions/1288753/unable-to-install-canon-laser-shot-lbp2900b-laser-printer-on-ubuntu-20-04
What I notice is that the above URL’s information has a user manually downloading from here:
https://in.canon/en/support/0100459601?model=0017B011
I am looking at the download, and some of the file names changed names since that thread came out, but there are still release 2.71 of that third party driver, and that this is available in three formats: (A) .rpm
(which is what Fedora/Red Hat/CentOS/SuSE uses), (B) .deb
(which is what Ubuntu/Debian uses), and (C) source (which can be used on any Linux with a lot of effort). That askubuntu thread unpacks and uses the source version.
If the “.deb
” file (64-bit) were to work, then this would be the obvious “easy” way to work on this, but this is binary executable code for printer management, and only works on a desktop PC architecture (Jetsons are arm64/aarch64 architecture and cannot run PC binary executable code). This implies only the source version of management software can be useful to you since anything with i386
or amd64
in its name cannot directly function on a Jetson.
If you were to unpack the source, then you will find a “ppd
” subdirectory. The PPD file is the only thing you need if you manually install to CUPS for printing (everything other than the ppd
file is for printer management and not for printing). Inside the ppd
subdirectory there are many ppd
files. Each ppd
file is named after a printer model, and I see this:
CNCUPSLBP2900CAPTK.ppd
…and I suspect that to print this is the only file you’d need to install to CUPS.
You would simply follow the Ubuntu instructions for adding a PPD file to CUPS, e.g., through the web interface once CUPS is running. CUPS won’t be running by default, but online information for installing and/or enabling CUPS won’t be any different for a Jetson versus PC. Add the ppd
file, and it should print (but do beware that CUPS can be complicated sometimes, e.g., maybe you must setup up an admin password before it can work, maybe you will need to install software with apt
first, and then enable the service, so on…there can be a few confusing steps).
As for the other software in source code format it is possible you might be able to compile and run printer management software as well, but I don’t have this printer and have not attempted to build the C source code, and thus don’t know if this is actually for printer management or not, nor do I know if it uses anything not available on arm64/aarch64 architecture (odds are good that with a lot of work you can get the C source code working and then use this for management). You would never bother attempting to run or compile management software before the ppd
file is itself installed to make printing available.
Incidentally, ppd
files are architecture and operating system independent. That ppd
file works on Windows, Mac, Linux, Android, so on. This is merely a metadata file which describes to some print systems how to talk to the printer for printing.