web-dev-qa-db-fra.com

Argument non valide - Le scanner Brother ne fonctionne pas après la mise à niveau (pilote brscan2)

J'ai récemment mis à jour Ubuntu 13.10 (Saucy).

La numérisation via mon MFC-420CN fonctionnait sous Ubuntu et Linux Mint s’installait via Olivia et Oneric. Cependant, une fois que j'ai mis à niveau à partir de ces derniers, la numérisation a éclaté. J'ai installé une nouvelle copie de Saucy pour vérifier qu'il ne s'agissait pas uniquement de la mise à niveau.

Le site Web de Brother indique que tous les modèles brscan1 ne prennent plus en charge l'analyse USB à partir d'Ubuntu 11.10, mais cela ne semble pas s'appliquer aux modèles brscan2 et brscan3. De plus, j'ai trouvé plusieurs autres posts qui semblent indiquer qu'au moins les modèles brscan4 fonctionnent actuellement. Cependant, je n'ai pas pu vérifier que les scanneurs utilisant brscan2 (ou d'autres plongeurs autres que brscan4) et Ubuntu 13.10 (actuellement 12.10 et plus) fonctionnent actuellement.

Pour renvoyer/aider les autres à résoudre le problème, voici la liste complète des scanners brscan2:

DCP-110C DCP-115C DCP-117C DCP-120C DCP-130C DCP-135C DCP-150C DCP-153C DCP-155C DCP-310CN DCP-315CN DCP-330C DCP-315C DCP-355C DCP-315C DCP-315C DCP-120C 540CN DCP-560CN DCP-7010 DCP-7020 DCP-7025 DCP-750CW DCP-770CW DCP-8060 DCP-8065DN MFC-215C MFC-230C MFC-235C MFC-240C MFC-260C MFC-3240CN MFC-3240CN -3360C MFC-410CN MFC-420CN MFC-425CN MFC-440CN MFC-465CN MFC-5440CN MFC-5460CN MFC-5840CN MFC-5860CN MFC-620CN MFC-640CW MFC-660CN MFC-665CW MFC-7225N MFC-7420 MFC-7820N MFC-820CW MFC-845CW MFC-8460N MFC-8660DN MFC-8670DN MFC-885CW MFC-8860DN MFC-8870DW MFC-9420CN

Questions/problèmes similaires précédemment posés (mais pour le matériel du pilote brscan3):


Jusqu'à présent, j'ai essayé:

  • Installer sane-utils

  • irections sur le site Web de brother concernant l'installation de brscan2, y compris l'utilisation de l'indicateur dpkg -f

  • éditer /lib/udev/rules.d/40-libsane.rules à inclure

code:

# Brother scanners

ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
  • copier des fichiers de lib à lib64:

code:

cd /usr/lib
ln -s ../lib64/libbrscandec2.so.1.0.0 .
ln -s ../lib64/libbrcolm2.so.1.0.1 .
ln -s ../lib64/libbrcolm2.so .
ln -s ../lib64/libbrscandec2.so.1 .
ln -s ../lib64/libbrscandec2.so .
ln -s ../lib64/libbrcolm2.so.1
cd sane
ln -s ../../lib64/sane/libsane-brother2.so.1.0.7 .
ln -s ../../lib64/sane/libsane-brother2.so.1 .
ln -s ../../lib64/sane/libsane-brother2.so .
  • installer ia32-libs et répéter l'installation de sane-utils
  • supprimer le pilote brscan2 64 bits et le remplacer par un pilote 32 bits, mais les résultats de scanimage avec la configuration du pilote 32 bits pour le mode usb ou réseau étaient peu prometteurs:

code:

# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
  • des pilotes Windows 32 bits avec WINE eumlating Win2000 ou XP - il s’achève presque en 2000.

Débogage des pilotes 64 bits:

Avec brscan2 installé, je peux ouvrir un scan simple et trouver le scanner. de plus, scanimage indique que tout va bien:

# scanimage -L
device `brother2:bus5;dev2' is a Brother DCP-350C USB scanner

Mais l'analyse (même en tant qu'utilisateur root) ne fonctionne toujours pas.

> Sudo scanimage >image.pnm
scanimage: open of device brother2:bus2;dev4 failed: Invalid argument

xsane produit une erreur similaire:

 Failed to start scanner: Invalid argument

sane-find-scanner produit une erreur de pipe montrée ici: http://Pastebin.com/tTNMyD1m mais cela semble être lié au fait que Brother fournit le pilote, pas sain d'esprit.

Je suis plutôt coincé à ce stade, toute aide serait la bienvenue.

31
virtualxtc

Après avoir mis à jour à 13.10, j'ai eu la même erreur lors de la numérisation. Ici, nous avons deux problèmes.

  1. L'erreur argument non valide n'est pas un problème d'argument, mais un problème d'accès en écriture.
  2. L'autre problème est que le bus et le numéro de dev sont faux à cause de l'erreur scanimage.

Comment trouver et résoudre le problème?

Installez les pilotes brscan4 à partir du site Brother

Sudo dpkg -i brscan4-0.4.2-1.AMD64.deb

Vérifiez pour voir si cela fonctionne

Sudo brsaneconfig4 -d

Testez pour voir si le scanner est installé (le scanner doit être sous tension). Et exécutez en tant qu'utilisateur non root

$ scanimage -L
device `brother4:bus5;dev1' is a Brother ADS-2000 USB scanner
$ scanimage --test
scanimage: open of device brother4:bus5;dev1 failed:
Invalid argument

ou

$ scanimage
scanimage: open of device brother4:bus5;dev1 failed:
Invalid argument

Vous pouvez utiliser le script suivant pour mettre à jour les autorisations du scanner.

lsusb | grep -i brother | sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}' | xargs -i -t Sudo chmod 666 "{}"

lsusb liste les périphériques usb

grep -i brother trouvera le périphérique Brother (je suppose que vous n'avez qu'un seul périphérique Brother connecté aux clés USB à la fois)

sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}' trouvera les numéros de bus et de périphérique

xargs -i -t Sudo chmod 666 "{}" ajoutera la permission d'écriture au scanner

Voici des informations plus détaillées sur pourquoi nous avons fait ce que nous avons fait ci-dessus

Pour savoir où se trouve le scanner Brother sur le bus, utilisez lsusb. C'est l'un des problèmes de scanimage. Le bus est 003 et le périphérique est 002 et non le bus 5, dev 1 selon scanimage

$ lsusb
Bus 003 Device 002: ID 04f9:60a0 Brother Industries, Ltd**  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...

Pour résoudre le problème, vous devez utiliser le chemin d'accès en fonction de l'emplacement du scanner Brother dans la commande lsusb. Dans mon cas, il s'agissait de bus 003 et de device 002. Notez que si vous débranchez le câble USB du scanner et le rebranchez sur le périphérique, vous obtiendrez un nouveau numéro et/ou un nouveau bus. (Le numéro revient à 2 lorsque vous redémarrez le PC)

Exemples:

Sudo cd /dev/bus/usb/003
Sudo chmod 666 002

ou juste:

Sudo chmod 666 /dev/bus/usb/003/002

Scanimage doit corriger le message quand il ne peut pas accéder au scanner pour avoir le bon bus et le bon numéro de dev et indiquer à l'utilisateur que le problème est un problème d'accès en écriture.

Brother doit mettre à jour le code du pilote pour que l’utilisateur global puisse écrire dans le scanner, à savoir chmod 666 dans l’emplacement du pilote du scanner.

23
Mark

Ajoutez simplement votre utilisateur au groupe lp ...

usermod -a -G lp username

Comme cela, vous aurez des autorisations en écriture pour votre scanner.

Testé avec:

  • 14.04 LTS 64 bit à jour
  • Brother DCP-J315W
  • linux-brprinter-installer-2.0.0-1 téléchargé depuis le centre de support Brother

Les autorisations pour l’imprimante/scanner sur/dev/bus/usb/001 sont les suivantes:

crw-rw-r-- 1 root lp

C'est pour cela que l'ajout de votre nom d'utilisateur au groupe lp est une solution.

3
Bellera

Essayez ce programme appelé VueScan, je cherchais le pilote mfc-420cn et je suis tombé sur ce site: " http://www.hamrick.com/ " Je n'ai pas été en mesure de le tester (car je n’ai pas encore trouvé le câble d’alimentation de mon ancienne imprimante qui a accumulé la poussière.), mais il disait que cela prendrait en charge une grande variété d’imprimantes. J’ai donc pensé que je devrais le poster. Quoi qu'il en soit, espérons que cela aide.

2
Jade

J'ai rencontré le même problème, et selon https://wiki.debianforum.de/Brother_Scanner l'erreur "Invalid Argument" peut être provoquée si l'imprimante est connectée à un port USB 3 (contrôlé par xhci_hcd). Cela a commencé à fonctionner pour moi dès que je suis passé sur un port USB 2 (contrôlé par ehci_hcd).

1
Florian Echtler

J'utilise Ubuntu 13.10 32bit

J'utilise MFC-7820N et chaque fois que je mets à niveau le noyau, je dois réinstaller tous les pilotes Brother. Ceux que j'ai sont: brmfc7840nlpr-2.0.2-1.i386, brscan2-0.2.5-1.i386, cupswrapperMFC7840N-2.0.2-1.i386

Je vérifie ensuite que la règle "ATTRS {idVendor} ==" 04f9 ", ENV {libsane_matched} =" yes "" n'a pas été modifiée ni supprimée dans /lib/udev/rules.d/40-libsane.rules

Après tout ça, je redémarre.

Enfin, je vais donner à l’imprimante Brother son propre contrôleur hôte USB, comme mesure supplémentaire de test.

0
Kris