How to make Canon LBP-6200B work on My Gnome Manjaro?

Here is the script I had on Ubuntu that installed my Cannon LBP6200 and if is possible to convert to work on Manjaro / Arc Linux

Script down below:

#!/bin/bash

##################################################
#Version 3.3 updated on September 13, 2019
##################################################

#Check if we are running as root
[ $USER != 'root' ] && exec sudo "$0"

#Current user
LOGIN_USER=$(logname)
[ -z "$LOGIN_USER" ] && LOGIN_USER=$(who | head -1 | awk '{print $1}')

#Load the file containing the path to the desktop
if [ -f ~/.config/user-dirs.dirs ]; then 
	source ~/.config/user-dirs.dirs
else
	XDG_DESKTOP_DIR="$HOME/Desktop"
fi

#Driver version
DRIVER_VERSION='2.71-1'
DRIVER_VERSION_COMMON='3.21-1'

#Links to driver packages
declare -A URL_DRIVER=([amd64_common]='https://github.com/hieplpvip/canon_printer/raw/master/Packages/cndrvcups-common_3.21-1_amd64.deb' \
[amd64_capt]='https://github.com/hieplpvip/canon_printer/raw/master/Packages/cndrvcups-capt_2.71-1_amd64.deb' \
[i386_common]='https://github.com/hieplpvip/canon_printer/raw/master/Packages/cndrvcups-common_3.21-1_i386.deb' \
[i386_capt]='https://github.com/hieplpvip/canon_printer/raw/master/Packages/cndrvcups-capt_2.71-1_i386.deb')

#Links to autoshutdowntool
declare -A URL_ASDT=([amd64]='https://github.com/hieplpvip/canon_printer/raw/master/Packages/autoshutdowntool_1.00-1_amd64_deb.tar.gz' \
[i386]='https://github.com/hieplpvip/canon_printer/raw/master/Packages/autoshutdowntool_1.00-1_i386_deb.tar.gz')

#ppd files and printer models mapping
declare -A LASERSHOT=([LBP-810]=1120 [LBP1120]=1120 [LBP1210]=1210 \
[LBP2900]=2900 [LBP3000]=3000 [LBP3010]=3050 [LBP3018]=3050 [LBP3050]=3050 \
[LBP3100]=3150 [LBP3108]=3150 [LBP3150]=3150 [LBP3200]=3200 [LBP3210]=3210 \
[LBP3250]=3250 [LBP3300]=3300 [LBP3310]=3310 [LBP3500]=3500 [LBP5000]=5000 \
[LBP5050]=5050 [LBP5100]=5100 [LBP5300]=5300 [LBP6000]=6018 [LBP6018]=6018 \
[LBP6020]=6020 [LBP6020B]=6020 [LBP6200]=6200 [LBP6300n]=6300n [LBP6300]=6300 \
[LBP6310]=6310 [LBP7010C]=7018C [LBP7018C]=7018C [LBP7200C]=7200C [LBP7210C]=7210C \
[LBP9100C]=9100C [LBP9200C]=9200C)

#Sort printer names
NAMESPRINTERS=$(echo "${!LASERSHOT[@]}" | tr ' ' '\n' | sort -n -k1.4)

#Models supported by autoshutdowntool
declare -A ASDT_SUPPORTED_MODELS=([LBP6020]='MTNA002001 MTNA999999' \
[LBP6020B]='MTMA002001 MTMA999999' [LBP6200]='MTPA00001 MTPA99999' \
[LBP6310]='MTLA002001 MTLA999999' [LBP7010C]='MTQA00001 MTQA99999' \
[LBP7018C]='MTRA00001 MTRA99999' [LBP7210C]='MTKA002001 MTKA999999')

#OS architecture
if [ "$(uname -m)" == 'x86_64' ]; then
	ARCH='amd64'
else
	ARCH='i386'
fi

#Determine the init system
if [[ $(ps -p1 | grep systemd) ]]; then
	INIT_SYSTEM='systemd'
else
	INIT_SYSTEM='upstart'
fi

#Move to the current directory
cd "$(dirname "$0")"

function valid_ip() {
	local ip=$1
	local stat=1

	if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
		ip=($(echo "$ip" | tr '.' ' '))
		[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
		stat=$?
	fi
	return $stat
}

function check_error() {
	if [ $2 -ne 0 ]; then
		case $1 in
			'WGET') echo "Error while downloading file $3"
				[ -n "$3" ] && [ -f "$3" ] && rm "$3";;
			'PACKAGE') echo "Error installing package $3";;
			*) echo 'Error';;
		esac
		echo 'Press any key to exit'
		read -s -n1
		exit 1
	fi
}

function canon_unistall() {
	if [ -f /usr/sbin/ccpdadmin ]; then
		installed_model=$(ccpdadmin | grep LBP | awk '{print $3}')
		if [ -n "$installed_model" ]; then
			echo "Found printer $installed_model"
			echo "Closing captstatusui"
			killall captstatusui 2> /dev/null
			echo 'Stopping ccpd'
			service ccpd stop
			echo 'Removing the printer from the ccpd daemon configuration file'
			ccpdadmin -x $installed_model
			echo 'Removing the printer from CUPS'
			lpadmin -x $installed_model
		fi
	fi
	echo 'Removing driver packages'
	dpkg --purge cndrvcups-capt
	dpkg --purge cndrvcups-common
	echo 'Removing unused libraries and packages'
	apt-get -y autoremove
	echo 'Deleting settings'
	[ -f /etc/init/ccpd-start.conf ] && rm /etc/init/ccpd-start.conf
	[ -f /etc/udev/rules.d/85-canon-capt.rules ] && rm /etc/udev/rules.d/85-canon-capt.rules
	[ -f "${XDG_DESKTOP_DIR}/captstatusui.desktop" ] && rm "${XDG_DESKTOP_DIR}/captstatusui.desktop"
	[ -f /usr/bin/autoshutdowntool ] && rm /usr/bin/autoshutdowntool
	[ $INIT_SYSTEM == 'systemd' ] && update-rc.d -f ccpd remove
	echo 'Uninstall completed'
	echo 'Press any key to exit'
	read -s -n1
	return 0
}

function canon_install() {
	echo
	PS3='Please choose your priter: '
	select NAMEPRINTER in $NAMESPRINTERS
	do
		[ -n "$NAMEPRINTER" ] && break
	done
	echo "Selected printer: $NAMEPRINTER"
	echo
	PS3='How is the printer connected to the computer: '
	select CONECTION in 'Via USB' 'Through network (LAN, NET)'
	do
		if [ "$REPLY" == "1" ]; then
			CONECTION="usb"
			while true
			do	
				#Looking for a device connected to the USB port
				NODE_DEVICE=$(ls -1t /dev/usb/lp* 2> /dev/null | head -1)
				if [ -n "$NODE_DEVICE" ]; then
					#Find the serial number of that device
					PRINTER_SERIAL=$(udevadm info --attribute-walk --name=$NODE_DEVICE | sed '/./{H;$!d;};x;/ATTRS{product}=="Canon CAPT USB \(Device\|Printer\)"/!d;' | awk -F'==' '/ATTRS{serial}/{print $2}')
					#If the serial number is found, that device is a Canon printer
					[ -n "$PRINTER_SERIAL" ] && break
				fi
				echo -ne "Turn on the printer and plug in USB cable\r"
				sleep 2
			done
			PATH_DEVICE="/dev/canon$NAMEPRINTER"
			break
		elif [ "$REPLY" == "2" ]; then
			CONECTION="lan"
			read -p 'Enter the IP address of the printer: ' IP_ADDRES
			until valid_ip "$IP_ADDRES"
			do
				echo 'Invalid IP address format, enter four decimal numbers'
				echo -n 'from 0 to 255, separated by dots: '
				read IP_ADDRES
			done
			PATH_DEVICE="net:$IP_ADDRES"
			echo 'Turn on the printer and press any key'
			read -s -n1
			sleep 5
			break
		fi		
	done
	echo '************Driver Installation************'
	COMMON_FILE=cndrvcups-common_${DRIVER_VERSION_COMMON}_${ARCH}.deb
	CAPT_FILE=cndrvcups-capt_${DRIVER_VERSION}_${ARCH}.deb
	if [ ! -f $COMMON_FILE ]; then		
		sudo -u $LOGIN_USER wget -O $COMMON_FILE ${URL_DRIVER[${ARCH}_common]}
		check_error WGET $? $COMMON_FILE
	fi
	if [ ! -f $CAPT_FILE ]; then
		sudo -u $LOGIN_USER wget -O $CAPT_FILE ${URL_DRIVER[${ARCH}_capt]}
		check_error WGET $? $CAPT_FILE
	fi
	apt-get -y update
	apt-get -y install libglade2-0 libcanberra-gtk-module
	check_error PACKAGE $?
	echo 'Installing common module for CUPS driver'
	dpkg -i $COMMON_FILE
	check_error PACKAGE $? $COMMON_FILE
	echo 'Installing CAPT Printer Driver Module'
	dpkg -i $CAPT_FILE
	check_error PACKAGE $? $CAPT_FILE
	#Replace /etc/init.d/ccpd
	echo '#!/bin/bash
# startup script for Canon Printer Daemon for CUPS (ccpd)
### BEGIN INIT INFO
# Provides:          ccpd
# Required-Start:    $local_fs $remote_fs $syslog $network $named
# Should-Start:      $ALL
# Required-Stop:     $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Start Canon Printer Daemon for CUPS
### END INIT INFO

# If the CUPS print server is not running, wait until it starts
if [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]; then
	while [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]
	do
		sleep 3
	done
	sleep 5
fi

ccpd_start ()
{
	echo -n "Starting ${DAEMON}: "
	start-stop-daemon --start --quiet --oknodo --exec ${DAEMON}
}

ccpd_stop ()
{
	echo -n "Shutting down ${DAEMON}: "
	start-stop-daemon --stop --quiet --oknodo --retry TERM/30/KILL/5 --exec ${DAEMON}
}

DAEMON=/usr/sbin/ccpd
case $1 in
	start)
		ccpd_start
		;;
	stop)
		ccpd_stop
		;;
	status)
		echo "${DAEMON}:" $(pidof ${DAEMON})
		;;
	restart)
		while true
		do
			ccpd_stop
			ccpd_start
			# if the ccpd process does not appear after 5 seconds, we restart it again
			for (( i = 1 ; i <= 5 ; i++ ))
			do
				sleep 1
				set -- $(pidof ${DAEMON})
				[ -n "$1" -a -n "$2" ] && exit 0
			done
		done
		;;
	*)
		echo "Usage: ccpd {start|stop|status|restart}"
		exit 1
		;;
esac
exit 0' > /etc/init.d/ccpd
	#Installation utilities for managing AppArmor
	apt-get -y install apparmor-utils
	#Set AppArmor security profile for cupsd to complain mode
	aa-complain /usr/sbin/cupsd
	echo 'Restarting CUPS'
	service cups restart
	if [ $ARCH == 'amd64' ]; then
		echo 'Installing 32-bit libraries required to run 64-bit printer driver'
		apt-get -y install libatk1.0-0:i386 libcairo2:i386 libgtk2.0-0:i386 libpango1.0-0:i386 libstdc++6:i386 libpopt0:i386 libxml2:i386 libc6:i386
		check_error PACKAGE $?
	fi
	echo 'Installing the printer in CUPS'
	/usr/sbin/lpadmin -p $NAMEPRINTER -P /usr/share/cups/model/CNCUPSLBP${LASERSHOT[$NAMEPRINTER]}CAPTK.ppd -v ccp://localhost:59687 -E
	echo "Setting $NAMEPRINTER as the default printer"
	/usr/sbin/lpadmin -d $NAMEPRINTER
	echo 'Registering the printer in the ccpd daemon configuration file'
	/usr/sbin/ccpdadmin -p $NAMEPRINTER -o $PATH_DEVICE
	#Verify printer installation
	installed_printer=$(ccpdadmin | grep $NAMEPRINTER | awk '{print $3}')
	if [ -n "$installed_printer" ]; then
		if [ "$CONECTION" == "usb" ]; then
			echo 'Creating a rule for the printer'
			#A rule is created to provides an alternative name (a symbolic link) to our printer so as not to depend on the changing values of lp0, lp1,...
			echo 'KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", ATTRS{serial}=='$PRINTER_SERIAL', SYMLINK+="canon'$NAMEPRINTER'"' > /etc/udev/rules.d/85-canon-capt.rules
			#Update the rules
			udevadm control --reload-rules
			#Check the created rule
			until [ -e $PATH_DEVICE ]
			do
				echo -ne "Turn off the printer, wait 2 seconds, then turn on the printer\r"
				sleep 2
			done
		fi
		echo -e "\e[2KRunning ccpd"
		service ccpd restart
		#Autoload ccpd
		if [ $INIT_SYSTEM == 'systemd' ]; then
			update-rc.d ccpd defaults
		else
			echo 'description "Canon Printer Daemon for CUPS (ccpd)"
author "LinuxMania <customer@linuxmania.jp>"
start on (started cups and runlevel [2345])
stop on runlevel [016]
expect fork
respawn
exec /usr/sbin/ccpd start' > /etc/init/ccpd-start.conf	
		fi
		#Create captstatusui shortcut on desktop
		echo '#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name='$NAMEPRINTER'
GenericName=Status monitor for Canon CAPT Printer
Exec=captstatusui -P '$NAMEPRINTER'
Terminal=false
Type=Application
Icon=/usr/share/icons/Humanity/devices/48/printer.svg' > "${XDG_DESKTOP_DIR}/$NAMEPRINTER.desktop"
		chmod 775 "${XDG_DESKTOP_DIR}/$NAMEPRINTER.desktop"
		chown $LOGIN_USER:$LOGIN_USER "${XDG_DESKTOP_DIR}/$NAMEPRINTER.desktop"
		#Install autoshutdowntool for supported models
		if [[ "${!ASDT_SUPPORTED_MODELS[@]}" =~ "$NAMEPRINTER" ]]; then
			SERIALRANGE=(${ASDT_SUPPORTED_MODELS[$NAMEPRINTER]})
			SERIALMIN=${SERIALRANGE[0]}
			SERIALMAX=${SERIALRANGE[1]}	
			if [[ ${#PRINTER_SERIAL} -eq ${#SERIALMIN} && $PRINTER_SERIAL > $SERIALMIN && $PRINTER_SERIAL < $SERIALMAX || $PRINTER_SERIAL == $SERIALMIN || $PRINTER_SERIAL == $SERIALMAX ]]; then
				echo "Installing the autoshutdowntool utility"
				ASDT_FILE=autoshutdowntool_1.00-1_${ARCH}_deb.tar.gz
				if [ ! -f $ASDT_FILE ]; then
					wget -O $ASDT_FILE ${URL_ASDT[$ARCH]}
					check_error WGET $? $ASDT_FILE
				fi
				tar --gzip --extract --file=$ASDT_FILE --totals --directory=/usr/bin
			fi
		fi	
		#Start captstatusui
		if [[ -n "$DISPLAY" ]] ; then
			sudo -u $LOGIN_USER nohup captstatusui -P $NAMEPRINTER > /dev/null 2>&1 &
			sleep 5
		fi
		echo 'Installation completed. Press any key to exit'
		read -s -n1
		exit 0
	else
		echo 'Driver for $NAMEPRINTER is not installed!'
		echo 'Press any key to exit'
		read -s -n1
		exit 1
	fi
}

function canon_help {
	clear
	echo 'Installation Notes
If you have already installed driver for this series,
uninstall it before using this script.
If the driver packages are not found, they will be automatically
downloaded from the Internet and saved in the script folder.
To update the driver, first uninstall the old version using this script,
then install a new one.
Notes on printing problems:
If the printer stops printing, run captstatusui via the shortcut
on desktop or from terminal: captstatusui -P <printer_name>
The captstatusui window shows the current status of the printer.
If an error occurs, its description is displayed.
Here you can try pressing button "Resume Job" to continue printing
or "Cancel Job" button to cancel the job.
If this does not help, try running canon_restart.sh

Printer configuration command: cngplp
Additional settings command: captstatusui -P <printer_name>
Turn on auto-off (not for all models): autoshutdowntool
To log the installation process, run the script like this:
logsave log.txt ./canon_lbp_setup.sh
'
}

clear
echo 'Installing the Linux CAPT Printer Driver v'${DRIVER_VERSION}' for Canon LBP printers on Ubuntu (both 32-bit and 64-bit)
Supported printers:'
echo "$NAMESPRINTERS" | sed ':a; /$/N; s/\n/, /; ta' | fold -s

PS3='Please enter your choice: '
select opt in 'Install' 'Uninstall' 'Help' 'Exit'
do
	if [ "$opt" == 'Install' ]; then
		canon_install
		break
	elif [ "$opt" == 'Uninstall' ]; then
		canon_unistall
		break
	elif [ "$opt" == 'Help' ]; then
		canon_help
	elif [ "$opt" == 'Exit' ]; then
		break
	fi
done

What the script does is essentially the same as the steps I listed in my post
(which are taken from the Arch wiki, which refers back to the Ubuntu wiki and this very package …)
plus a udev-rule to persistently name the device using it’s serial number.
The latter part is interesting and helps to refer to the correct printer if you have more than one printer.
But it doesn’t create a systemd service for ccpd - this is handeled differently in Ubuntu.
It’s created from the files which are put into /etc/rc.d using their tool update-rc.d
The Arch CanonCapt driver does this directly - it provides the service file.

Thanks for the info but i am not a programmer so for me (Linux Noob) if someone can rewrite this script working on Manjaro it would be much appreciate.

Or make a step by step walk thru because the “steps I listed in my post” [Nachlese] did not work for me. I could doing something wrong.

the Arch guide also mentions that a different port number for the ccpd.service might be needed …
or it doesn’t work because you have (apparently, from your screenshots) two printers
and the device name (/dev/usb/lp0) is not the correct one (this is more likely)
… that’s where the udev-rule would help
It creates a uniquely named device node
this is in your script - but not in the Arch wiki
I have not implemented this myself - don’t need it - I only have this one printer

Maybe I will, some day - but not in the near future.
Because it works for me … :man_shrugging:
But maybe someone else is interested in doing that now.

Okej then I wounder how change (/dev/usb/lp0) to another?? Can it be Canon usb://Canon/LBP6200?serial=0000A1E29Nx8

Or should it be something else?

my canon printer is connected under this
Bus 003 Device 011: ID 04a9:271b Canon, Inc. LBP6200

DEBUG2: Printer found with device ID: MFG:Canon;MDL:LBP6200;CMD:CAPT;VER:3.0;CLS:PRINTER;DES:Canon LBP6200 Device URI: usb://Canon/LBP6200?serial=0000A1E29Nx8
direct usb://Canon/LBP6200?serial=0000A1E29Nx8 “Canon LBP6200” “Canon LBP6200” “MFG:Canon;MDL:LBP6200;CMD:CAPT;VER:3.0;CLS:PRINTER;DES:Canon LBP6200” “”

nope

the creation of the udev rule is somewhere in the script
line 280 and down
… but I won’t do it, won’t try to implement it now
partly because I can’t test it, partly because I don’t need it

You could disconnect your dymo label printer - then /dev/usb/lp0 should be your Canon printer - or assign /dev/usb/lp1 to the Canon printer
this could also work
don’t know
don’t need it
can’t test whether whatever I came up with here would work
Sorry!

Thanks

I did change the canon to /dev/usb/lp1 but still no luck.

Well Looks i need to boot to windows to print because i cant make it work on Manjaro.

Thanks for the help all of you, i give up by now if no one cant help me.

The device node is created when the printer is connected.
It goes away when it is disconnected.
You can look and see what happens before, when, and after it is connected.
That way you don’t just blindly try and hope you get it right - you see what happens and can proceed with known good data

via:
watch ls -l /dev/usb

then connect the printer and see what it’s device node is
This device name needs to be in the DevicePath statement in /etc/ccpd.conf

If the printer isn’t working when you use that - it is still not correctly configured.
Use
ccpdadmin -x
and
lpadmin -x
to uninstall printer and start anew.

Here
and
Here
you can find a udev rule to persistently name your printer
you can then use
/dev/lp/by-id/some_long_name
or
/dev/lp/by-path/some_even_longer_name
to refer to the printer instead of /dev/usb/lpx

The person who posted it said that this was only good for one printer at a time.
I’m totally not sure about that, whether it is correct or not.
I have only one printer - that’s quite enough for me.
So I cannot verify that.

1 Like

Oki i try it out

It did not work :persevere:

No i Have reinstalled Manjareo and did the step by step guide and still did not work WTF :frowning:
How can a printer work in Ubuntu but not in Manjaro??

Installation dig go well and everything is good except for printing…

sorry
This is not the printer model that I have and use
but the installation and configuration for this one is the same - of course you need to adapt the printer name and model, which is used to provide the correct ppd for the printer you have.
You can’t just copy the example that was made for a LBP2900.
If you want further help you’d need to tell us exactly what you did and in which order.
(see your shell history …)

If it works in Ubuntu but not here the very simple truth is that you did something wrong. :man_shrugging:

I reinstalled My KDE Manjaro and I did pamac build capt-src and Manjero find the printer and install it perfectly! I double check it i cups and all look good!

When I print it messages change from idel to sending data to printer and after that nothing happens

What the heck is wrong ???

Does anyone could help me to look were the problems is and what causes it

Obviously, it didn’t install it perfectly.

There are some more (manual) steps involved - you need to configure ccpd.service!
Automatic setup by the steps you described you did … simply doesn’t work.

It’s all in this thread (links).
Or - again: have a look at the Arch wiki on how to do it.

Nothing is wrong - you simply didn’t do the complete setup procedure. :man_shrugging:
probably in the hopes that it somehow would be as easy as that
… it isn’t

it is not complicated or hard or anything like that

in the end
it’s just a procedure to follow

follow it - report eventual errors

I did follow the steps step by step but still the same that Cups sent data to printer but nothing happends.

And yes i did change from lp0 to LBP6200 and still nothing
I dd change the Port from standard to the recomended and still nothing

i did add my selt to sys

And i turn of the USB sleep funktion and still nothing…
i did the fif0 setup but nothing…

I feel its somthing beteen Cups comunication with USB printer.

Cups detect my printer and install it correct and i check the USB adress and its correkt
I cheek the cups was running, lsUSB,

sudo lpadmin -p LBP6200 -m CNCUPSLBP6200CAPTJ.ppd -v ccp://localhost:59687 -E

[sjostrand@AMDRyzen ~]$ systemctl status cups
● cups.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2021-06-22 23:54:37 CEST; 59min ago
TriggeredBy: ● cups.path
● cups.socket
Docs: man:cupsd(8)
Main PID: 854 (cupsd)
Status: “Scheduler is running…”
Tasks: 5 (limit: 77097)
Memory: 56.3M
CPU: 11.273s
CGroup: /system.slice/cups.service
├─ 854 /usr/bin/cupsd -l
├─2776 /usr/lib/cups/notifier/dbus dbus://
└─3030 usb://Canon/LBP6200?serial=0000A1E29Nx8 56 sjostrand Test Page 1 job-uuid=urn:uuid:5554d74d-0a>

jun 22 23:54:37 AMDRyzen systemd[1]: Starting CUPS Scheduler…
jun 22 23:54:37 AMDRyzen systemd[1]: Started CUPS Scheduler.

AND

$ systemctl list-unit-files | grep cups
cups.path enabled disabled
cups-browsed.service disabled disabled
cups-lpd@.service static -
cups.service enabled disabled
cups-lpd.socket disabled disabled
cups.socket enabled disabled

AND
USB Canon id.
Bus 003 Device 008 ID 04a9:271b control = on, autosuspend_delay_ms = 2000 – Canon, Inc. LBP6200 (usbfs)

And i did a lot more but nothing works so I ask the Pro’s to try to help me to make it work.

I just glanced at it.

Is ccpd enabled and running

I see no mention of it in what you posted.

… it still feels like you simply didn’t follow the necessary procedure … didn’t complete all the steps …

… it’s not just cups
it’s also ccpd …

I think id does running

[sjostrand@AMDRyzen ~]$ systemctl status ccpd
● ccpd.service - Canon CAPT daemon
Loaded: loaded (/usr/lib/systemd/system/ccpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-06-23 11:19:26 CEST; 16min ago
Process: 1446 ExecStart=/usr/bin/ccpd (code=exited, status=0/SUCCESS)
Main PID: 1449 (ccpd)
Tasks: 1 (limit: 77097)
Memory: 1.5M
CPU: 13min 50.212s
CGroup: /system.slice/ccpd.service
└─1449 /usr/bin/ccpd

jun 23 11:19:26 AMDRyzen systemd[1]: Starting Canon CAPT daemon…
jun 23 11:19:26 AMDRyzen systemd[1]: Started Canon CAPT daemon.

I mange to make a print test but nothing else.

then i get this error: USB port busy; will retry in 30 seconds

What is CNUSB: becus only with this cnusb:/dev/usb/lp0 i can only make print test nothing else.