O dispositivo USB 2.0 (scanner) não funciona com xhci_hcd no sistema USB 3.0

24

Estou tentando digitalizar com a samsung scx-4200, que é uma impressora com scanner. Quando conecto o laptop do meu irmão que tem a mesma versão do ubuntu (14.04), ele funciona. Não sei como e por quê. Ele não instalou nenhum software para digitalização. Eu também tentei outro computador com sistema operacional elementar, e também funciona. Agora é aqui que fica realmente estranho! Tentei executar muitas distribuições a partir de USB ativo no laptop do meu e do irmão. O scanner sempre funciona com o irmão e nunca com o meu laptop. Eu preciso muito de scanner e pode acontecer que, por causa disso, eu possa mudar para o Windows, o que não gosto porque não é de código aberto, então, por favor, ajude! Aqui estão as capturas de tela do erro que estou recebendo e as configurações da verificação simples.

insira a descrição da imagem aqui insira a descrição da imagem aqui

Edit1: O USB funciona bem com qualquer outro dispositivo. Até agora, conectei mouse, memória flash USB, câmera e todos eles funcionam bem. Eu tentei conectar o scanner a todas as 3 portas USB (2 3.0 e 1 2.0) e a mesma coisa acontece.

Edit2: A digitalização funciona com o programa vuescan, mas é necessário comprá-lo para remover a marca d'água que ele cria e sua fonte fechada.

Edit3: De todos os laptops testados, apenas o meu possui USBs 3.0 (x2). No entanto, a digitalização também não funciona no USB 2.0 (no meu laptop).

Edit4: Aqui está a saída de sudo sane-find-scanner:

# sane-find-scanner agora tentará detectar seu scanner. Se o # resultado for diferente do esperado, primeiro verifique se o # scanner está ligado e conectado corretamente ao seu computador.

# Nenhum scanner SCSI encontrado. Se você esperava algo diferente, verifique se # carregou um driver SCSI do kernel para o seu adaptador SCSI.

# Nenhum scanner USB encontrado. Se você esperava algo diferente, # verifique se carregou um driver de kernel para o seu controlador host USB e # configurou o sistema USB corretamente. Veja man sane-usb para detalhes.

# Não está verificando scanners de portas paralelas.

# A maioria dos scanners conectados à porta paralela ou a outras portas proprietárias # não pode ser detectada por este programa.

Edit5: Tentei todas as combinações de configurações no BIOS relacionadas à configuração USB, sem resultado. Voltei às configurações originais.

Edit6: Eu tentei scanlite, aqui está o erro que ele me dá:

insira a descrição da imagem aqui

Edit7: Na segunda vez que executei o Scanlite, ele diz que não detectou scanners no meu computador. Às vezes, recebo uma mensagem semelhante na digitalização simples.

Edit8: O scanner trabalha com digitalização simples depois de fazer o seguinte:

  1. Abra as configurações do sistema
  2. Clicando em Impressoras
  3. Clique com o botão direito na minha impressora (scx-4200) -> Propriedades
  4. Níveis de tinta / toner
  5. Clicando em Atualizar
  6. Abrindo a verificação simples
  7. Clicando na verificação
  8. Esperando cerca de 10 a 20 segundos até a mensagem de erro aparecer (como na captura de tela fornecida)
  9. Clicando em digitalizar novamente

E isso é apenas para 1 digitalização.

Edit9: Eu e meu irmão ambos temos 64 bits. O laptop do meu irmão é hp e o meu é asus. O meu tem mais opções no BIOS. Eu tenho 2 USB 3.0 e um 2.0, enquanto meu irmão tem 3 x 2.0. Essas são algumas diferenças ... Aqui está a saída do uname -a para o meu laptop:

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

E aqui está o meu irmão:

Linux milki-HP-2000-Notebook-PC 3.13.0-24-genérico # 46-Ubuntu SMP Quinta-feira, 10 de abril de 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

Edit10: Meu laptop foi instalado recentemente, o irmão foi atualizado. O mesmo aconteceu quando os dois laptops estavam executando a nova instalação 13.10

Edit11: Aqui está a minha saída 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

E aqui está o meu irmão:

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: O proprietário de / dev / bus / usb / * é root. Aqui está uma saída do 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

Ele encontra a Impressora (scx4200), então acho que também é um scanner, já que é impressora e scanner (impressora multifuncional).

Aqui está uma parte mais recente do / 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

E aqui está uma saída mais recente de /var/log/kern.log , aqui mostra algum tipo de interferência de driver :

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

Em ~ / .xsession-errors, não há erros, eu acho:

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: Analisando erros em /var/log/kern.log , descobri que esta linha de erro é gerada no kern.log quando recebo o erro, nenhum scanner encontrado:

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

E recebo esse erro quando o erro "Falha ao verificar" é exibido (como na captura de tela):

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: Percebi que, com o driver linux Samsung Universal, que instalei por esse link , a impressão não funciona. Eu o desinstalei e instalei os drivers por meio da função de adicionar impressora nas configurações do sistema -> impressoras. No entanto, agora a digitalização não funciona mesmo com as etapas de edição8, que funcionavam anteriormente, mas agora a impressão funciona. No entanto, a digitalização com o vuescan ainda funciona.

Edit15: Aqui está a saída do grep 341b /etc/sane.d/xerox_mfp.conf :

usb 0x04e8 0x341b

E saída do 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.

Aqui está a saída do 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: Aqui está o dll.conf .

Edit17: Aqui está log.txt , a saída do sudo strace sane-find-scanner .

Edit18: Aqui está a saída do scanimage -L , é o mesmo para o meu e o laptop do meu irmão:

device `xerox_mfp:libusb:003:003' is a SAMSUNG ORION multi-function peripheral
Dusan Milosevic
fonte
Este sistema foi atualizado para a versão mais recente? O laptop do seu irmão é uma nova instalação? Eu pergunto porque atualizar com novas instalações pode causar problemas estranhos como este. No entanto, eles são hardware diferente, então pode ser um bug desagradável.
Fleamour #
Parece que talvez seja um problema de módulo (driver) do kernel. Talvez não esteja carregado um específico que deveria estar. Se você também puder fornecer a saída de lsmodambos os computadores com o scanner conectado, isso pode nos dar um bom ponto de partida.
Chuck R
Quando o scanner falha, você vê algum erro em / var / log / syslog ou /var/log/kern.log ou ~ / .xsession-errors ?
bain
1
Funciona! Isso corrigiu o problema e a verificação está funcionando agora. Poste a resposta se quiser recompensa por recompensa. Uma pergunta: isso afetará o desempenho do USB 3.0?
Dusan Milosevic

Respostas:

19

Seu dispositivo USB 2.0 (neste caso, scanner) tem algum problema de compatibilidade ao interagir com o sistema USB 3.0 (portas USB3 ou portas USB2 de um hub USB3). O problema pode ser causado pelo hardware / firmware do scanner, firmware EFI / BIOS do PC, chipset PC USB ou driver do kernel Linux xhci_hcd.

Soluções possíveis:

  • Use um cabo de extensão USB 2 curto (ou apenas um cabo USB2) para conectar o dispositivo. Isso força a porta USB 3 a usar a sinalização USB 2. Um dispositivo ou cabo USB 3 possui 9 pinos, enquanto um dispositivo ou cabo USB 2 possui apenas 4 pinos. Uma porta USB 3 será padronizada para comunicação de sinalização USB 2 quando apenas 4 pinos estiverem conectados. Um cabo de extensão USB 2 possui apenas 4 fios que conectam os 4 pinos das comunicações somente com USB 2.

  • Use um hub USB 1.1 (ou 2.0) barato e conecte-o à porta USB3. Conecte seu dispositivo ao hub USB 1.1 / 2.0. Isso forçará a conexão a ser USB1.1 / 2.0. Como o hub possui um controlador USB diferente, ele solucionará alguns erros de protocolo. Um hub USB 1.1 é uma boa opção para um dispositivo de "baixa velocidade", como mouse, teclado etc. Um hub USB 2.0 pode muito bem ser necessário para um dispositivo de "velocidade máxima", como um scanner que não fará o downgrade para o USB 1.1.

  • Atualize o BIOS do seu PC / laptop. Os fabricantes podem solucionar muitos problemas de USB com correções no BIOS / EFI.

  • Conecte o dispositivo USB 2.0 (scanner) através de uma porta USB 2.0, se o laptop tiver uma. Isso pode não fazer diferença se as portas USB2 também forem controladas pelo driver xhci_hcd (ou seja, você ainda vê new high-speed USB device number x using xhci_hcdno dmesg); nesse caso, tente usar um hub USB2 externo.

  • Se for um desktop ou servidor, e não um laptop, tente uma placa controladora PCI USB diferente. Placas USB3 diferentes têm chips controladores de host XHCI diferentes, portanto a compatibilidade com diferentes hubs / dispositivos USB varia.

  • Atualize o firmware do seu dispositivo USB 2.0. Provavelmente, isso não é possível para um scanner no nível do consumidor, mas é possível para alguns dispositivos USB 2.0 (por exemplo, câmeras profissionais)

  • Substitua o seu dispositivo USB 2.0 (scanner) por um dispositivo compatível com USB 3.0

  • Atualize para o kernel principal mais recente

  • No UEFI / BIOS, altere a configuração em Configuração USB, "Modo de pré-inicialização XHCI" de ativado para desativado. Em algumas configurações do BIOS, essa configuração é conhecida como "Modo XHCI".

    As portas USB 3.0 são controladas pelo driver xhci_hcd no Linux. Quando o "modo de pré-inicialização XHCI" está ativado, o BIOS encaminha as portas USB 3.0 para o controlador xHCI USB3 . Quando está desativada, as portas USB 3.0 são roteadas para as portas EHCI (USB 2.0). A expressão "modo de pré-inicialização" implica que esta opção afeta apenas o ambiente antes deum sistema operacional completo é inicializado (o texto de ajuda do BIOS associado menciona explicitamente que esta opção é usada para suporte a USB3 no MSDOS); no entanto, parece que isso também pode afetar o ambiente pós-inicialização e pode ter o efeito de conectar as portas USB 3.0 ao controlador USB 2.0, mesmo após o carregamento do Linux. A desvantagem disso é que todas as portas USB 3 agora serão executadas na velocidade USB 2.

  • Desative a economia de energia USB para todos os dispositivos com a opção de suspensão automática do módulo do kernel:

    modprobe usbcore autosuspend=-1

    Ou se o usbcore não for um módulo com este parâmetro de inicialização do kernel:

    usbcore.autosuspend=-1

    (no Ubuntu o usbcore está embutido, use o parâmetro de inicialização do kernel)

  • Desative a economia de energia (suspensão automática de USB) para o scanner (em Documentation / usb / power-management.txt .

    Quando você conecta o scanner dmesg|tail, verá algo como

    usb 3-3: Product: SCX-4200 Series

    O número 3-3representa o caminho USB do dispositivo no formato bus-port.port.port . Você encontrará o diretório sysfs correspondente em / sys / bus / usb / devices / 3-3 . Escrever sobre a energia / controle aqui para desativar suspensão automática:

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

banho
fonte
5

Eu tive um problema semelhante com o meu scanner (tudo em um Brother MFC-j410) no Ubuntu 14.04 32 bits. O scanner só funcionou após iniciar o XSANE pela segunda vez e, em seguida, apenas uma operação visualizou ou digitalizou. Eu tentei mudar as portas USB para USB 2.0 sem sucesso. Minha placa-mãe é um Asus B85M-k com um chip intel i3 LGA1150.

Eu tentei o virtualbox com uma versão anterior do Ubuntu, onde o scanner sempre funcionava em outro PC. Ainda assim, sem sorte, o que me deixou bastante desconfiado sobre os recursos do usb 3. A impressora também me deu alguns avisos, mas imprimiu.

depois de ler isso

As portas USB 3.0 são controladas pelo driver xhci_hcd no Linux. Quando o "modo de pré-inicialização XHCI" está ativado, o BIOS encaminha as portas USB 3.0 para o controlador xHCI USB3. Quando está desativada, as portas USB 3.0 são roteadas para as portas EHCI (USB 2.0). A expressão "modo de pré-inicialização" implica que esta opção afeta apenas o ambiente antes da inicialização de um sistema operacional completo (o texto de ajuda do BIOS associado menciona explicitamente que essa opção é usada para suporte a USB3 no MSDOS); no entanto, parece que isso também pode afetar o ambiente pós-inicialização e pode conectar as portas USB 3.0 ao controlador USB 2.0, mesmo após o carregamento do Linux (para que as portas sejam executadas na velocidade USB2).

Entrei no BIOS e, em configurações avançadas, localizei e alterei o USB 3.0 do XHCI ativado para desativado e havia outra configuração para o usb 2 (acho que era EHCI) de ativado para desativado ou o contrário, desculpe, eu não ' não lembro. De qualquer forma, depois de inicializar o Ubuntu 14.04 32 bits, tudo funcionou bem.

David à luz de velas
fonte
Sim, eu fiz o mesmo, felizmente, meu laptop Dell teve a opção de desativar o usb 3, reiniciei e ei presto, o scanner funciona bem agora (o meu é o epson scansnap 1300i).
Faz Ma
Desabilitar o XHCI também funcionou para mim. Obrigado.
Marcel Valdez Orozco
1

Atualização: a partir das informações encontradas nos resultados da internet:

  1. Drivers v 2.0.0 são universalmente conhecidos como bug (para que você aplique um patch).
  2. O desenvolvedor do patch não continua atualizando-o e disse que
    "as versões 2.xx de seus drivers Linux têm um defeito: o usuário precisa executar com permissões de root para poder verificar. Isso é muito perigoso" e sugerir a instalação da versão 3.xx. "
  3. No site da Samsung, existe uma versão 3 para Windows e OSX, não para linux
  4. Seguindo o link fornecido e pesquisando, encontro um link: (talvez funcione) http://www.openprinting.org/download/printdriver/debian/dists/lsb3.2/main/binary-i386/openprinting-ppds- postscript-samsung_20140331-1lsb3.2_all.deb
  5. No mesmo caminho, há outro arquivo chamado samsung

Mesmo se você baixou e instalou a versão 2.xx e o patch relativo, não é possível esperar que funcione com um kernel diferente daquele testado.

Soluções possíveis:

  • Tente instalar a versão do driver 3.xx ou as do diretório vinculado acima.
  • Encontre com qual kernel foi compatível o driver + patch do casal. Decida se deseja instalar na sua máquina ou dentro de uma caixa Virtual.
  • Tente baixar os drivers e o programa para Windows (melhor um antigo) e tente instalar / executá-los no wine.
  • Aqui está outro tutorial sobre como instalar a saída diferente do driver (idioma estrangeiro) para o
    dispositivo scanimage -L smfp: SAMSUNG SCX-4200 Series em USB: 0 é um SAMSUNG SCX-4200 Series em USB: 0 Scanner de mesa
  • Ignore as regras de segurança que pressionam o desenvolvedor do patch a criar o patch e executar o programa do scanner não como um usuário, mas como root. Com o driver não corrigido. Arriscado e perigoso . Eu realmente não sugeri você ...

Boa sorte


Enquanto isso, você não encontra uma correção no Ubuntu, eu poderia sugerir a você esta solução alternativa. Você disse

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

(Eu concordo) Então, no seu computador, no Windows, parece que o scanner funciona. Tente instalar o Windows e os drivers em uma imagem do Virtualbox. Se o scanner funcionar, você não precisará trocar o sistema ...

Se não funcionar, tente executar a mesma máquina virtual no computador do seu irmão. Se a partir desse computador funcionar, você terá certeza de que há uma configuração em algum lugar do seu computador que poderá tentar corrigir. Boa sorte.

Hastur
fonte
Não tenho janelas e não quero usar a versão pirata. Posso pegar emprestado o laptop Windows de um frito, mas não sou um usuário avançado, por isso não tenho vontade de corrigi-lo. Por isso perguntei aqui.
Dusan Milosevic
Eu concordo que eu disse isso. Eu entendi que você tem 2 sistemas operacionais no seu laptop. Aliás, como ele funciona com o Vuescan e com o Scanlite (mesmo que não esteja no modo adequado), sou levado a supor que isso não é um problema das configurações do BIOS. Confirmo que, para outra impressora-scanner de marca registrada, o fato de o Linux reconhecer a impressora não implica que ela também seja reconhecida como um scanner. Quais resultados lsusb do seu laptop irmão ? O dmesg fornece novos erros quando o scanner falha? (Resolvi o problema com o Epson RX690 com scanlite . Ele funciona, mas sudo sane-find-scannerresponde com a mesma saída).
Hastur
@Dusan Milosevic: Resposta atualizada
Hastur
Eu tridei todos os drivers nesse site e nenhum deles funcionou. Obrigado!
Dusan Milosevic
Eu realmente sugiro que você instale o VirtualBox e crie uma ou duas máquinas virtuais: na máquina virtual, o risco de executar um programa como root é relativo apenas à máquina virtual, para que você possa aceitá-lo. Além disso, se falhar você sempre pode instalar um patch de kernel Linux + motorista + velho ...
Hastur
1

Tente conectar o scanner via USB alimentado. É possível que seu computador não esteja colocando energia suficiente na porta USB.

Para qualquer outra pessoa que tenha esse problema, verifique a adição de um hub USB com alimentação. Ele resolveu o problema em muitas ocasiões com computadores com problemas em dispositivos que funcionavam em outros computadores.

Isso funcionou com pen drives que falharam no meu computador principal e nos computadores dos clientes. Ele também resolveu problemas com unidades USB externas que falham em determinadas portas USB onde outros dispositivos funcionavam.

Também tive ocasiões em que os adaptadores de cabo Y serviram com a mesma resolução.

Espero que esse esclarecimento salve outras pessoas que estão tendo problemas semelhantes.

Não sei se o problema do OP foi resolvido no momento. Mas as diferenças entre o computador e os outros computadores que ele descreveu têm tudo exato, incluindo a mesma versão e atualização, o USB é um fator claro nesse caso, que pode ser resolvido com um hub alimentado ou um adaptador USB com cabo Y.

LD James
fonte
E como fazer isso?
Dusan Milosevic
Compre um hub USB que use um adaptador de energia. Exemplo de imagem: image.apollo3.com/image/gen/poweredusbadapter140507.jpg
LD James
É uma impressora com scanner, então eu acho que tem energia suficiente, portanto, funciona muito bem no laptop do meu irmão ... eu disse, não vou gastar dinheiro com digitalização, que funciona com qualquer outro computador, exceto o meu! E que tipo de resposta é essa? Qualquer um poderia dizer "Compre um laptop novo" e isso provavelmente resolveria esse problema, mas não é uma resposta de qualidade!
Dusan Milosevic
2
A propósito, não estou recomendando um laptop de US $ 300,00. Estou recomendando um hub USB de US $ 7,00. Isso é muito mais econômico do que comprar um sistema operacional Windows de US $ 300,00 com outro US $ 300,00 no processador de texto e acessórios. Estou mencionando isso porque está na sua pergunta. Embora não seja minha sugestão, no meu ambiente substituo um laptop possivelmente defeituoso como mais econômico do que substituir o sistema operacional. Na sua pergunta, você diz que seu USB funciona com todo o resto. Mas vou mencionar que, para mim, é comum que certos dispositivos USB falhem com algumas das minhas portas USB.
LD James
1
Vale a pena tentar um hub USB diferente se houver um por aí. Os erros do protocolo USB expostos por um programa podem não aparecer necessariamente com outro, mesmo no mesmo hardware.
bain
1

Vou dar uma resposta simples, não pretendendo ser melhor.

Em algumas placas-mãe, os scanners USB 2.0 antigos não funcionam. Não importa se eles estão conectados à porta USB 2.0 ou 3.0.

Uma solução fácil é desativar o XHCI modeUEFI, também conhecido como BIOS. Foi mencionado em outras respostas, mas não é fácil de encontrar.

Esse problema foi solucionado pelos desenvolvedores do kernel e pode ser corrigido nos kernels mais recentes.

Pilot6
fonte
1

O kernel Linux versão 4.1.1 (disponível em http://kernel.ubuntu.com/~kernel-ppa/mainline/ ) resolve o problema de alguns scanners não funcionarem com o USB 3.0. Pelo menos ele faz isso no meu computador.

Para ser reconhecido como um scanner que deve estar disponível para usuários não-root em alguns dispositivos, uma linha como

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

pode ser necessário em um arquivo chamado /etc/udev/rules.d/samsung.rulesou similar. Os IDs do fornecedor e do produto podem ser lidos pelo comando

lsusb

na seguinte linha:

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

o dispositivo (nesse caso, não um scanner, mas um hub USB, mas não tinha scanner disponível no momento) tem o ID do fornecedor 1d6b e o ID do produto 0002.

Gunter Königsmann
fonte
0

Uma solução alternativa que encontrei foi a configuração de uma máquina virtual (o VirtualBox e o VMWare [player] devem estar ok) com qualquer distribuição Linux que você desejar, configurei para ser compatível com o protocolo USB 2.0. Depois de redirecionar meu dispositivo USB para a VM, posso digitalizar a partir daí.

Treviño
fonte