El dispositivo USB 2.0 (escáner) no funciona con xhci_hcd en el sistema USB 3.0

24

Estoy tratando de escanear con samsung scx-4200, que es una impresora con escáner. Cuando conecto la computadora portátil de mi hermano que tiene la misma versión de ubuntu (14.04), funciona. No sé cómo y por qué. No instaló ningún software para escanear. También probé otra computadora con sistema operativo básico, y también funciona. Ahora aquí es cuando se pone realmente raro! Intenté ejecutar muchas distribuciones desde USB en vivo en la computadora portátil mía y de mi hermano. El escáner siempre funciona con la laptop de mi hermano y nunca con la mía. Necesito mucho escáner y puede suceder que, debido a esto, pueda cambiar a Windows, lo que no me gusta porque no es de código abierto, ¡así que por favor ayuda! Aquí están las capturas de pantalla del error que recibo y la configuración de escaneo simple.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Edit1: el USB funciona bien con cualquier otro dispositivo. Hasta ahora, he conectado el mouse, la memoria flash USB, la cámara, y todos funcionan bien. Intenté conectar el escáner a los 3 puertos USB (2 3.0 y 1 2.0) y sucede lo mismo.

Edit2: Scanning funciona con el programa vuescan, pero requiere comprarlo para eliminar la marca de agua que crea, y es de código cerrado.

Edit3: De todas las computadoras portátiles probadas, solo la mía tiene USB 3.0 (x2). Sin embargo, el escaneo tampoco funciona en USB 2.0 (en mi computadora portátil).

Edit4: Aquí está la salida de sudo sane-find-scanner:

# sane-find-scanner ahora intentará detectar su escáner. Si el # resultado es diferente de lo que esperaba, primero asegúrese de que su # escáner esté encendido y conectado correctamente a su computadora.

# No se encontraron escáneres SCSI. Si esperaba algo diferente, asegúrese de que # haya cargado un controlador SCSI del núcleo para su adaptador SCSI.

# No se encontraron escáneres USB. Si esperaba algo diferente, asegúrese de que # haya cargado un controlador de kernel para su controlador host USB y que haya configurado el sistema USB correctamente. Ver man sane-usb para más detalles.

# No busca escáneres de puerto paralelo.

# La mayoría de los escáneres conectados al puerto paralelo u otros puertos propietarios # no pueden ser detectados por este programa.

Edit5: Probé todas las combinaciones de configuraciones en BIOS relacionadas con la configuración USB, sin resultado. Volví a la configuración original.

Edit6: probé scanlite, aquí está el error que me da:

ingrese la descripción de la imagen aquí

Edit7: La segunda vez que ejecuté Scanlite, dice que no detectó escáneres en mi computadora. A veces recibo mensajes similares en escaneo simple.

Edit8: el escáner funciona con escaneo simple después de hacer lo siguiente:

  1. Configuración del sistema abierto
  2. Impresoras haciendo clic
  3. Haga clic derecho en mi impresora (scx-4200) -> Propiedades
  4. Niveles de tinta / tóner
  5. Al hacer clic en Actualizar
  6. Abrir escaneo simple
  7. Hacer clic en escanear
  8. Esperando unos 10-20 segundos hasta que aparezca el mensaje de error (como en la captura de pantalla proporcionada)
  9. Al hacer clic en escanear nuevamente

Y eso es solo para 1 exploración.

Edit9: mi hermano y yo tenemos 64 bits. La computadora portátil de mi hermano es HP, y la mía es Asus. El mío tiene más opciones en BIOS. Tengo 2 USB 3.0 y uno 2.0, mientras que mi hermano tiene 3 x 2.0. Estas son algunas diferencias ... Aquí está la salida de uname -a para mi laptop:

Linux dusan-K55A 3.13.0-24-generic # 46-Ubuntu SMP jue jue 10 abr 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

Y aquí está mi hermano:

Linux milki-HP-2000-Notebook-PC 3.13.0-24-generic # 46-Ubuntu SMP jue 10 abr 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

Edit10: mi computadora portátil se instaló recientemente, la de hermano se actualizó. Lo mismo sucedió cuando ambas computadoras portátiles estaban ejecutando la nueva instalación 13.10

Edit11: Aquí está mi salida de lsmod:

Module                  Size  Used by
ctr                    13049  2 
ccm                    17773  2 
pci_stub               12622  1 
vboxpci                23194  0 
vboxnetadp             25670  0 
vboxnetflt             27613  0 
vboxdrv               339502  3 vboxnetadp,vboxnetflt,vboxpci
rfcomm                 69160  12 
bnep                   19624  2 
binfmt_misc            17468  1 
nls_iso8859_1          12713  1 
snd_hda_codec_hdmi     46207  1 
snd_hda_codec_realtek    61438  1 
joydev                 17381  0 
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40664  1 uvcvideo
videodev              134688  2 uvcvideo,videobuf2_core
snd_hda_intel          52355  3 
snd_hda_codec         192906  3          snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
ath3k                  13318  0 
snd_pcm               102099  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
btusb                  32412  0 
bluetooth             395423  23 bnep,ath3k,btusb,rfcomm
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
snd_seq_midi_event     14899  1 snd_seq_midi
asus_nb_wmi            16990  0 
asus_wmi               24191  1 asus_nb_wmi
sparse_keymap          13948  1 asus_wmi
snd_rawmidi            30144  1 snd_seq_midi
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29482  2 snd_pcm,snd_seq
intel_rapl             18773  0 
x86_pkg_temp_thermal    14205  0 
intel_powerclamp       14705  0 
coretemp               13435  0 
kvm_intel             143060  0 
snd                    69238  17 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
dm_multipath           22873  0 
kvm                   451511  1 kvm_intel
arc4                   12608  2 
csi_dh                14882  1 dm_multipath
crct10dif_pclmul       14289  0 
crc32_pclmul           13113  0 
ghash_clmulni_intel    13259  0 
aesni_intel            55624  4 
ath9k                 164164  0 
ath9k_common           13551  1 ath9k
aes_x86_64             17131  1 aesni_intel
ath9k_hw              453856  2 ath9k_common,ath9k
lrw                    13286  1 aesni_intel
gf128mul               14951  1 lrw
glue_helper            13990  1 aesni_intel
ablk_helper            13597  1 aesni_intel
cryptd                 20359  3 ghash_clmulni_intel,aesni_intel,ablk_helper
ath                    28698  3 ath9k_common,ath9k,ath9k_hw
mac80211              626489  1 ath9k
rtsx_pci_ms            18151  0 
psmouse               102222  0 
serio_raw              13462  0 
cfg80211              484040  3 ath,ath9k,mac80211
memstick               16966  1 rtsx_pci_ms
lpc_ich                21080  0 
soundcore              12680  1 snd
i915                  783485  4 
wmi                    19177  1 asus_wmi
mac_hid                13205  0 
drm_kms_helper         52758  1 i915
drm                   302817  5 i915,drm_kms_helper
mei_me                 18627  0 
mei                    82274  1 mei_me
video                  19476  2 i915,asus_wmi
i2c_algo_bit           13413  1 i915
parport_pc             32701  0 
ppdev                  17671  0 
lp                     17759  0 
parport                42348  3 lp,ppdev,parport_pc
hid_generic            12548  0 
usbhid                 52616  0 
hid                   106148  2 hid_generic,usbhid
rtsx_pci_sdmmc         23274  0 
ahci                   25819  3 
libahci                32168  1 ahci
r8169                  67581  0 
rtsx_pci               45956  2 rtsx_pci_ms,rtsx_pci_sdmmc
mii                    13934  1 r8169
dm_mirror              22135  0 
dm_region_hash         20862  1 dm_mirror
dm_log                 18411  2 dm_region_hash,dm_mirror

Y aquí está mi hermano:

Module                  Size  Used by
ctr                    13049  1 
ccm                    17773  1 
joydev                 17381  0 
snd_hda_codec_hdmi     46207  1 
snd_hda_codec_realtek    61438  1 
hp_wmi                 14062  0 
sparse_keymap          13948  1 hp_wmi
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40664  1 uvcvideo
videodev              134688  2 uvcvideo,videobuf2_core
bnep                   19624  2 
rfcomm                 69160  12 
intel_rapl             18773  0 
x86_pkg_temp_thermal    14205  0 
intel_powerclamp       14705  0 
coretemp               13435  0 
kvm                   451511  0 
crct10dif_pclmul       14289  0 
crc32_pclmul           13113  0 
ghash_clmulni_intel    13259  0 
cryptd                 20359  1 ghash_clmulni_intel
snd_hda_intel          52355  5 
snd_hda_codec         192906  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
arc4                   12608  2 
snd_pcm               102099  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
psmouse               102222  0 
serio_raw              13462  0 
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
ath9k                 164164  0 
ath9k_common           13551  1 ath9k
ath3k                  13318  0 
ath9k_hw              453856  2 ath9k_common,ath9k
rtsx_pci_ms            18151  0 
btusb                  32412  0 
bluetooth             395423  23 bnep,ath3k,btusb,rfcomm
ath                    28698  3 ath9k_common,ath9k,ath9k_hw
memstick               16966  1 rtsx_pci_ms
lpc_ich                21080  0 
snd_seq_midi           13324  0 
mac80211              626489  1 ath9k
binfmt_misc            17468  1 
snd_seq_midi_event     14899  1 snd_seq_midi
snd_rawmidi            30144  1 snd_seq_midi
cfg80211              484040  3 ath,ath9k,mac80211
wmi                    19177  1 hp_wmi
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
nls_iso8859_1          12713  1 
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29482  2 snd_pcm,snd_seq
mac_hid                13205  0 
snd                    69238  20 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
i915                  783485  5 
soundcore              12680  1 snd
video                  19476  1 i915
mei_me                 18627  0 
mei                    82274  1 mei_me
drm_kms_helper         52758  1 i915
drm                   302817  6 i915,drm_kms_helper
i2c_algo_bit           13413  1 i915
parport_pc             32701  0 
ppdev                  17671  0 
lp                     17759  0 
parport                42348  3 lp,ppdev,parport_pc
hid_generic            12548  0 
usbhid                 52616  0 
hid                   106148  2 hid_generic,usbhid
rtsx_pci_sdmmc         23274  0 
ahci                   25819  3 
r8169                  67581  0 
libahci                32168  1 ahci
mii                    13934  1 r8169
rtsx_pci               45956  2 rtsx_pci_ms,rtsx_pci_sdmmc

Edit12: El propietario de / dev / bus / usb / * es root. Aquí hay una salida de lusb :

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 04f2:b354 Chicony Electronics Co., Ltd 
Bus 001 Device 005: ID 13d3:3362 IMC Networks 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 04e8:341b Samsung Electronics Co., Ltd SCX-4200 series
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Encuentra Impresora (scx4200), así que supongo que también es un escáner, ya que es impresora y escáner (impresora multifunción).

Aquí hay una parte más reciente de / var / log / syslog "

May  6 19:47:07 dusan-K55A NetworkManager[1050]: <info> Activation (wlan0) successful, device activated.
May  6 19:47:07 dusan-K55A whoopsie[1317]: message repeated 6 times: [ offline]
May  6 19:47:08 dusan-K55A whoopsie[1317]: online
May  6 19:47:08 dusan-K55A signond[6522]: ../../../../src/signond/signondaemon.cpp 388 init Failed to SUID root. Secure storage will not be available. 
May  6 19:47:13 dusan-K55A ntpdate[6489]: adjust time server 91.189.94.4 offset 0.251812 sec
May  6 19:47:23 dusan-K55A kernel: [  249.508157] usb 3-3: new high-speed USB device number 3 using xhci_hcd
May  6 19:47:23 dusan-K55A kernel: [  249.525822] usb 3-3: New USB device found, idVendor=04e8, idProduct=341b
May  6 19:47:23 dusan-K55A kernel: [  249.525830] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May  6 19:47:23 dusan-K55A kernel: [  249.525834] usb 3-3: Product: SCX-4200 Series
May  6 19:47:23 dusan-K55A kernel: [  249.525837] usb 3-3: Manufacturer: Samsung
May  6 19:47:23 dusan-K55A kernel: [  249.525840] usb 3-3: SerialNumber: 8T21BAILC00139N.
May  6 19:47:23 dusan-K55A kernel: [  250.127578] WARNING! power/level is deprecated; use power/control instead
May  6 19:47:23 dusan-K55A colord: Device added: sysfs-Samsung-SCX-4200_Series
May  6 19:47:23 dusan-K55A kernel: [  250.206346] usblp 3-3:1.1: usblp0: USB Bidirectional printer dev 3 if 1 alt 0 proto 2 vid 0x04E8 pid 0x341B
May  6 19:47:23 dusan-K55A kernel: [  250.206372] usbcore: registered new interface driver usblp
May  6 19:47:24 dusan-K55A NetworkManager[1050]: <info> (wlan0): IP6 addrconf timed out or failed.
May  6 19:47:24 dusan-K55A NetworkManager[1050]: <info> Activation (wlan0) Stage 4 of 5 (IPv6 Configure Timeout) scheduled...
May  6 19:47:24 dusan-K55A NetworkManager[1050]: <info> Activation (wlan0) Stage 4 of 5 (IPv6 Configure Timeout) started...
May  6 19:47:24 dusan-K55A NetworkManager[1050]: <info> Activation (wlan0) Stage 4 of 5 (IPv6 Configure Timeout) complete.
May  6 19:47:25 dusan-K55A wpa_supplicant[1293]: wlan0: CTRL-EVENT-SCAN-STARTED 
May  6 19:47:28 dusan-K55A NetworkManager[1050]: <warn> nl_recvmsgs() error: (-33) Dump inconsistency detected, interrupted
May  6 19:47:41 dusan-K55A signond[6522]: QObject::disconnect: Unexpected null parameter
May  6 19:49:27 dusan-K55A dbus[916]: [system] Activating service name='org.freedesktop.hostname1' (using servicehelper)
May  6 19:49:27 dusan-K55A dbus[916]: [system] Successfully activated service 'org.freedesktop.hostname1'
May  6 19:51:57 dusan-K55A kernel: [  523.891783] usb 3-3: usbfs: interface 1 claimed by usblp while 'scan-thread' sets config #1
May  6 19:50:34 dusan-K55A wpa_supplicant[1293]: message repeated 3 times: [ wlan0: CTRL-EVENT-SCAN-STARTED ]
May  6 19:52:02 dusan-K55A wpa_supplicant[1293]: wlan0: WPA: Group rekeying completed with 7c:05:07:de:42:7a [GTK=TKIP]
May  6 19:52:17 dusan-K55A wpa_supplicant[1293]: wlan0: CTRL-EVENT-SCAN-STARTED 
May  6 19:53:24 dusan-K55A kernel: [  610.927164] usb 3-3: usbfs: interface 1 claimed by usblp while 'scan-thread' sets config #1

Y aquí hay una salida más reciente de /var/log/kern.log , aquí muestra algún tipo de interferencia del controlador :

May  6 19:47:04 dusan-K55A kernel: [  230.535670] ath9k 0000:02:00.0 wlan0: disabling HT as WMM/QoS is not supported by the AP
May  6 19:47:04 dusan-K55A kernel: [  230.535672] ath9k 0000:02:00.0 wlan0: disabling VHT as WMM/QoS is not supported by the AP
May  6 19:47:04 dusan-K55A kernel: [  230.537083] wlan0: associate with 7c:05:07:de:42:7a (try 1/3)
May  6 19:47:04 dusan-K55A kernel: [  230.541459] wlan0: RX AssocResp from 7c:05:07:de:42:7a (capab=0x411 status=0 aid=1)
May  6 19:47:04 dusan-K55A kernel: [  230.541663] wlan0: associated
May  6 19:47:23 dusan-K55A kernel: [  249.508157] usb 3-3: new high-speed USB device number 3 using xhci_hcd
May  6 19:47:23 dusan-K55A kernel: [  249.525822] usb 3-3: New USB device found, idVendor=04e8, idProduct=341b
May  6 19:47:23 dusan-K55A kernel: [  249.525830] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May  6 19:47:23 dusan-K55A kernel: [  249.525834] usb 3-3: Product: SCX-4200 Series
May  6 19:47:23 dusan-K55A kernel: [  249.525837] usb 3-3: Manufacturer: Samsung
May  6 19:47:23 dusan-K55A kernel: [  249.525840] usb 3-3: SerialNumber: 8T21BAILC00139N.
May  6 19:47:23 dusan-K55A kernel: [  250.127578] WARNING! power/level is deprecated; use power/control instead
May  6 19:47:23 dusan-K55A kernel: [  250.206346] usblp 3-3:1.1: usblp0: USB Bidirectional printer dev 3 if 1 alt 0 proto 2 vid 0x04E8 pid 0x341B
May  6 19:47:23 dusan-K55A kernel: [  250.206372] usbcore: registered new interface driver usblp
May  6 19:51:57 dusan-K55A kernel: [  523.891783] usb 3-3: usbfs: interface 1 claimed by usblp while 'scan-thread' sets config #1
May  6 19:53:24 dusan-K55A kernel: [  610.927164] usb 3-3: usbfs: interface 1 claimed by usblp while 'scan-thread' sets config #1

En ~ / .xsession-errors no hay errores, creo:

Script for ibus started at run_im.
Script for auto started at run_im.
Script for default started at run_im.
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd main process ended, respawning
init: at-spi2-registryd respawning too fast, stopped

Edit13: Al analizar los errores en /var/log/kern.log , descubrí que esta línea de error se emite en kern.log cuando recibo el error, no se encontró ningún escáner:

May  6 20:45:34 dusan-K55A kernel: [  500.209280] usb 3-3: usbfs: interface 1 claimed by usblp while 'scan-thread' sets config #1

Y aparece este error cuando aparece el error "Error al escanear" (como en la captura de pantalla):

May  6 20:52:03 dusan-K55A kernel: [  889.843120] usb 3-3: usbfs: interface 1 claimed by usblp while 'scan-thread' sets config #1

Edit14: me di cuenta de que con el controlador de Linux Universal de Samsung, que he instalado a través de este enlace , la impresión no funciona. Lo desinstalé e instalé controladores a través de la función Agregar impresora en la configuración del sistema -> impresoras. Sin embargo, ahora el escaneo no funciona incluso con los pasos en edit8, que anteriormente funcionaban, pero ahora, la impresión funciona. Sin embargo, el escaneo con vuescan todavía funciona.

Edit15: Aquí está la salida de grep 341b /etc/sane.d/xerox_mfp.conf :

usb 0x04e8 0x341b

Y salida de modprobe -r usblp; sane-find-scanner :

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

Aquí está la salida de ldd $ (que sane-find-scanner) :

linux-vdso.so.1 =>  (0x00007fffad7e6000)
    libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f872a0b6000)
    libieee1284.so.3 => /usr/lib/x86_64-linux-gnu/libieee1284.so.3 (0x00007f8729eaa000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8729ae3000)
    libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f87298d2000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f87296b4000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f872a2f4000)
    libcgmanager.so.0 => /lib/x86_64-linux-gnu/libcgmanager.so.0 (0x00007f8729499000)
    libnih.so.1 => /lib/x86_64-linux-gnu/libnih.so.1 (0x00007f8729281000)
    libnih-dbus.so.1 => /lib/x86_64-linux-gnu/libnih-dbus.so.1 (0x00007f8729077000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f8728e31000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8728c29000)

Edit16: Aquí está dll.conf .

Edit17: Aquí está log.txt , la salida de sudo strace sane-find-scanner .

Edit18: Aquí está la salida de scanimage -L , es lo mismo para el mío y el portátil de mi hermano:

device `xerox_mfp:libusb:003:003' is a SAMSUNG ORION multi-function peripheral
Dusan Milosevic
fuente
¿Se actualizó este sistema a la última versión? ¿El portátil de tu hermano es una instalación nueva? Pregunto porque actualizar sobre una instalación nueva puede causar problemas extraños como este. Sin embargo, son hardware diferente, por lo que podría ser un error desagradable.
fleamour
Esto parece que, quizás, puede ser un problema del módulo del núcleo (controlador). Quizás no se cargue uno específico que debería estar. Si también pudiera proporcionar la salida de lsmodambas computadoras con el escáner enchufado, eso puede darnos un buen punto de partida.
Chuck R
Cuando el escáner falla, ¿ve algún error en / var / log / syslog o /var/log/kern.log o ~ / .xsession-errors ?
bain
1
¡Funciona! Esto solucionó el problema y el escaneo ahora está funcionando. Publique la respuesta si desea recompensa de recompensa. Una pregunta: ¿afectará esto al rendimiento del USB 3.0?
Dusan Milosevic

Respuestas:

19

Su dispositivo USB 2.0 (en este caso, escáner) tiene algún problema de compatibilidad al interactuar con su sistema USB 3.0 (puertos USB3 o puertos USB2 de un concentrador USB3). El problema podría ser causado por el hardware / firmware del escáner, el firmware EFI / BIOS de la PC, el conjunto de chips USB de la PC o el controlador xhci_hcd del kernel de Linux.

Soluciones posibles:

  • Use un cable de extensión USB 2 corto (o simplemente un cable USB2) para conectar el dispositivo. Esto obliga al puerto USB 3 a usar señalización USB 2. Un dispositivo o cable USB 3 tiene 9 pines, mientras que un dispositivo o cable USB 2 solo tiene 4 pines. Un puerto USB 3 pasará de forma predeterminada a la comunicación de señalización USB 2 cuando solo se conecten 4 pines. Un cable de extensión USB 2 solo tiene 4 cables que conectan los 4 pines de las comunicaciones solo de USB 2.

  • Use un concentrador USB 1.1 (o 2.0) barato y conéctelo al puerto USB3. Conecte su dispositivo al concentrador USB 1.1 / 2.0. Esto forzará la conexión a ser USB1.1 / 2.0. Dado que el concentrador tiene un controlador USB diferente, solucionará algunos errores de protocolo. Un concentrador USB 1.1 es una buena opción para un dispositivo de "baja velocidad" como un mouse, teclado, etc. Un concentrador USB 2.0 puede ser necesario para un dispositivo de "velocidad máxima" como un escáner que no se degradará a USB 1.1.

  • Actualice el BIOS de su PC / laptop. Los fabricantes pueden solucionar muchos problemas de USB con soluciones en el BIOS / EFI.

  • Conecte el dispositivo USB 2.0 (escáner) a través de un puerto USB 2.0 si la computadora portátil tiene uno. Esto puede no hacer ninguna diferencia si sus puertos USB2 también están controlados por el controlador xhci_hcd (es decir, todavía se ve new high-speed USB device number x using xhci_hcden dmesg), en cuyo caso intente usar un concentrador USB2 externo.

  • Si se trata de una computadora de escritorio o servidor en lugar de una computadora portátil, pruebe con una tarjeta controladora USB PCI diferente. Las diferentes tarjetas USB3 tienen diferentes chips de controlador de host XHCI, por lo que la compatibilidad con diferentes concentradores / dispositivos USB varía.

  • Actualice el firmware de su dispositivo USB 2.0. Probablemente esto no sea posible para un escáner de nivel de consumidor, pero es posible para algunos dispositivos USB 2.0 (por ejemplo, cámaras Pro)

  • Reemplace su dispositivo USB 2.0 (escáner) con un dispositivo compatible con USB 3.0

  • Actualice al kernel principal más reciente

  • En UEFI / BIOS, cambie la configuración en la configuración USB, "Modo prearranque XHCI" de habilitado a deshabilitado. En algunas configuraciones de BIOS, esta configuración se conoce como "Modo XHCI".

    Los puertos USB 3.0 están controlados por el controlador xhci_hcd en Linux. Cuando el "modo de prearranque XHCI" está habilitado, el BIOS enrutará los puertos USB 3.0 al controlador USB3 xHCI . Cuando está deshabilitado, los puertos USB 3.0 se enrutan a los puertos EHCI (USB 2.0). La redacción "modo de prearranque" implica que esta opción solo afecta el entorno antesse inicia un sistema operativo completo (el texto de ayuda del BIOS asociado menciona explícitamente que esta opción se utiliza para la compatibilidad con USB3 en MSDOS); sin embargo, parece que esto también puede afectar el entorno posterior al arranque y puede tener el efecto de conectar los puertos USB 3.0 al controlador USB 2.0 incluso después de cargar Linux. La desventaja de esto es que todos los puertos USB 3 ahora se ejecutarán a velocidad USB 2.

  • Deshabilite el ahorro de energía USB para todos los dispositivos con la opción de módulo de kernel autosuspend :

    modprobe usbcore autosuspend=-1

    O si usbcore no es un módulo con este parámetro de arranque del kernel:

    usbcore.autosuspend=-1

    (en Ubuntu usbcore está incorporado, así que use el parámetro de arranque del kernel)

  • Deshabilite el ahorro de energía (USB autosuspend) para el escáner (desde Documentation / usb / power-management.txt .

    Cuando conecte el escáner dmesg|taily verá algo como

    usb 3-3: Product: SCX-4200 Series

    El número 3-3representa la ruta USB del dispositivo en el formato bus-port.port.port . Encontrará el directorio sysfs correspondiente en / sys / bus / usb / devices / 3-3 . Escribir en a potencia / control para desactivar la suspensión automática:

    echo on > /sys/bus/usb/devices/3-3/power/control

baño
fuente
5

Tuve un problema similar con mi escáner (todo en uno Brother MFC-j410) en Ubuntu 14.04 32 bit. El escáner solo funcionó después de iniciar XSANE por segunda vez y luego solo realizó una vista previa o escaneo de la operación. Intenté cambiar los puertos usb a usb 2.0 en vano. Mi placa base es una Asus B85M-k con un chip Intel i3 LGA1150.

Intenté virtualbox con una versión anterior de Ubuntu donde el escáner siempre funcionaba en otra PC. Aún así, no tuve suerte, lo que me hizo sospechar mucho sobre las capacidades del usb 3. La impresora también me dio algunas advertencias, pero imprimió.

después de leer esto

Los puertos USB 3.0 están controlados por el controlador xhci_hcd en Linux. Cuando el "modo de prearranque XHCI" está habilitado, el BIOS enrutará los puertos USB 3.0 al controlador USB3 xHCI. Cuando está deshabilitado, los puertos USB 3.0 se enrutan a los puertos EHCI (USB 2.0). La frase "modo de prearranque" implica que esta opción solo afecta el entorno antes de que se inicie un sistema operativo completo (el texto de ayuda del BIOS asociado menciona explícitamente que esta opción se utiliza para el soporte USB3 en MSDOS); sin embargo, parece que esto también puede afectar el entorno posterior al arranque y puede tener el efecto de conectar los puertos USB 3.0 al controlador USB 2.0 incluso después de cargar Linux (por lo que los puertos se ejecutan a velocidad USB2).

Entré en mi BIOS y en la configuración avanzada encontré y cambié el USB 3.0 de XHCI habilitado a deshabilitado y había otra configuración para el usb 2 (creo que era EHCI) de habilitado a deshabilitado o al revés, lo siento, no ' No recuerdo De todos modos, después de reiniciar en Ubuntu 14.04 32 bit, todo funcionó bien.

David a la luz de las velas
fuente
Sí, hice lo mismo, afortunadamente mi computadora portátil Dell tenía la opción de deshabilitar usb 3, reiniciar y listo, el escáner funciona bien ahora (por cierto el mío es un epson scansnap 1300i).
Maks
La desactivación de XHCI también funcionó para mí. Gracias.
Marcel Valdez Orozco
1

Actualización: De la información encontrada en los resultados de Internet:

  1. Los controladores v 2.0.0 se conocen universalmente como con errores (para que aplique un parche).
  2. El desarrollador del parche no continúa actualizándolo y dijo
    "Las versiones 2.xx de sus controladores de Linux tienen un defecto: el usuario tiene que ejecutar con permisos de root para poder escanear. Eso es muy peligroso" y sugiere instalar la versión 3.xx. "
  3. En el sitio de Samsung existe una versión 3 para Windows y OSX, no para Linux
  4. Siguiendo el enlace que da y buscando, encuentro un enlace: (tal vez funciona) http://www.openprinting.org/download/printdriver/debian/dists/lsb3.2/main/binary-i386/openprinting-ppds- postscript-samsung_20140331-1lsb3.2_all.deb
  5. En la misma ruta hay otro archivo llamado samsung

Incluso si ha descargado e instalado la versión 2.xx y el parche relativo, no puede esperar que funcione con un kernel diferente al que se probó.

Soluciones posibles:

  • Intente instalar la versión del controlador 3.xx o las del directorio vinculado anteriormente.
  • Averigua con qué kernel era compatible el par controlador + parche. Decida si instalar en su máquina o instalarlo dentro de una caja virtual.
  • Intente descargar los controladores y el programa para Windows (mejor uno antiguo) e intente instalarlos / ejecutarlos en Wine.
  • Aquí hay otro tutorial sobre cómo instalar esos controladores (idioma extranjero) de salida diferente para scanimage -L
    dispositivo smfp: SAMSUNG SCX-4200 Series en USB: 0 es un SAMSUNG SCX-4200 Series en USB: 0 Flatbed Scanner
  • Ignore las reglas de seguridad que impulsan al desarrollador del parche a crear el parche y ejecutar el programa del escáner no como un usuario sino como root. Con el controlador no parcheado. Arriesgado y peligroso . Realmente no te sugerí ...

Buena suerte


Mientras tanto, no encuentra una solución en Ubuntu, podría sugerirle esta solución alternativa. Tu dijiste

I might switch to windows, which I don't like because it's not open-source...

(Estoy de acuerdo) Entonces en su computadora bajo Windows parece que el escáner funciona. Intente instalar Windows y controladores en una imagen de Virtualbox. Si el escáner funciona, no debe cambiar el sistema ...

Si no funciona, intente ejecutar la misma máquina virtual en la computadora de su hermano. Si a partir de las funciones de esa computadora estará seguro de que hay una configuración en algún lugar de su computadora que puede intentar corregir. Buena suerte.

Hastur
fuente
No tengo ventanas, y no quiero usar la versión pirateada. Podría tomar prestada una computadora portátil con Windows de una computadora frita, pero no soy un usuario avanzado, así que no tengo ganas de arreglarlo yo mismo. Por eso pregunté aquí.
Dusan Milosevic
Estoy de acuerdo, lo dije. Comprendí que tienes 2 sistemas operativos en tu computadora portátil. Por cierto, dado que funciona con Vuescan y con Scanlite (incluso si no está en un modo adecuado), debo suponer que esto no es un problema de la configuración del BIOS. Confirmo que para otras marcas de escáner-impresora, el hecho de que Linux reconozca la impresora no implica que también se reconozca como un escáner. ¿Cuáles son los resultados lsusb de tu laptop ? ¿ Dmesg le da algunos errores nuevos cuando falla el escáner? (Resolví un problema con Epson RX690 con scanlite . Funciona pero sudo sane-find-scannerresponde con su mismo resultado).
Hastur
@Dusan Milosevic: Respuesta actualizada
Hastur
Tridé todos los controladores en ese sitio, y ninguno funciona. ¡Gracias!
Dusan Milosevic
Realmente le sugiero que instale VirtualBox y cree una o dos máquinas virtuales: en la máquina virtual, el riesgo de ejecutar un programa como root es relativo solo a la máquina virtual, por lo que puede aceptarlo. Además, si falla, siempre puede instalar un antiguo kernel de Linux + controlador + parche ...
Hastur
1

Intente conectar el escáner a través de un USB con alimentación. Existe la posibilidad de que su computadora no esté poniendo suficiente energía en el puerto USB.

Para cualquier otra persona que tenga este problema, asegúrese de verificar agregar un concentrador USB con alimentación. Ha resuelto el problema en muchas ocasiones con computadoras que tenían problemas con dispositivos que funcionaban en otras computadoras.

Esto ha funcionado con pen drives que fallaron en mi computadora principal y en las computadoras de los clientes. También ha resuelto problemas con unidades USB externas que fallan en ciertos puertos usb donde funcionaban otros dispositivos.

También he tenido ocasiones en que los adaptadores de cable Y han servido como la misma resolución.

Espero que esta aclaración salve a otros que tienen problemas similares.

No sé si el problema del OP está resuelto en este momento. Pero las diferencias entre su computadora y las otras computadoras que ha descrito tienen todo exacto, incluida la misma versión y actualización, el USB es un factor claro en este caso, que podría resolverse con un concentrador con alimentación o un adaptador USB con cable Y.

LD James
fuente
¿Y como hacer eso?
Dusan Milosevic
Compre un hub usb que tenga un adaptador de corriente. Imagen de ejemplo: image.apollo3.com/image/gen/poweredusbadapter140507.jpg
LD James
Es una impresora con escáner, así que creo que tiene suficiente potencia, por lo tanto, funciona muy bien en la computadora portátil de mi hermano ... Dije, no voy a gastar dinero en escanear, ¡lo que funciona con cualquier otra computadora excepto la mía! ¿Y qué tipo de respuesta es esta? Cualquiera podría decir "Compre una nueva computadora portátil" y eso probablemente solucionaría este problema, ¡pero no es una respuesta de calidad!
Dusan Milosevic
2
Por cierto, no recomiendo una computadora portátil de $ 300.00. Estoy recomendando un concentrador USB de $ 7.00. Eso es mucho más económico que comprar un sistema operativo Windows de $ 300.00 con otros $ 300.00 en el procesador de textos y accesorios. Menciono esto porque está en tu pregunta. Si bien no es mi sugerencia, en mi entorno reemplazo una computadora portátil posiblemente defectuosa, ya que es más económica que reemplazar el sistema operativo. En su pregunta, dice que su USB funciona con todo lo demás. Pero mencionaré que para mí, es común que ciertos dispositivos USB fallen con algunos de mis puertos USB.
LD James
1
Vale la pena probar un concentrador USB diferente si tiene uno por ahí. Los errores de protocolo USB expuestos por un programa pueden no aparecer necesariamente con otro, incluso en el mismo hardware.
bain
1

Daré una respuesta simple sin pretender ser mejor.

Con algunas placas base, los antiguos escáneres USB 2.0 no funcionan. No importa si están conectados a un puerto USB 2.0 o 3.0.

Una solución fácil es deshabilitar XHCI modeen UEFI, también conocido como BIOS. Se ha mencionado en otras respuestas, pero no es fácil de encontrar.

Este problema ha sido abordado por los desarrolladores del núcleo y puede solucionarse en los núcleos más nuevos.

Piloto6
fuente
1

El kernel de Linux versión 4.1.1 (disponible en http://kernel.ubuntu.com/~kernel-ppa/mainline/ ) resuelve el problema de que algunos escáneres no funcionan con USB 3.0. Al menos lo hace en mi computadora.

Para ser reconocido como un escáner que debe estar disponible para usuarios no root para algunos dispositivos, una línea como

SUBSYSTEM=="usb", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", MODE:="666", GROUP="users"

puede ser necesario en un archivo llamado /etc/udev/rules.d/samsung.ruleso similar. El comando puede leer los identificadores del proveedor y del producto

lsusb

en la siguiente línea:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

el dispositivo (en este caso no es un escáner sino un hub usb, pero no tenía un escáner disponible en este momento) tiene la identificación del proveedor 1d6b y la identificación del producto 0002.

Gunter Königsmann
fuente
0

Una solución alternativa que encontré fue configurar una máquina virtual (tanto VirtualBox como VMWare [player] deberían estar bien) con cualquier distribución de Linux que desee, lo configuré para que sea compatible con el protocolo USB 2.0. Una vez que redirija mi dispositivo USB a la VM, puedo escanear desde allí.

Treviño
fuente