Argumento no válido: el escáner Brother no funciona después de la actualización (controlador brscan2)

31

Recientemente actualicé Ubuntu 13.10 (Saucy).

Escanear a través de mi MFC-420CN había estado funcionando en Ubuntu y Linux Mint se instala a través de Olivia y Oneric. Sin embargo, una vez que me actualicé de estos, el escaneo se rompió. Instalé una copia nueva de saucy para verificar que no era solo algo relacionado con la actualización.

El sitio web de Brother tiene un aviso de que todos los modelos brscan1 ya no admiten el escaneo usb a partir de Ubuntu 11.10, pero parece que no se aplica a los modelos brscan2 y brscan3. Además, encontré varias otras publicaciones que parecen indicar que al menos los modelos brscan4 están funcionando actualmente. Sin embargo, no he podido verificar los escáneres que utilizan brscan2 (u otros buceadores que no sean brscan4) y ubuntu 13.10 (en realidad 12.10 y superior) están funcionando actualmente.

Para referencias cruzadas / para ayudar a otros con el problema, la lista completa de escáneres brscan2 es la siguiente:

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-340CW DCP-350C DCP-353C DCP-357C DCP- 540CN DCP-560CN DCP-7010 DCP-7020 DCP-7025 DCP-750CW DCP-770CW DCP-8060 DCP-8065DN MFC-210C MFC-215C MFC-230C MFC-235C MFC-240C MFC-260C MFC-3240C MFC-3340CN MFC -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-680CN MFC-680CN MFC-7225N MFC-7420 MFC-7820N MFC-820CW MFC-845CW MFC-8460N MFC-8660DN MFC-8670DN MFC-885CW MFC-8860DN MFC-8870DW MFC-9420CN

Preguntas / problemas similares previamente formulados (pero para el hardware del controlador brscan3):


Hasta ahora he intentado:

  • Instalar sane-utils

  • instrucciones en el sitio web de brother con respecto a la instalación de brscan2, incluido el uso del indicador dpkg -f

  • edición /lib/udev/rules.d/40-libsane.rules para incluir

código:

# Brother scanners

ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
  • copiando archivos de lib a lib64:

código:

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 .
  • instalando ia32-libs y repitiendo la instalación de sane-utils
  • eliminando el controlador brscan2 de 64 bits y reemplazándolo por el de 32 bits, pero los resultados de scanimage con la configuración del controlador de 32 bits para el modo usb o de red fueron menos que prometedores:

código:

# 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).
  • de los controladores de Windows de 32 bits con WINE que emite Win2000 o XP, casi se completa en 2000.

Depuración de controladores de 64 bits:

Con brscan2 instalado, puedo abrir escaneo simple y encontrar el escáner; Además, la salida de scanimage indica que todo está bien:

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

Pero el escaneo (incluso como usuario root) todavía no funciona.

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

xsane produce un error similar:

 Failed to start scanner: Invalid argument

sane-find-scanner produce un error de tubería que se muestra aquí: http://pastebin.com/tTNMyD1m pero eso parece estar relacionado con el hecho de que Brother está proporcionando el controlador, no cuerdo.

Estoy bastante atrapado en este punto, cualquier ayuda sería apreciada.

virtualxtc
fuente
Acabo de encontrar este enlace que parece indicar que los resultados de sane-find-scanner pueden ignorarse, y debería centrarme en el error de argumento no válido: linuxquestions.org/questions/slackware-14/…
virtualxtc 12/12/2013
Mira esto . adicionalmente puede agregar brother-lpr-drivers-mfc9420cnybrother-cups-wrapper-mfc9420cn
@DuminduMahawela, aparte de los paquetes * -dev, tenía todos esos "controladores de escáner" instalados.
virtualxtc
Le envié un correo electrónico a Brother para pedir ayuda y hice referencia a esta pregunta en caso de que haya alguna actualización. Hermano reconoció mi boleto, pero aparte de eso, todo lo que tengo es aire muerto. Compré otra impresora-escáner basada en la lista de compatibilidad sana .
virtualxtc
¿Puede ser útil la sección "SOLUCIÓN" de esta página? bugs.launchpad.net/ubuntu/+source/xsane/+bug/478761
sabik

Respuestas:

23

Después de actualizar a 13.10 recibí el mismo error al escanear. Hay dos problemas aquí.

  1. El error El argumento inválido no es un problema de argumento, pero es un problema de acceso de escritura.
  2. El otro problema es que el bus y el número de desarrollo están equivocados por el error de scanimage.

¿Cómo encontrar y solucionar el problema?

Instale los controladores brscan4 desde el sitio web hermano

sudo dpkg -i brscan4-0.4.2-1.amd64.deb

Comprueba si funciona

sudo brsaneconfig4 -d

Pruebe para ver si el escáner está instalado (el escáner debe estar encendido). Y ejecutar como usuario NO 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

o

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

Puede usar el siguiente script para actualizar los permisos para el escáner.

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

lsusb enumera los dispositivos usb

grep -i brother encontrará el dispositivo hermano (se supone que solo tengo un dispositivo hermano conectado a los USB a la vez)

sed 's/://' | awk '{printf "/dev/bus/usb/%s/%s", $2,$4}' encontrará los números de bus y dispositivo

xargs -i -t sudo chmod 666 "{}" agregará permiso de escritura al escáner

Aquí hay información más detallada sobre por qué hicimos lo que hicimos arriba

Para averiguar dónde está el escáner hermano en el uso del autobús lsusb. Este es uno de los problemas en el scanimage. El bus es 003 y el dispositivo es 002 y no el bus 5, dev 1 según 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
...

Para solucionar el problema, deberá utilizar la ruta en función de la ubicación del escáner hermano en el lsusbcomando. En mi caso fue bus 003y device 002. Tenga en cuenta que si desconecta el cable USB del escáner y lo vuelve a conectar al dispositivo, obtendrá un nuevo número y / o bus. (El número vuelve a 2 cuando reinicia la PC)

Ejemplos:

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

o solo:

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

Scanimage necesita corregir el mensaje cuando no puede acceder al escáner para tener el bus y el número de desarrollo correctos y también decirle al usuario que el problema es un problema de acceso de escritura.

Brothernecesita actualizar el código del controlador para que el usuario global pueda escribir en el escáner, es decir, chmod 666en la ubicación del controlador del escáner

marca
fuente
¿Alguien puede confirmar esta solución? Afortunadamente, saqué este escáner de mi escritorio un mes después de publicar la pregunta y tuve que comprar un nuevo escáner (compatible con SANE). Mark / Dan la respuesta aún no está clara debido a varios problemas de gramática, corríjalos para que pueda sentirme cómodo votando.
virtualxtc
1
Esta respuesta parece realmente prometedora como la salida lsusby scanimage -Lmuestra diferentes números de dev / bus. Traté de cambiar los permisos en el /dev/bus/usb/...archivo en vano. ¿Hay alguna otra forma de hacer que el sistema operativo busque el número correcto de bus / dev USB para el escáner?
David Thomas
Esto funcionó. Después de hacer los cambios en la respuesta y arrancar xsane, la primera vez que traté de obtener una vista previa me daría un error "el escáner no pudo iniciarse". Pero volver a intentarlo funcionaría. Ahora puedo escanear! :)
jja
2
No me lo arregló
Natim
1
Esta solución funcionó para mí con Lubuntu 16.04 y Brother DCP-7030. Sin embargo, después de reiniciar, todos los permisos se restablecen. Parece que se necesita una regla udev?
Xavier13
3

Simplemente agregue su usuario al grupo lp ...

usermod -a -G lp username

De esta manera, tendrá permisos de escritura para su escáner.

Probado con:

  • 14.04 LTS 64 bit actualizado
  • Hermano DCP-J315W
  • linux-brprinter-installer-2.0.0-1 descargado del Centro de soporte de Brother

Los permisos para la impresora / escáner en / dev / bus / usb / 001 son:

crw-rw-r-- 1 root lp

Es por esto que agregar su nombre de usuario al grupo lp es una solución.

Bellera
fuente
Como lo indica el '#', estaba ejecutando el comando como root y todavía obtenía el error, por lo que definitivamente esta no era la solución al error anterior.
virtualxtc
1
¿Copió (o vinculó con ln -s) las bibliotecas de / usr / lib64 a / usr / lib como se sugiere en support.brother.com/g/s/id/linux/en/… ?
Bellera
Bienvenido a AskUbuntu. Tenga en cuenta que normalmente lo documentaría -1 por esto: si hubiera leído mi pregunta, particularmente lo que está escrito bajo la parte "hasta ahora lo he intentado", sabría que la respuesta es ' sí'. En el futuro, lea la pregunta completa antes de responder.
virtualxtc
2

Pruebe este programa llamado VueScan, estaba buscando el controlador mfc-420cn y me encontré con este sitio web: " http://www.hamrick.com/ " Sin embargo, no he podido probar esto (porque todavía tengo que encontré el cable de alimentación de mi antigua impresora que estaba acumulando polvo), pero decía que admitiría una gran variedad de impresoras, así que pensé que debería publicarlo. De todos modos, espero que esto ayude.

Jade
fuente
¡Gracias, pero por el precio de ese software puedo comprar un escáner compatible con SANE! Como esta respuesta no está verificada y solo es un poco mejor que "comprar un escáner mejor", dejaré la pregunta abierta.
virtualxtc
1
En mi experiencia (hace mucho tiempo), VueScan es excelente; probablemente muy superior a la mayoría de los controladores de escáner. Sus ventajas son más evidentes para escanear fotografías y / o para un control fino sobre la calidad del escaneo. Creo que puedes descargarlo y probarlo gratis. La ventaja es que nunca más tendrá que sufrir con las limitaciones del desagradable controlador propietario del fabricante. Lamentablemente, debe pagar a un tercero para que continúe usando el escáner que ya pagó. Mucha gente ha decidido que el costo vale la pena, porque VueScan funciona bien en escáneres viejos y nuevos.
Tommy Trussell
He pasado varias horas intentando cada solución para este problema (que se puede encontrar en las primeras páginas de Google), y VueScan es la única solución que ha funcionado hasta ahora. No compraría un escáner Brother con Linux.
MRule
1

Me encontré con el mismo problema, y ​​de acuerdo con https://wiki.debianforum.de/Brother_Scanner, el error "Argumento no válido" puede ser causado si la impresora está conectada a un puerto USB 3 (controlado por xhci_hcd). Comenzó a funcionar para mí tan pronto como cambié a un puerto USB 2 (controlado por ehci_hcd).

Florian Echtler
fuente
No tenía puertos usb 3 en la computadora en la que recibía este error.
virtualxtc
0

Estoy usando Ubuntu 13.10 32bit

Utilizo MFC-7820N y cada vez que actualizo el kernel tengo que reinstalar todos los controladores hermanos. Los que tengo son: brmfc7840nlpr-2.0.2-1.i386, brscan2-0.2.5-1.i386, cupswrapperMFC7840N-2.0.2-1.i386

Luego verifico que la regla "ATTRS {idVendor} ==" 04f9 ", ENV {libsane_matched} =" yes "" no se haya modificado o eliminado en /lib/udev/rules.d/40-libsane.rules

Después de todo eso reinicio.

Por último, le daré a la impresora Brother su propio controlador host USB, solo como una medida adicional para las pruebas.

Kris
fuente
brmfc7840nlpr-2.0.2-1.i386 y upswrapperMFC7840N-2.0.2-1.i386 son controladores de impresora e irrelevantes para esta pregunta.
virtualxtc
Podría ser una cosa de 64 bits frente a 32 bits, sin embargo, nunca tuve problemas con 64 bits antes. ¿Qué núcleo estás ejecutando? ¿Alguien más puede verificar que tienen esto funcionando?
virtualxtc
1
También actualicé recientemente a 13.10 en una máquina de 64 bits. Antes de que mi escáner / impresora DCP-135C de Brother funcionara, ahora no funciona. Además, no puedo instalar los controladores anteriores proporcionados por Brother porque entran en conflicto con brother-lpr-drivers-extra. Si desinstalo brother-lpr-drivers-extra e instalo los controladores proporcionados por brother, todavía no funciona.
ramiro