#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,
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