Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 21/07/2025, à 15:15

ylag

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

Bonjour,

Vérifier la présence du paquet  libusb-0.1-4 :

dpkg -l  libusb-0.1-4
apt policy  libusb-0.1-4

Corrigé en supprimant un espace en trop dans le nom du paquet ...

A+

Dernière modification par ylag (Le 21/07/2025, à 17:58)

Hors ligne

#52 Le 21/07/2025, à 16:57

smooth

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

alain@alain-HP-Desktop-M01-F1xxx:~$ dpkg -l | awk '/^rc/{print $2}' | xargs -r sudo dpkg -P
alain@alain-HP-Desktop-M01-F1xxx:~$ dpkg -l  libusb -0.1-4
dpkg-query: aucun paquet ne correspond à libusb
dpkg-query: aucun paquet ne correspond à -0.1-4
alain@alain-HP-Desktop-M01-F1xxx:~$ apt policy  libusb -0.1-4
Erreur : L'option « 0 » de la ligne de commande [-0.1-4] n'est pas reconnue quand elle est utilisée avec d'autres options.

Hors ligne

#53 Le 21/07/2025, à 17:01

nany

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

Bonjour,



ylag a écrit :

Vérifier la présence du paquet  libusb -0.1-4 :

dpkg -l  libusb -0.1-4
apt policy  libusb -0.1-4

Ça marchera mieux sans l’espace entre libusb et -0.1-4 :

dpkg -l  libusb-0.1-4
apt policy  libusb-0.1-4

Hors ligne

#54 Le 21/07/2025, à 17:56

ylag

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

@nany :

Bonjour,

Désolé pour la faute de frappe, je corrige de ce pas ...

A+

Hors ligne

#55 Le 22/07/2025, à 13:44

smooth

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

alain@alain-HP-Desktop-M01-F1xxx:~$ dpkg -l  libusb -0.1-4
dpkg-query: aucun paquet ne correspond à libusb
dpkg-query: aucun paquet ne correspond à -0.1-4
alain@alain-HP-Desktop-M01-F1xxx:~$ apt policy  libusb -0.1-4
Erreur : L'option « 0 » de la ligne de commande [-0.1-4] n'est pas reconnue quand elle est utilisée avec d'autres options.
alain@alain-HP-Desktop-M01-F1xxx:~$ 

Hors ligne

#56 Le 22/07/2025, à 14:06

ylag

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

Bonjour,

Relis le #51, il y avait erreur dans les commandes ...

A+

Hors ligne

#57 Le 22/07/2025, à 15:35

smooth

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

alain@alain-HP-Desktop-M01-F1xxx:~$ dpkg -l  libusb-0.1-4
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=att>
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom                Version           Architecture Description
+++-==================-=================-============-=========================>
ii  libusb-0.1-4:amd64 2:0.1.12-35build1 amd64        userspace USB programming>
...skipping...
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=att>
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom                Version           Architecture Description
+++-==================-=================-============-=========================>
ii  libusb-0.1-4:amd64 2:0.1.12-35build1 amd64        userspace USB programming>
~

Hors ligne

#58 Le 22/07/2025, à 16:41

ylag

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

Bonjour,

Le paquet libusb-0.1-4 est correctement installé, fausse piste donc ...

Il fallait installer la version i386 de ce paquet, qui correspond à la version des pilotes installés ; desolé de l'avoir omis, et merci @eric63 de l'avoir mentionné ...

A+

Dernière modification par ylag (Le 23/07/2025, à 12:40)

Hors ligne

#59 Le 22/07/2025, à 20:12

eric63

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

souvent c’est la libusb-0.1-4:i386 qui manque car les paquets installés du scanner sont 32bits

sudo apt install libusb-0.1-4:i386

Dernière modification par eric63 (Le 22/07/2025, à 20:14)


Kubuntu 25.04 wayland Plasma 6.4.3 KDE Qt 6.8.3 noyau 6.14.0-24 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script demonipuch
J’utilise le clavier LDLC AFNOR

Hors ligne

#60 Le 23/07/2025, à 10:17

smooth

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

alain@alain-HP-Desktop-M01-F1xxx:~$ sudo apt install libusb-0.1-4:i386
[sudo] Mot de passe de alain : 
Installation de :                               
  libusb-0.1-4:i386

Installation de dépendances : 
  gcc-15-base:i386  libgcc-s1:i386  libunistring5:i386
  libc6:i386        libidn2-0:i386

Paquets suggérés :
  glibc-doc:i386  locales:i386  libnss-nis:i386  libnss-nisplus:i386

Sommaire :
  Mise à niveau de : 0. Installation de : 6Supprimé : 0. Non mis à jour : 0
Taille du téléchargement : 3956 kB
  Espace nécessaire : 15,6 MB / 95,9 GB disponible

Continuer ? [O/n] 
Réception de : 1 http://fr.archive.ubuntu.com/ubuntu plucky/main i386 gcc-15-base i386 15-20250404-0ubuntu1 [53,7 kB]
Réception de : 2 http://fr.archive.ubuntu.com/ubuntu plucky/main i386 libgcc-s1 i386 15-20250404-0ubuntu1 [94,1 kB]
Réception de : 3 http://fr.archive.ubuntu.com/ubuntu plucky-updates/main i386 libc6 i386 2.41-6ubuntu1.1 [3077 kB]
Réception de : 4 http://fr.archive.ubuntu.com/ubuntu plucky/main i386 libunistring5 i386 1.3-1 [611 kB]
Réception de : 5 http://fr.archive.ubuntu.com/ubuntu plucky/main i386 libidn2-0 i386 2.3.8-2 [103 kB]
Réception de : 6 http://fr.archive.ubuntu.com/ubuntu plucky/main i386 libusb-0.1-4 i386 2:0.1.12-35build1 [18,0 kB]
3956 ko réceptionnés en 0s (20,4 Mo/s)      
Préconfiguration des paquets...
Sélection du paquet gcc-15-base:i386 précédemment désélectionné.
(Lecture de la base de données... 201030 fichiers et répertoires déjà installés.
)
Préparation du dépaquetage de .../0-gcc-15-base_15-20250404-0ubuntu1_i386.deb ..
.
Dépaquetage de gcc-15-base:i386 (15-20250404-0ubuntu1) ...
Sélection du paquet libgcc-s1:i386 précédemment désélectionné.
Préparation du dépaquetage de .../1-libgcc-s1_15-20250404-0ubuntu1_i386.deb ...
Dépaquetage de libgcc-s1:i386 (15-20250404-0ubuntu1) ...
Sélection du paquet libc6:i386 précédemment désélectionné.
Préparation du dépaquetage de .../2-libc6_2.41-6ubuntu1.1_i386.deb ...
Dépaquetage de libc6:i386 (2.41-6ubuntu1.1) ...
Sélection du paquet libunistring5:i386 précédemment désélectionné.
Préparation du dépaquetage de .../3-libunistring5_1.3-1_i386.deb ...
Dépaquetage de libunistring5:i386 (1.3-1) ...
Sélection du paquet libidn2-0:i386 précédemment désélectionné.
Préparation du dépaquetage de .../4-libidn2-0_2.3.8-2_i386.deb ...
Dépaquetage de libidn2-0:i386 (2.3.8-2) ...
Sélection du paquet libusb-0.1-4:i386 précédemment désélectionné.
Préparation du dépaquetage de .../5-libusb-0.1-4_2%3a0.1.12-35build1_i386.deb ..
.
Dépaquetage de libusb-0.1-4:i386 (2:0.1.12-35build1) ...
Paramétrage de gcc-15-base:i386 (15-20250404-0ubuntu1) ...
Paramétrage de libgcc-s1:i386 (15-20250404-0ubuntu1) ...
Paramétrage de libc6:i386 (2.41-6ubuntu1.1) ...
Paramétrage de libusb-0.1-4:i386 (2:0.1.12-35build1) ...
Paramétrage de libunistring5:i386 (1.3-1) ...
Paramétrage de libidn2-0:i386 (2.3.8-2) ...
Traitement des actions différées (« triggers ») pour libc6-i386 (2.41-6ubuntu1.1
) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.41-6ubuntu1.1) 
...
Traitement des actions différées (« triggers ») pour systemd (257.4-1ubuntu3.1) 
...
alain@alain-HP-Desktop-M01-F1xxx:~$ 

Hors ligne

#61 Le 23/07/2025, à 10:47

smooth

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

Merci à tous, la Brother fonctionne à nouveau, imprimante et scanner .je vais passer en résolu. Bel été à vous tous......;

Hors ligne

#62 Hier à 01:46

eric63

Re : problème d'impresion d'une Brother DCP-L2530DW RESOLU

bonne nuit
@smooth comme tu as semble t il des paquets 32bits et la libusb-0.1-4:i386 voudrais tu essayer le script d’iznobe pour voir s’il fonctionne pour les machines avec les paquets 32 bits

pas grand chose à faire
désinstaller le paquet  libusb-0.1-4:i386
avec la commande

sudo apt remove  libusb-0.1-4:i386

puis créer un fichier dans ton dossier perso
Script_Iznobe  le rendre exécutable à l’aide des propriétés (clic droit sur le fichier)
et copier ceci dans le fichier

  #!/bin/bash
# Script d'installation pour imprimantes Brother

. /lib/lsb/init-functions

Model_Name="$1"
Con_Typ="$2"
if ((Con_Typ)); then Connection="Réseau"; #else Connection="USB"
fi
IP="$3"
User="$SUDO_USER"
Dir="$(pwd)"/"$(dirname "$0")"
Temp_Dir="/tmp/packages"
Codename="$(lsb_release -cs)"
Arch="$(uname -m)"
date=$(date +%F_%T)
Logfile="/home/$User/brprinter-installer.log"
#Logfile="/home/$User/brprinter-installer.$date.log"
Lib_Dir="/usr/lib/$Arch-linux-gnu"
Url_Inf="http://www.brother.com/pub/bsc/linux/infs"
# Packages :
# https://download.brother.com/pub/com/linux/linux/packages/
Url_Pkg="http://www.brother.com/pub/bsc/linux/packages"


Udev_Rules="/lib/udev/rules.d/60-libsane1.rules"
Udev_Deb="brother-udev-rule-type1-1.0.2-0.all.deb"
Udev_Deb_Url="http://download.brother.com/welcome/dlf006654/$Udev_Deb"

Blue="\\033[1;34m"
Red="\\033[1;31m"
Resetcolor="\\033[0;0m"

#########################
# PRÉPARATION DU SCRIPT #
#########################
do_init_script() {
	# On vérifie qu'on lance le script en root
	if ((EUID)); then
		echo -e "$Red Vous devez lancer ce script en tant que root : sudo bash $0 $Resetcolor"
		exit 0
	fi
	# Si un log existe déjà on le renomme
	if [[ -f $Logfile ]]; then
		mv "$Logfile" "$(date +"$Logfile.%F_%T")"
	fi
	# Si le premier argument est vide on demande le modèle de l'imprimante
	while [[ -z "$Model_Name" ]]; do
		read -rp "Entrez votre modèle d' imprimante : " Model_Name
	done
	Model_Name=${Model_Name^^}
	# On demande comment est connectée l'imprimante
	while [[ -z "$Connection" ]]; do
		read -rp "Sélectionner le type de connectivité : [0] USB - [1] Réseau , votre choix : "
		case $REPLY in
			0)
				Connection="USB"
			;;
			1)
				Connection="Réseau"
				echo -e "$Red Vous devez d' abord vous assurer que votre imprimante possède une adresse IP fixe. $Resetcolor"
				echo -e "$Red Veuillez consulter le manuel de votre imprimante pour plus de détails : http://support.brother.com/g/b/productsearch.aspx?c=fr&lang=fr&content=ml $Resetcolor"
				#read -rp "Entrez l'adresse IP de votre imprimante : " IP
				# On valide le format de l'adresse IP de l'imprimante
				#IP=$(echo "$IP" | awk -F'[.]' '{w=$1+0; x=$2+0; y=$3+0; z=$4+0; print w"."x"."y"."z}')
			;;
		esac
	done

	echo "# Ubuntu Codename : $Codename" &>> "$Logfile"
	echo "# Architecture : $Arch" &>> "$Logfile"
	echo "# Modèle de l'imprimante : $Model_Name" &>> "$Logfile"
	echo "# Type de connexion : $Connection" &>> "$Logfile"
	echo "# Repertoire courant : $Dir" &>> "$Logfile"

	RegIP="^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"

	if [[ "$Connection" == "Réseau" ]]; then
		while [[ -z "$IP" ]]; do
			read -rp "Entrez l'adresse IP de votre imprimante : " IP
		    if [[ $IP =~ $RegIP ]]; then
      			echo "# Adresse IP : $IP" &>> "$Logfile"
	      	else
	    		unset IP
	    	fi
	    done
	fi
	echo "# Repertoire courant : $Dir" &>> "$Logfile"
}

##############################
# TÉLÉCHARGEMENT DES PILOTES #
##############################
do_download_drivers() {
	echo -e "$Blue Téléchargement des pilotes de l'imprimante $Resetcolor"
	echo "# Vérification des pré-requis" &>> "$Logfile"
	# On crée le dossier de téléchargement des paquets
	if [[ ! -d "$Temp_Dir" ]]; then
		mkdir "$Temp_Dir"
	fi
	# On transforme le nom de l'imprimante
	log_action_begin_msg "Recherche des pilotes"
	Printer_Name=$(echo "$Model_Name" | sed -e 's/-//')
	# On construit l'URL du fichier contenant les informations
	Printer_Info="$Url_Inf/$Printer_Name"
	# On vérifie l'URL
	if ! wget -q --spider "$Printer_Info"; then
		log_action_end_msg 1
		echo " - Aucun pilote trouvé" &>> "$Logfile"
		echo -e "$Red Aucun pilote trouvé. Veuillez vérifier le modèle de votre imprimante ou visitez la page suivante http://support.brother.com/g/b/productsearch.aspx?c=us&lang=en&content=dl afin de télécharger les pilotes et les installer manuellement. $Resetcolor"
		exit 1
	fi
	# On vérifie que le fichier fournit les informations
	Lnk=$(wget -q "$Printer_Info" -O - | grep LNK - | cut -d= -f2)
	if [[ "$Lnk" ]]; then
		Printer_Info="$Url_Inf/$Lnk"
		echo "# Link to : $Printer_Info" &>> "$Logfile"
	fi
	echo "# Fichier d'informations : $Printer_Info" &>> "$Logfile"
	# On récupère le nom des paquets disponibles
	Printer_Lpd_Deb=$(wget -q "$Printer_Info" -O - | grep PRN_LPD_DEB - | cut -d= -f2)
	Printer_Cups_Deb=$(wget -q "$Printer_Info" -O - | grep PRN_CUP_DEB - | cut -d= -f2)
	Printer_Drv_Deb=$(wget -q "$Printer_Info" -O - | grep PRN_DRV_DEB - | cut -d= -f2)
	Scanner_Deb=$(wget -q "$Printer_Info" -O - | grep SCANNER_DRV - | cut -d= -f2)
	Scankey_Deb=$(wget -q "$Printer_Info" -O - | grep SCANKEY_DRV - | cut -d= -f2)

	Scanner_Info="$Url_Inf/$Scanner_Deb.lnk"
	Scankey_Info="$Url_Inf/$Scankey_Deb.lnk"

	# On récupère les pilotes du scanner en fonctionnement de l'architecture du système (32-bits ou 64-bits)
	case "$Arch" in
		i*86)
			Scanner_Drv_Deb=$(wget -q "$Scanner_Info" -O - | grep DEB32 | cut -d= -f2)
			Scankey_Drv_Deb=$(wget -q "$Scankey_Info" -O - | grep DEB32 | cut -d= -f2)
		;;
		x86_64)
			Scanner_Drv_Deb=$(wget -q "$Scanner_Info" -O - | grep DEB64 | cut -d= -f2)
			Scankey_Drv_Deb=$(wget -q "$Scankey_Info" -O - | grep DEB64 | cut -d= -f2)
		;;
		*)
			echo "Architecture inconnue: $Arch" &>> "$Logfile"
		;;
	esac

	if [[ -n "$Scanner_Drv_Deb" ]]; then
		echo "# Téléchargement du paquet : $Udev_Deb" &>> "$Logfile"
		log_action_begin_msg "Téléchargement du paquet : $Udev_Deb"
		wget -cP "$Temp_Dir" "$Udev_Deb_Url" &>> "$Logfile"
		log_action_end_msg $?
	fi

	for pkg in "$Printer_Lpd_Deb" "$Printer_Cups_Deb" "$Printer_Drv_Deb" "$Scanner_Drv_Deb" "$Scankey_Drv_Deb"; do
		# On ajoute la liste des pilotes trouvés au fichier de journalisation
		if [[ -n "$pkg" ]]; then
			echo " - Paquet trouvé : $pkg" &>> "$Logfile"
			log_action_end_msg 0
			# On télécharge les pilotes trouvés
			Url_Deb="$Url_Pkg"/"$pkg"
			echo &>> "$Logfile"
			echo "# Téléchargement du paquet : $pkg" &>> "$Logfile"
			log_action_begin_msg "Téléchargement du paquet : $pkg"
			wget -cP "$Temp_Dir" "$Url_Deb" &>> "$Logfile"
			log_action_end_msg $?
		fi
	done
}

###############################
# VERIFICATION DES PRÉ-REQUIS #
###############################
do_check_prerequisites() {
	echo -e "$Blue Vérification des pré-requis $Resetcolor"
	echo "# Vérification des pré-requis" &>> "$Logfile"
	log_action_begin_msg "Mise à jour de la liste des paquets"
	apt-get update -qq
	log_action_end_msg $?
	# On vérifie que le paquet multiarch-support est installé et on l'installe le cas échéant (Ubuntu 64-bits seulement)
	if [[ "$Arch" == "x86_64" ]]; then
		log_action_begin_msg "Recherche du paquet 'multiarch-support' sur votre système"
		if dpkg -s multiarch-support &>/dev/null; then
			log_action_end_msg $?
			echo " - Paquet 'multiarch-support' deja installé" &>> "$Logfile"
		else
			log_action_end_msg 1
			echo " - Paquet 'multiarch-support' non installé" &>> "$Logfile"
			apt-get install -qq multiarch-support &>> "$Logfile"
			log_action_end_msg $?
		fi
		log_action_begin_msg "Recherche du paquet 'lib32stdc++6' sur votre système"
		if dpkg -s lib32stdc++6 &>/dev/null; then
			log_action_end_msg $?
			echo " - Paquet 'lib32stdc++6' deja installé" &>> "$Logfile"
		else
			log_action_end_msg 1
			echo " - Paquet 'lib32stdc++6' non installé" &>> "$Logfile"
			apt-get install -qq lib32stdc++6 &>> "$Logfile"
			log_action_end_msg $?
		fi
	fi
	# On vérifie que le paquet cups est installé et on l'installe le cas échéant
	log_action_begin_msg "Recherche du paquet 'cups' sur votre système"
	if dpkg -s cups &>/dev/null; then
		log_action_end_msg $?
		echo " - Paquet 'cups' deja installé" &>> "$Logfile"
	else
		log_action_end_msg 1
		apt-get install -qq cups &>> "$Logfile"
		log_action_end_msg $?
	fi
	# Si un pilote pour le scanner a été trouvé on vérifie que sane-utils est installé
	if [[ -n $Scanner_Deb ]]; then
		log_action_begin_msg "Recherche du paquet 'sane-utils' sur votre système"
		if dpkg -s sane-utils &>/dev/null; then
			log_action_end_msg $?
			echo " - Paquet 'sane-utils' deja installé" &>> "$Logfile"
		else
			log_action_end_msg 1
			echo " - Paquet 'sane-utils' non installé" &>> "$Logfile"
			apt-get install -qq sane-utils &>> "$Logfile"
			log_action_end_msg $?
		fi
		# On vérifie que libusb-0.1-4:i386 est installé
		if [[ $Connection == "USB" ]]; then
			log_action_begin_msg "Recherche du paquet 'libusb-0.1-4' sur votre système"
			if dpkg -s libusb-0.1-4 &>/dev/null; then
				log_action_end_msg $?
				echo " - Paquet 'libusb-0.1-4' deja installé" &>> "$Logfile"
			else
				log_action_end_msg 1
				echo " - Paquet 'libusb-0.1-4' non installé" &>> "$Logfile"
				apt-get install -qq libusb-0.1-4 &>> "$Logfile"
				log_action_end_msg $?
			fi
		fi
	fi
	# On vérifie que le paquet csh est installé et on l'installe le cas échéant (uniquement pour certaines imprimantes)
	for i in DCP-110C DCP-115C DCP-117C DCP-120C DCP-310CN DCP-315CN DCP-340CW FAX-1815C FAX-1820C FAX-1835C FAX-1840C FAX-1920CN FAX-1940CN FAX-2440C MFC-210C MFC-215C MFC-3220C MFC-3240C MFC-3320CN MFC-3340CN MFC-3420C MFC-3820CN MFC-410CN MFC-420CN MFC-425CN MFC-5440CN MFC-5840CN MFC-620CN MFC-640CW MFC-820CW; do
		if [[ "$Model_Name" == "$i" ]]; then
			log_action_begin_msg "Recherche du paquet 'csh' sur votre système"
			if [[ ! -x /bin/csh ]]; then
				log_action_end_msg 1
				apt-get install -qq csh &>> "$Logfile"
				log_action_end_msg "$?"

			else
				echo " - Paquet 'csh' deja installé" &>> "$Logfile"
			fi
		fi
	done
	# On vérifie que le dossier /usr/share/cups/model existe et on le crée le cas échéant
	log_action_begin_msg "Recherche du dossier '/usr/share/cups/model' sur votre système"
	if [[ -d /usr/share/cups/model ]]; then
		log_action_begin_msg "Le dossier '/usr/share/cups/model' existe deja"
		log_action_end_msg $?
	else
		log_action_end_msg 1
		log_action_begin_msg "Creation du dossier '/usr/share/cups/model'"
		mkdir -pv /usr/share/cups/model &>> "$Logfile"
		log_action_end_msg $?
	fi
	# On vérifie que le dossier /var/spool/lpd existe et on le crée le cas échéant
	log_action_begin_msg "Recherche du dossier '/var/spool/lpd' sur votre système"
	if [[ -d /var/spool/lpd ]]; then
		log_action_begin_msg "Le dossier '/var/spool/lpd' existe deja"
		log_action_end_msg $?
	else
		log_action_end_msg 1
		log_action_begin_msg "Creation du dossier '/var/spool/lpd'"
		mkdir -pv /var/spool/lpd &>> "$Logfile"
		log_action_end_msg $?
	fi
	# On vérifie que le lien symbolique /etc/init.d/lpd existe et on le crée le cas échéant (uniquement pour certaines imprimantes)
	for i in DCP-1000 DCP-1400 DCP-8020 DCP-8025D DCP-8040 DCP-8045D DCP-8060 DCP-8065DN FAX-2850 FAX-2900 FAX-3800 FAX-4100 FAX-4750e FAX-5750e HL-1030 HL-1230 HL-1240 HL-1250 HL-1270N HL-1430 HL-1440 HL-1450 HL-1470N HL-1650 HL-1670N HL-1850 HL-1870N HL-5030 HL-5040 HL-5050 HL-5070N HL-5130 HL-5140 HL-5150D HL-5170DN HL-5240 HL-5250DN HL-5270DN HL-5280DW HL-6050 HL-6050D MFC-4800 MFC-6800 MFC-8420 MFC-8440 MFC-8460N MFC-8500 MFC-8660DN MFC-8820D MFC-8840D MFC-8860DN MFC-8870DW MFC-9030 MFC-9070 MFC-9160 MFC-9180 MFC-9420CN MFC-9660 MFC-9700 MFC-9760 MFC-9800 MFC-9860 MFC-9880; do
		if [[  "$Model_Name" == "$i" ]]; then
			log_action_begin_msg "Recherche du lien symbolique '/etc/init.d/lpd ~> /etc/init.d/cups' sur votre système"
			if [[ -L /etc/init.d/lpd ]]; then
				log_action_end_msg 0
			else
				log_action_end_msg 1
				log_action_begin_msg "Creation du lien symbolique '/etc/init.d/lpd ~> /etc/init.d/cups'"
				ln -s /etc/init.d/cups /etc/init.d/lpd
				# On crée un lien symbolique vers cups.service si systemd est utilisé
				if [[ -L /sbin/init ]]; then
					ln -s /lib/systemd/system/cups.service /lib/systemd/system/lpd.service
					systemd-daemon reload
				fi
				log_action_end_msg $?
			fi
		fi
	done
}

############################
# INSTALLATION DES PAQUETS #
############################
do_install_drivers() {
	echo -e "$Blue Installation des pilotes $Resetcolor"
	for pkg in "$Printer_Lpd_Deb" "$Printer_Cups_Deb" "$Printer_Drv_Deb" "$Scanner_Drv_Deb" "$Scankey_Drv_Deb" "$Udev_Deb"; do
		if [[ -n "$pkg" ]] && [[ -f "$Temp_Dir/$pkg" ]]; then
			log_action_begin_msg "Installation du paquet : $pkg"
			echo &>> "$Logfile"
			echo "# Installation par 'dpkg' du paquet : $pkg" &>> "$Logfile"
			dpkg -i --force-all "$Temp_Dir/$pkg" &>> "$Logfile"
			log_action_end_msg $?
		fi
	done
}

#################################
# CONFIGURATION DE L'IMPRIMANTE #
#################################
do_configure_printer() {
	echo -e "$Blue Configuration de l'imprimante $Resetcolor"
	# On recherche un fichier ppd
	log_action_begin_msg "Recherche d'un fichier PPD sur votre système"
	echo &>> "$Logfile"
	echo "# Recherche d'un fichier PPD" &>> "$Logfile"
	for pkg in "$Printer_Cups_Deb" "$Printer_Drv_Deb"; do
		if [[ -n "$pkg" ]] && [[ -f "$Temp_Dir/$pkg" ]]; then
			Ppd_File=$(dpkg --contents "$Temp_Dir/$pkg" | grep ppd | awk '{print $6}' | sed 's/^.//g')
		fi
	done
	if [[ -z "$Ppd_File" ]]; then
		for file in $(find /usr/share/cups/model -type f); do
			if [[ $(grep -i Brother "$file" | grep -E "$Model_Name"|"$Printer_Name") ]]; then
				Ppd_File="$file"
			fi
		done
	fi
	echo " - Fichier PPD : $Ppd_File" &>> "$Logfile"
	log_action_end_msg 0
	# On ajoute une nouvelle imprimante
	log_action_begin_msg "Ajout de l'imprimante  $Model_Name"
	echo &>> "$Logfile"
	echo "# Ajout de l'imprimante $Model_Name" &>> "$Logfile"
	echo " - Backup du fichier /etc/cups/printers.conf.O" &>> "$Logfile"
	cp /etc/cups/printers.conf.O "$Dir" &>> "$Logfile"
	echo " - Arret du service CUPS" &>> "$Logfile"
	systemctl stop cups &>> "$Logfile"
	echo " - Restauration du fichier printers.conf" &>> "$Logfile"
	cp "$Dir"/printers.conf.O /etc/cups/printers.conf &>> "$Logfile"
	echo " - Redémarrage du service CUPS" &>> "$Logfile"
	systemctl restart cups &>> "$Logfile"
	case "$Connection" in
	"USB")
		sleep 2 && lpadmin -p "$Model_Name" -E -v usb://dev/usb/lp0 -P "$Ppd_File"
	;;
	"Réseau")
		sleep 2 && lpadmin -p "$Model_Name" -E -v lpd://"$IP"/binary_p1 -P "$Ppd_File"
	;;
	esac
	log_action_end_msg $?
	echo " - Restauration du fichier printers.conf.O" &>> "$Logfile"
	cp "$Dir"/printers.conf.O /etc/cups/printers.conf.O &>> "$Logfile"
}

############################
# CONFIGURATION DU SCANNER #
############################
do_configure_scanner() {
	if [[ -n "$Scanner_Deb" ]]; then
		echo -e "$Blue Configuration du scanner $Resetcolor"
		echo &>> "$Logfile"
		echo "# Configuration du scanner" &>> "$Logfile"

		if [[ $Connection == "USB" ]]; then
			# On ajoute une entrée au fichier udev
			if [[ ! $(grep "ATTRS{idVendor}==\"04f9\", ENV{libsane_matched}=\"yes\"" "$Udev_Rules") ]]; then
				echo "Adding ATTRS{idVendor}==\"04f9\", ENV{libsane_matched}=\"yes\"" to "$Udev_Rules" &>> "$Logfile"
				sed -i "/LABEL=\"libsane_usb_rules_begin\"/a\
				\n# Brother\nATTRS{idVendor}==\"04f9\", ENV{libsane_matched}=\"yes\"" "$Udev_Rules"
			else
				echo "Règle udev trouvée dans le fichier $Udev_Rules" &>> "$Logfile"
			fi
			# On recharge les règles udev
			udevadm control --reload
		elif [[ $Connection == "Réseau" ]]; then
			log_action_begin_msg "Configuration du scanner réseau"
			if [[ -x /usr/bin/brsaneconfig ]]; then
				brsaneconfig -a name="SCANNER" model="$Model_Name" ip="$IP" &>> "$Logfile"
			elif [[ -x /usr/bin/brsaneconfig2 ]]; then
				brsaneconfig2 -a name="SCANNER" model="$Model_Name" ip="$IP" &>> "$Logfile"
			elif [[ -x /usr/bin/brsaneconfig3 ]]; then
				brsaneconfig3 -a name="SCANNER" model="$Model_Name" ip="$IP" &>> "$Logfile"
			elif [[ -x /usr/bin/brsaneconfig4 ]]; then
				sed -i '/Support Model/a\
0x029a, 117, 1, "MFC-8690DW", 133, 4\
0x0279, 14, 2, "DCP-J525W"\
0x027b, 13, 2, "DCP-J725DW"\
0x027d, 13, 2, "DCP-J925DW"\
0x027f, 14, 1, "MFC-J280W"\
0x028f, 13, 1, "MFC-J425W"\
0x0281, 13, 1, "MFC-J430W"\
0x0280, 13, 1, "MFC-J435W"\
0x0282, 13, 1, "MFC-J625DW"\
0x0283, 13, 1, "MFC-J825DW"\
0x028d, 13, 1, "MFC-J835DW"' /opt/brother/scanner/brscan4/Brsane4.ini
				brsaneconfig4 -a name=SCANNER model= "$Model_Name" ip="$IP" &>> "$Logfile"
			fi
			log_action_end_msg $?
		fi
		# On copie les bibliotheques
		if [[ "$Arch" == "x86_64" ]] && [[ -d $Lib_Dir ]]; then
			log_action_begin_msg "Copie des bibliotheques nécessaires"
			if [[ -e /usr/bin/brsaneconfig ]]; then
				cd "$Lib_Dir" || exit
				cp --force /usr/lib64/libbrcolm.so.1.0.1 .
				ln -sf libbrcolm.so.1.0.1 libbrcolm.so.1
				ln -sf libbrcolm.so.1 libbrcolm.so
				cp --force /usr/lib64/libbrscandec.so.1.0.0 "$Lib_Dir"
				ln -sf libbrscandec.so.1.0.0 libbrscandec.so.1
				ln -sf libbrscandec.so.1 libbrscandec.so
				cd "$Lib_Dir"/sane || exit
				cp --force /usr/lib64/sane/libsane-brother.so.1.0.7 .
				ln -sf libsane-brother.so.1.0.7 libsane-brother.so.1
				ln -sf libsane-brother.so.1 libsane-brother.so
				log_action_end_msg 0
			elif [[ -e /usr/bin/brsaneconfig2 ]]; then
				cd "$Lib_Dir" || exit
				cp --force /usr/lib64/libbrscandec2.so.1.0.0 .
				ln -sf libbrscandec2.so.1.0.0 libbrscandec2.so.1
				ln -sf libbrscandec2.so.1 libbrscandec2.so
				cp --force /usr/lib64/libbrcolm2.so.1.0.1 .
				ln -sf libbrcolm2.so.1.0.1 libbrcolm2.so.1
				ln -sf libbrcolm2.so.1 libbrcolm2.so
				cd "$Lib_Dir"/sane || exit
				cp --force /usr/lib64/sane/libsane-brother2.so.1.0.7 .
				ln -sf libsane-brother2.so.1.0.7 libsane-brother2.so.1
				ln -sf libsane-brother2.so.1 libsane-brother2.so
				log_action_end_msg 0
			elif [[ -e /usr/bin/brsaneconfig3 ]]; then
				cd "$Lib_Dir" || exit
				cp --force /usr/lib64/libbrscandec3.so.1.0.0 .
				ln -sf libbrscandec3.so.1.0.0 libbrscandec3.so.1
				ln -sf libbrscandec3.so.1 libbrscandec3.so
				cd "$Lib_Dir"/sane || exit
				cp --force /usr/lib64/sane/libsane-brother3.so.1.0.7 .
				ln -sf libsane-brother3.so.1.0.7 libsane-brother3.so.1
				ln -sf libsane-brother3.so.1 libsane-brother3.so
				log_action_end_msg 0
			elif [[ -e /usr/bin/brsaneconfig4 ]]; then
				cd "$Lib_Dir"/sane || exit
				ln -sf libsane-brother4.so.1.0.7 libsane-brother4.so.1
				ln -sf libsane-brother4.so.1 libsane-brother4.so
				log_action_end_msg 0
			elif [[ -e /usr/bin/brsaneconfig5 ]]; then
				cd "$Lib_Dir"/sane || exit
				ln -sf /usr/lib/x86_64-linux-gnu/sane/libsane-brother5.so.1.0 libsane-brother5.so.1
				ln -sf /usr/lib/x86_64-linux-gnu/sane/libsane-brother5.so.1.0.7 libsane-brother5.so.1.0
				ln -sf /opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 libsane-brother5.so.1.0.7
			else
				log_action_end_msg 1
				echo -e "$Red No config binary found. $Resetcolor"
			fi
		fi
	fi
}

#################
# FIN DU SCRIPT #
#################
do_clean() {
	# On supprime le fichier printers.conf.O
	if [[ -e "$Dir"/printers.conf.O ]]; then
		rm "$Dir"/printers.conf.O &>> "$Logfile"
	fi
	# On réattribue les droits des dossiers/fichiers crées à l'utilisateur
	chown -R "$User": "$Temp_Dir" "$Logfile"
	exit 0
}

do_init_script
do_download_drivers
do_check_prerequisites
do_install_drivers
do_configure_printer
do_configure_scanner
do_clean 

et sauvegarder ce fichier
et rebooter ton ordi

puis exécuter le fichier dans un terminal
et copier ce que le terminal te renvoi
et le coller dans le retour de ton post

tout ceci afin de vérifier si la libusb à bien été réinstallé automatiquement


Kubuntu 25.04 wayland Plasma 6.4.3 KDE Qt 6.8.3 noyau 6.14.0-24 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script demonipuch
J’utilise le clavier LDLC AFNOR

Hors ligne