Le périphérique USB 2.0 (scanner) ne fonctionne pas avec xhci_hcd sur le système USB 3.0


24

J'essaie de numériser avec Samsung SCX-4200 qui est une imprimante avec scanner. Lorsque je connecte l'ordinateur portable de mon frère qui a la même version d'ubuntu (14.04), cela fonctionne. Je ne sais ni comment ni pourquoi. Il n'a installé aucun logiciel de numérisation. J'ai aussi essayé un autre ordinateur avec os élémentaire, et ça marche aussi. Voici maintenant quand ça devient vraiment bizarre! J'ai essayé d'exécuter de nombreuses distributions via USB en direct sur le mien et sur l'ordinateur portable de mon frère. Le scanner fonctionne toujours avec celui de mon frère et jamais avec le mien. J'ai beaucoup besoin d'un scanner et il peut arriver que je passe à Windows, ce que je n'aime pas car ce n'est pas open-source, alors aidez-moi! Voici les captures d'écran de l'erreur que j'obtiens et les paramètres de scan simple.

entrez la description de l'image ici entrez la description de l'image ici

Edit1: L'USB fonctionne bien avec tout autre appareil. Jusqu'à présent, j'ai connecté une souris, une mémoire flash USB, un appareil photo et ils fonctionnent tous bien. J'ai essayé de connecter le scanner aux 3 ports USB (2 3.0 et 1 2.0) et la même chose se produit.

Edit2: la numérisation fonctionne avec le programme vuescan, mais il faut l'acheter pour supprimer le filigrane qu'il crée, et c'est une source fermée.

Edit3: De tous les ordinateurs portables testés, seul le mien a des USB 3.0 (x2). Cependant, la numérisation ne fonctionne pas trop sur USB 2.0 (sur mon ordinateur portable).

Edit4: Voici la sortie de sudo sane-find-scanner:

# sane-find-scanner va maintenant tenter de détecter votre scanner. Si le résultat # est différent de ce que vous attendiez, assurez-vous d'abord que votre # scanner est sous tension et correctement connecté à votre ordinateur.

# Aucun analyseur SCSI trouvé. Si vous vous attendiez à quelque chose de différent, assurez-vous que # vous avez chargé un pilote SCSI du noyau pour votre adaptateur SCSI.

# Aucun scanner USB trouvé. Si vous vous attendiez à quelque chose de différent, assurez-vous # d'avoir chargé un pilote de noyau pour votre contrôleur hôte USB et d'avoir correctement configuré # le système USB. Voir man sane-usb pour plus de détails.

# Ne vérifie pas les scanners de ports parallèles.

# La plupart des scanners connectés au port parallèle ou à d'autres ports propriétaires # ne peuvent pas être détectés par ce programme.

Edit5: J'ai essayé toutes les combinaisons de paramètres du BIOS liés à la configuration USB, sans résultat. Je suis revenu aux paramètres d'origine.

Edit6: J'ai essayé scanlite, voici l'erreur qu'il me donne:

entrez la description de l'image ici

Edit7: La deuxième fois que j'ai exécuté Scanlite, il dit qu'il ne détecte pas les scanners sur mon ordinateur. Je reçois parfois un message similaire sur un simple scan.

Edit8: Le scanner fonctionne avec une numérisation simple après avoir effectué les opérations suivantes:

  1. Ouvrir les paramètres système
  2. Cliquer sur les imprimantes
  3. Clic droit sur mon imprimante (scx-4200) -> Propriétés
  4. Niveaux d'encre / toner
  5. Cliquer sur Actualiser
  6. Ouverture d'un scan simple
  7. Cliquer sur scan
  8. Attendre environ 10-20 secondes jusqu'à ce que le message d'erreur apparaisse (comme sur la capture d'écran fournie)
  9. Cliquer à nouveau sur scan

Et c'est pour 1 scan seulement.

Edit9: Moi et mon frère ont tous deux 64 bits. L'ordinateur portable de mon frère est hp, et le mien est asus. Le mien a plus d'options dans le BIOS. J'ai 2 USB 3.0 et un 2.0, tandis que mon frère en a 3 x 2.0. Ce sont quelques différences ... Voici la sortie d' uname -a pour le mien portable:

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

Et voici mon frère:

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

Edit10: Mon ordinateur portable était une nouvelle installation, le frère a été mis à niveau. La même chose s'est produite lorsque les deux ordinateurs portables exécutaient une nouvelle installation 13.10

Edit11: Voici ma sortie 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

Et voici mon frère:

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: Le propriétaire de / dev / bus / usb / * est root. Voici une sortie 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

Il trouve l'imprimante (scx4200), donc je suppose que c'est aussi un scanner, car c'est une imprimante et un scanner (imprimante multifonction).

Voici la dernière partie 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

Et voici la dernière sortie de /var/log/kern.log , ici cela montre une sorte d'interférence du pilote :

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

Dans ~ / .xsession-errors, il n'y a pas d'erreur, je pense:

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: En analysant les erreurs dans /var/log/kern.log , j'ai découvert que cette ligne d'erreur est sortie dans kern.log lorsque j'obtiens une erreur, aucun scanner n'a été trouvé:

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

Et j'obtiens cette erreur lorsque l'erreur "Impossible de numériser" (comme dans la capture d'écran):

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: J'ai réalisé qu'avec le pilote Linux Universal de Samsung, que j'ai installé via ce lien , l'impression ne fonctionne pas. Je l'ai désinstallé et installé les pilotes via la fonction d'ajout d'imprimante dans les paramètres système -> imprimantes. Cependant, maintenant la numérisation ne fonctionne pas même avec les étapes de edit8, qui fonctionnaient auparavant, mais maintenant, l'impression fonctionne. A Cependant, la numérisation avec vues peut toujours fonctionner.

Edit15: Voici la sortie de grep 341b /etc/sane.d/xerox_mfp.conf :

usb 0x04e8 0x341b

Et sortie 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.

Voici la sortie de ldd $ (qui 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: Voici dll.conf .

Edit17: Voici log.txt , la sortie de sudo strace sane-find-scanner .

Edit18: Voici la sortie de scanimage -L , c'est la même chose pour le mien et l'ordinateur portable de mon frère:

device `xerox_mfp:libusb:003:003' is a SAMSUNG ORION multi-function peripheral

Ce système a-t-il été mis à niveau vers la dernière version? L'ordinateur portable de votre frère est une nouvelle installation? Je demande parce que la mise à niveau sur une nouvelle installation peut provoquer des problèmes étranges comme celui-ci. Cependant, il s'agit d'un matériel différent, ce qui pourrait être un bug désagréable.
fleamour

Cela ressemble peut-être à un problème de module du noyau (pilote). Peut-être qu'un spécifique n'est pas chargé qui devrait l'être. Si vous pouvez également fournir la sortie des lsmoddeux ordinateurs avec le scanner branché, cela peut nous donner un bon point de départ.
Chuck R

Lorsque le scanner échoue, voyez-vous des erreurs dans / var / log / syslog ou /var/log/kern.log ou des erreurs ~ / .xsession ?
bain


1
Ça marche! Cela a résolu le problème et l'analyse fonctionne maintenant. Postez la réponse si vous voulez une récompense de prime. Une question: cela affectera-t-il les performances USB 3.0?
Dusan Milosevic,

Réponses:


19

Votre périphérique USB 2.0 (dans ce cas, le scanner) a un problème de compatibilité interagissant avec votre système USB 3.0 (ports USB3 ou ports USB2 d'un concentrateur USB3). Le problème peut être dû au matériel / micrologiciel du scanner, au micrologiciel PC EFI / BIOS, au chipset USB PC ou au pilote du noyau Linux xhci_hcd.

Solutions possibles:

  • Utilisez un court câble d'extension USB 2 (ou simplement un câble USB2) pour connecter l'appareil. Cela oblige le port USB 3 à utiliser la signalisation USB 2. Un périphérique ou un câble USB 3 a 9 broches, tandis qu'un périphérique ou un câble USB 2 n'a que 4 broches. Un port USB 3 utilisera par défaut la communication de signalisation USB 2 lorsque seulement 4 broches sont connectées. Un câble d'extension USB 2 ne comporte que 4 fils qui connectent les 4 broches des communications USB 2 uniquement.

  • Utilisez un concentrateur USB 1.1 (ou 2.0) bon marché et connectez-le au port USB3. Connectez votre appareil au concentrateur USB 1.1 / 2.0. Cela forcera la connexion à être USB1.1 / 2.0. Étant donné que le concentrateur a un contrôleur USB différent, il contournera certains bogues de protocole. Un concentrateur USB 1.1 est un bon choix pour un périphérique "basse vitesse" comme une souris, un clavier, etc. Un concentrateur USB 2.0 peut très bien être nécessaire pour un périphérique "pleine vitesse" comme un scanner qui ne rétrogradera pas en USB 1.1.

  • Mettez à niveau le BIOS de votre PC / ordinateur portable. Les fabricants peuvent contourner de nombreux problèmes USB avec des correctifs dans le BIOS / EFI.

  • Connectez le périphérique USB 2.0 (scanner) via un port USB 2.0 si l'ordinateur portable en possède un. Cela peut ne faire aucune différence si vos ports USB2 sont également contrôlés par le pilote xhci_hcd (c'est-à-dire que vous voyez toujours new high-speed USB device number x using xhci_hcddans dmesg), auquel cas essayez d'utiliser un concentrateur USB2 externe.

  • S'il s'agit d'un ordinateur de bureau ou d'un serveur plutôt que d'un ordinateur portable, essayez une autre carte contrôleur PCI USB. Différentes cartes USB3 ont différentes puces de contrôleur hôte XHCI, donc la compatibilité avec différents concentrateurs / périphériques USB varie.

  • Mettez à niveau le micrologiciel de votre périphérique USB 2.0. Ce n'est probablement pas possible pour un scanner grand public, mais c'est possible pour certains périphériques USB 2.0 (par exemple, les caméras Pro)

  • Remplacez votre périphérique USB 2.0 (scanner) par un périphérique compatible USB 3.0

  • Mise à niveau vers le dernier noyau principal

  • Dans l'UEFI / BIOS, modifiez le paramètre sous Configuration USB, "Mode de pré-démarrage XHCI" de activé à désactivé. Dans certaines configurations du BIOS, ce paramètre est appelé "Mode XHCI".

    Les ports USB 3.0 sont contrôlés par le pilote xhci_hcd sous Linux. Lorsque le "mode de pré-démarrage XHCI" est activé, le BIOS achemine les ports USB 3.0 vers le contrôleur USB3 xHCI . Lorsqu'il est désactivé, les ports USB 3.0 sont routés vers les ports EHCI (USB 2.0). La formulation "mode de pré-démarrage" implique que cette option affecte uniquement l'environnement avantun système d'exploitation complet est démarré (le texte d'aide du BIOS associé mentionne explicitement que cette option est utilisée pour la prise en charge USB3 dans MSDOS); cependant, il semble que cela puisse également affecter l'environnement après le démarrage et avoir pour effet de connecter les ports USB 3.0 au contrôleur USB 2.0 même après le chargement de Linux. L'inconvénient est que tous les ports USB 3 fonctionneront désormais à la vitesse USB 2.

  • Désactivez l'économie d' énergie USB pour tous les périphériques avec l' option de module de suspension automatique du noyau:

    modprobe usbcore autosuspend=-1

    Ou si usbcore n'est pas un module avec ce paramètre de démarrage du noyau:

    usbcore.autosuspend=-1

    (dans Ubuntu, usbcore est intégré, utilisez donc le paramètre de démarrage du noyau)

  • Désactivez l'économie d'énergie (suspension automatique USB) pour le scanner (depuis Documentation / usb / power-management.txt .

    Lorsque vous branchez le scanner en chèque dmesg|tailet vous verrez quelque chose comme

    usb 3-3: Product: SCX-4200 Series

    Le nombre 3-3représente le chemin USB de l'appareil au format bus-port.port.port . Vous trouverez le répertoire sysfs correspondant dans / sys / bus / usb / devices / 3-3 . Ecrire sur la puissance / commande ici pour désactiver veille automatique:

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


5

J'ai eu un problème similaire avec mon scanner (tout en un Brother MFC-j410) sur Ubuntu 14.04 32 bits. Le scanner n'a fonctionné qu'après avoir démarré XSANE pour la deuxième fois, puis n'a effectué qu'une seule prévisualisation ou numérisation d'une opération. J'ai essayé de changer les ports USB en USB 2.0 en vain. Ma carte mère est un Asus B85M-k avec une puce Intel i3 LGA1150.

J'ai essayé virtualbox avec une version précédente d'Ubuntu où le scanner fonctionnait toujours sur un autre PC. Pourtant, pas de chance, ce qui m'a rendu très méfiant à propos des capacités USB 3. L'imprimante m'a également averti, mais elle a imprimé.

après avoir lu ceci

Les ports USB 3.0 sont contrôlés par le pilote xhci_hcd sous Linux. Lorsque le "mode de pré-démarrage XHCI" est activé, le BIOS achemine les ports USB 3.0 vers le contrôleur USB3 xHCI. Lorsqu'il est désactivé, les ports USB 3.0 sont routés vers les ports EHCI (USB 2.0). La formulation «mode de pré-démarrage» implique que cette option affecte uniquement l'environnement avant le démarrage d'un système d'exploitation complet (le texte d'aide du BIOS associé mentionne explicitement que cette option est utilisée pour la prise en charge USB3 dans MSDOS); cependant, il semble que cela puisse également affecter l'environnement après le démarrage et avoir pour effet de connecter les ports USB 3.0 au contrôleur USB 2.0 même après le chargement de Linux (de sorte que les ports fonctionnent à la vitesse USB2).

Je suis allé dans mon BIOS et sous les paramètres avancés, j'ai trouvé et changé l'USB 3.0 de XHCI activé en désactivé et il y avait un autre paramètre pour l'USB 2 (je pense que c'était EHCI) d'activé en désactivé ou l'inverse, désolé je ne le fais pas '' ne me souviens pas. Quoi qu'il en soit, après avoir redémarré dans Ubuntu 14.04 32 bits, tout a bien fonctionné.


Oui, j'ai fait la même chose, heureusement, mon ordinateur portable Dell avait une option pour désactiver l'USB 3, redémarré et bon, le scanner fonctionne bien maintenant (le mien btw est un scansnap 1300i d'Epson).
Maks

La désactivation de XHCI a également fonctionné pour moi. Merci.
Marcel Valdez Orozco

1

Mise à jour: À partir des informations trouvées sur les résultats Internet:

  1. Les pilotes v 2.0.0 sont universellement connus sous le nom de bug (pour que vous appliquiez un correctif).
  2. Le développeur du correctif ne continue pas de le mettre à jour et a déclaré
    "Les versions 2.xx de ses pilotes Linux ont un défaut: l'utilisateur doit s'exécuter avec les autorisations root pour pouvoir numériser. C'est très dangereux" et suggérer d'installer la version 3.xx. "
  3. Sur le site Samsung, il existe une version 3 pour Windows et OSX pas pour linux
  4. En suivant le lien que vous donnez et en cherchant, je trouve un lien: (peut-être qu'il fonctionne) http://www.openprinting.org/download/printdriver/debian/dists/lsb3.2/main/binary-i386/openprinting-ppds- postscript-samsung_20140331-1lsb3.2_all.deb
  5. Dans le même chemin, il y a un autre fichier nommé samsung

Même si vous avez téléchargé et installé la version 2.xx et le correctif correspondant, vous ne pouvez pas vous attendre à ce qu'il fonctionne avec un noyau différent de celui testé.

Solutions possibles:

  • Essayez d'installer la version 3.xx du pilote ou celles du répertoire lié ci-dessus.
  • Trouvez avec quel noyau était compatible le couple pilote + patch. Décidez si l'installation sur votre machine ou pour l'installer dans une boîte virtuelle.
  • Essayez de télécharger les pilotes et le programme pour Windows (mieux un ancien) et essayez de les installer / exécuter sous Wine.
  • Voici un autre tutoriel sur la façon d'installer ces pilotes (langue étrangère) sortie différente pour smfp de
    périphérique scanimage -L : SAMSUNG SCX-4200 Series sur USB: 0 est un SAMSUNG SCX-4200 Series sur USB: 0 Flatbed Scanner
  • Ignorez les règles de sécurité qui poussent le développeur du correctif à créer le correctif et à exécuter le programme du scanner non pas comme un utilisateur mais comme root. Avec le pilote non patché. Risqué et dangereux . Je ne t'ai pas vraiment suggéré ...

Bonne chance


En attendant, vous ne trouvez pas de correctif dans Ubuntu, je pourrais vous suggérer cette solution de contournement. Tu as dit

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

(Je suis d'accord) Donc, sur votre ordinateur sous Windows, le scanner semble fonctionner. Essayez d'installer Windows et les pilotes dans une image Virtualbox. Si le scanner fonctionne, vous ne devez pas changer de système ...

S'il ne fonctionne pas, essayez d'exécuter la même machine virtuelle sur l'ordinateur de votre frère. Si à partir de cet ordinateur, vous serez sûr qu'il y a un paramètre quelque part dans votre ordinateur que vous pouvez essayer de corriger. Bonne chance.


Je n'ai pas de fenêtres et je ne veux pas utiliser de version piratée. Je pourrais emprunter un ordinateur portable Windows à un frit, mais je ne suis pas un utilisateur avancé, donc je n'ai pas envie de le réparer moi-même. C'est pourquoi j'ai demandé ici.
Dusan Milosevic

Je suis d'accord, je l'ai dit. J'ai cru comprendre que vous disposiez de 2 systèmes d'exploitation sur votre ordinateur portable. BTW, car il fonctionne avec Vuescan et avec Scanlite (même si ce n'est pas dans un mode approprié), je suis amené à supposer que ce n'est pas un problème de paramètres du BIOS. Je confirme que pour d'autres scanneurs-imprimantes de marque, le fait que Linux reconnaisse l'imprimante n'implique pas qu'il le reconnaisse également comme scanner. Quel résultat lsusb de votre ordinateur portable frère ? Est -ce que dmesg vous donner quelques nouvelles erreurs lorsque le scanner ne? (J'ai résolu le problème avec Epson RX690 avec scanlite . Il fonctionne mais sudo sane-find-scannerrépond avec votre même sortie).
Hastur

@Dusan Milosevic: Réponse mise à jour
Hastur

J'ai trid tous les pilotes sur ce site, et aucun ne fonctionne. Merci!
Dusan Milosevic,

Je vous suggère vraiment d' installer VirtualBox et de créer une ou deux machines virtuelles: dans la machine virtuelle, le risque d'exécuter un programme en tant que root est relatif uniquement à la machine virtuelle, vous pouvez donc l'accepter. De plus en cas d'échec vous pouvez toujours installer un ancien noyau Linux + pilote + patch ...
Hastur

1

Essayez de connecter le scanner via un port USB alimenté. Il est possible que votre ordinateur n'alimente pas suffisamment le port USB.

Pour toute autre personne ayant ce problème, assurez-vous de vérifier l'ajout d'un concentrateur USB alimenté. Il a résolu le problème à plusieurs reprises avec des ordinateurs qui avaient des problèmes avec des appareils qui fonctionnaient sur d'autres ordinateurs.

Cela a fonctionné avec les clés USB qui ont échoué sur mon ordinateur principal ainsi que sur les ordinateurs des clients. Il a également résolu des problèmes avec les lecteurs USB externes qui échouent sur certains ports USB où d'autres appareils fonctionnaient.

J'ai également eu des occasions où les adaptateurs de câble Y ont servi de même résolution.

J'espère que cette clarification sauvera d'autres qui ont des problèmes similaires.

Je ne sais pas si le problème du PO est résolu pour le moment. Mais les différences entre son ordinateur et les autres ordinateurs qu'il a décrits ont tout exactement, y compris la même version et la même mise à jour, l'USB est un facteur clair dans ce cas, qui pourrait être résolu avec un concentrateur alimenté ou un adaptateur USB pour câble en Y.


Et comment faire ça?
Dusan Milosevic

Achetez un concentrateur USB qui prend un adaptateur secteur. Exemple d'image: image.apollo3.com/image/gen/poweredusbadapter140507.jpg
LD James

C'est une imprimante avec scanner, donc je pense qu'elle a assez de puissance, donc ça marche très bien sur l'ordinateur portable de mon frère ... J'ai dit, je ne vais pas dépenser d'argent pour la numérisation, qui fonctionne avec n'importe quel autre ordinateur que le mien! Et quel genre de réponse est-ce? N'importe qui pourrait dire "Acheter un nouvel ordinateur portable" et cela résoudrait probablement ce problème, mais ce n'est pas une réponse de qualité!
Dusan Milosevic

2
Soit dit en passant, je ne recommande pas un ordinateur portable de 300 $. Je recommande un concentrateur USB à 7,00 $. C'est beaucoup plus économique que l'achat d'un système d'exploitation Windows de 300 $ avec 300 $ de plus sur le traitement de texte et les accessoires. Je le mentionne parce que c'est dans votre question. Bien que ce ne soit pas ma suggestion, dans mon environnement, je remplace un ordinateur portable éventuellement défectueux de manière plus économique que le remplacement du système d'exploitation. Dans votre question, vous dites que votre clé USB fonctionne avec tout le reste. Mais je mentionnerai que pour moi, il est courant que certains périphériques USB échouent avec certains de mes ports USB.
LD James

1
Il vaut la peine d'essayer un autre concentrateur USB si vous en avez un. Les bogues du protocole USB qui sont exposés par un programme peuvent ne pas nécessairement apparaître avec un autre, même sur le même matériel.
bain

1

Je donnerai une réponse simple ne prétendant pas être meilleure.

Avec certaines cartes mères, les anciens scanners USB 2.0 ne fonctionnent pas. Peu importe s'ils sont connectés au port USB 2.0 ou 3.0.

Une solution de contournement simple consiste à désactiver XHCI modedans UEFI aka BIOS. Il a été mentionné dans d'autres réponses, mais pas facile à trouver.

Ce problème a été résolu par les développeurs du noyau et peut être résolu dans les noyaux plus récents.


1

La version 4.1.1 du noyau Linux (disponible sur http://kernel.ubuntu.com/~kernel-ppa/mainline/ ) résout le problème selon lequel certains scanners ne fonctionnent pas avec USB 3.0. Au moins, il le fait sur mon ordinateur.

Pour être reconnu comme un scanner qui doit être disponible pour les utilisateurs non root pour certains appareils, une ligne comme

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

peut être nécessaire dans un fichier nommé /etc/udev/rules.d/samsung.rulesou similaire. Les identifiants du fournisseur et du produit peuvent être lus par la commande

lsusb

dans la ligne suivante:

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

le périphérique (dans ce cas, pas un scanner mais un hub USB, mais n'avait pas de scanner disponible pour le moment) a l'ID de fournisseur 1d6b et l'ID de produit 0002.


0

Une solution de contournement que j'ai trouvée, était de configurer une machine virtuelle (VirtualBox et VMWare [player] devraient être ok) avec n'importe quelle distribution Linux que vous voulez, je l'ai configurée pour être compatible avec le protocole USB 2.0. Une fois que je redirige mon périphérique USB vers la machine virtuelle, je peux numériser à partir de là.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.