Устройство USB 2.0 (сканер) не работает с xhci_hcd в системе USB 3.0

24

Я пытаюсь сканировать с помощью Samsung SCX-4200, который является принтером со сканером. Когда я подключаю ноутбук моего брата, который имеет ту же версию Ubuntu (14.04), он работает. Я не знаю как и почему. Он не установил никакого программного обеспечения для сканирования. Я также попробовал другой компьютер с элементарной ОС, и это тоже работает. Теперь вот когда это становится действительно странным! Я попытался запустить много дистрибутивов с живого USB на моем и на ноутбуке брата. Сканер всегда работает с братом и никогда с моим ноутбуком. Мне очень нужен сканер, и может случиться так, что из-за этого я могу переключиться на окна, которые мне не нравятся, потому что они не с открытым исходным кодом, поэтому, пожалуйста, помогите! Вот скриншоты ошибки, которую я получаю, и настройки простого сканирования.

введите описание изображения здесь введите описание изображения здесь

Edit1: USB отлично работает с любым другим устройством. Пока что я подключил мышь, флешку, камеру, и все они работают нормально. Я попытался подключить сканер ко всем 3 портам USB (2 3.0 и 1 2.0), и происходит то же самое.

Edit2: Сканирование работает с программой Vuescan, но она требует купить его, чтобы удалить водяной знак, который он создает, и это закрытый источник.

Edit3: из всех протестированных ноутбуков только мой имеет USB 3.0 (x2). Однако сканирование не работает и на USB 2.0 (на моем ноутбуке).

Edit4: вот вывод sudo sane-find-scanner:

# sane-find-scanner теперь будет пытаться обнаружить ваш сканер. Если результат # отличается от ожидаемого, сначала убедитесь, что # сканер включен и правильно подключен к компьютеру.

# Сканеры SCSI не найдены. Если вы ожидали чего-то другого, убедитесь, что # вы загрузили драйвер SCSI ядра для вашего адаптера SCSI.

# USB-сканеры не найдены. Если вы ожидали чего-то другого, убедитесь, что # вы загрузили драйвер ядра для хост-контроллера USB и правильно # настроили систему USB. Смотрите man sane-usb для подробностей.

# Не проверять сканеры параллельного порта.

# Большинство сканеров, подключенных к параллельному порту или другим частным портам, # не могут быть обнаружены этой программой.

Edit5: я пробовал все комбинации настроек в BIOS, связанные с конфигурацией USB, безрезультатно. Я вернулся к первоначальным настройкам.

Edit6: я пробовал scanlite, вот ошибка, которую он мне дает:

введите описание изображения здесь

Edit7: во второй раз я запустил Scanlite, он говорит, что он не обнаруживает сканеры на моем компьютере. Иногда я получаю схожее сообщение о простом сканировании.

Edit8: сканер работает с простым сканированием после выполнения следующих действий:

  1. Открыть системные настройки
  2. Нажатие на принтеры
  3. Щелкните правой кнопкой мыши на моем принтере (scx-4200) -> Свойства
  4. Уровень чернил / тонера
  5. Нажав Обновить
  6. Открытие простого сканирования
  7. Щелчок сканирования
  8. Ожидание около 10-20 секунд, пока не появится сообщение об ошибке (как на скриншоте)
  9. Сканирование снова

И это только для 1 сканирования.

Edit9: у меня и моего брата оба есть 64 бит. Ноутбук моего брата - hp, а мой - asus. У меня больше возможностей в BIOS. У меня 2 USB 3.0 и один 2.0, а у моего брата 3 x 2.0. Вот некоторые отличия ... Вот вывод uname -a для моего ноутбука:

Linux dusan-K55A 3.13.0-24-generic # 46-Ubuntu SMP четверг, 10 апреля 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

А вот мой брат:

Linux milki-HP-2000-Notebook-PC 3.13.0-24-generic # 46-Ubuntu SMP четверг, 10 апреля 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

Edit10: Мой ноутбук был только что установлен, брат был обновлен. То же самое произошло, когда оба ноутбука работали свежей установки 13.10

Edit11: вот мой вывод 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

А вот мой брат:

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: владелец / dev / bus / usb / * является пользователем root. Вот вывод 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

Он находит принтер (scx4200), так что я думаю, что это тоже сканер, так как это принтер и сканер (многофункциональный принтер).

Вот какая-то последняя часть / 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

А вот последний вывод из /var/log/kern.log , здесь показано какое-то вмешательство драйвера :

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

В ~ / .xsession-errors нет ошибок, я думаю:

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: анализируя ошибки в /var/log/kern.log , я обнаружил, что эта строка ошибки выводится в kern.log, когда я получаю ошибку, сканер не найден:

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

И я получаю эту ошибку, когда возникает ошибка «Не удалось сканировать» (как на скриншоте):

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: я понял, что с драйвером Samsung Universal Linux, который я установил по этой ссылке , печать не работает. Я удалил его и установил драйверы через функцию добавления принтера в системных настройках -> принтеры. Однако, теперь сканирование не работает даже с шагами в edit8, которые раньше работали, но теперь, печать работает. Однако сканирование с помощью Vuescan все еще работает.

Edit15: Вот вывод grep 341b /etc/sane.d/xerox_mfp.conf :

usb 0x04e8 0x341b

И вывод modprobe -r usblp; вменяемый поиск-сканер :

  # 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.

Вот вывод команды ldd $ (которая является 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: вот dll.conf .

Edit17: вот log.txt , вывод sudo strace sane-find-scanner .

Edit18: Вот вывод scanimage -L , он одинаков для моего и ноутбука моего брата:

device `xerox_mfp:libusb:003:003' is a SAMSUNG ORION multi-function peripheral
Душан Милошевич
источник
Была ли эта система обновлена ​​до последней версии? Ноутбук твоего брата свежая установка? Я спрашиваю, потому что обновление поверх новой установки может вызвать странные проблемы, подобные этой. Однако они различаются аппаратными средствами, поэтому может быть неприятной ошибкой.
Фламур
Похоже, это может быть проблема модуля (драйвера) ядра. Возможно, конкретный не загружен, что должно быть. Если бы вы могли также предоставить выходные данные lsmodс обоих компьютеров с подключенным сканером, это может послужить хорошей отправной точкой.
Чак Р.
Когда происходит сбой сканера, вы видите какие-либо ошибки в / var / log / syslog или /var/log/kern.log или ~ / .xsession-errors ?
Bain
1
Оно работает! Это решило проблему, и сканирование теперь работает. Разместите ответ, если хотите получить вознаграждение. Один вопрос: повлияет ли это на производительность USB 3.0?
Душан Милошевич

Ответы:

19

Устройство USB 2.0 (в данном случае сканер) имеет проблемы с совместимостью при взаимодействии с системой USB 3.0 (либо с портами USB3, либо с портами USB2 концентратора USB3). Проблема может быть вызвана аппаратным / микропрограммным обеспечением сканера, микропрограммой EFI / BIOS для ПК, набором микросхем USB для ПК или драйвером ядра Linux xhci_hcd.

Возможные решения:

  • Используйте короткий удлинитель USB 2 (или просто кабель USB2) для подключения устройства. Это заставляет порт USB 3 использовать сигнализацию USB 2. Устройство или кабель USB 3 имеет 9 контактов, тогда как устройство или кабель USB 2 имеет только 4 контакта. Порт USB 3 по умолчанию будет использовать сигнализацию USB 2, если подключены только 4 контакта. Удлинительный кабель USB 2 имеет только 4 провода, которые соединяют 4 контакта USB 2 только.

  • Используйте дешевый USB 1.1 (или 2.0) концентратор и подключите его к порту USB3. Подключите ваше устройство к концентратору USB 1.1 / 2.0. Это заставит соединение быть USB1.1 / 2.0. Поскольку концентратор имеет другой USB-контроллер, он будет обходить некоторые ошибки протокола. Концентратор USB 1.1 является хорошим выбором для «низкоскоростных» устройств, таких как мышь, клавиатура и т. Д. Концентратор USB 2.0 вполне может быть необходим для «полноскоростных» устройств, таких как сканер, который не будет использовать USB 1.1.

  • Обновите BIOS своего ПК / ноутбука. Производители могут обойти многие проблемы с USB с помощью исправлений в BIOS / EFI.

  • Подключите устройство USB 2.0 (сканер) через порт USB 2.0, если он есть у ноутбука. Это может не иметь значения, если ваши порты USB2 также управляются драйвером xhci_hcd (т.е. вы все еще видите new high-speed USB device number x using xhci_hcdв dmesg), в этом случае попробуйте использовать внешний концентратор USB2.

  • Если это настольный компьютер или сервер, а не ноутбук, попробуйте другую карту контроллера USB USB. Разные карты USB3 имеют разные чипы хост-контроллера XHCI, поэтому совместимость с различными USB-концентраторами / устройствами различна.

  • Обновите прошивку вашего устройства USB 2.0. Это, вероятно, невозможно для сканера уровня потребителя, но возможно для некоторых устройств USB 2.0 (например, Pro камеры)

  • Замените устройство USB 2.0 (сканер) на устройство, совместимое с USB 3.0

  • Обновление до последнего основного ядра

  • В UEFI / BIOS измените настройку в конфигурации USB «Режим предварительной загрузки XHCI» с включенного на отключенный. В некоторых конфигурациях BIOS этот параметр называется «Режим XHCI».

    Порты USB 3.0 управляются драйвером xhci_hcd в Linux. Когда включен «режим предварительной загрузки XHCI», BIOS перенаправит порты USB 3.0 на контроллер USB3 xHCI . Когда он отключен, порты USB 3.0 направляются на порты EHCI (USB 2.0). Формулировка «режим предварительной загрузки» подразумевает, что этот параметр влияет только на среду дозагружается полная операционная система (в соответствующем тексте справки BIOS явно упоминается, что эта опция используется для поддержки USB3 в MSDOS); однако, похоже, что это также может повлиять на среду после загрузки и может влиять на подключение портов USB 3.0 к контроллеру USB 2.0 даже после загрузки Linux. Недостатком этого является то, что все порты USB 3 теперь будут работать на скорости USB 2.

  • Отключите энергосбережение USB для всех устройств с опцией модуля ядра autosuspend :

    modprobe usbcore autosuspend=-1

    Или, если usbcore не является модулем с этим параметром загрузки ядра:

    usbcore.autosuspend=-1

    (в Ubuntu встроен usbcore, поэтому используйте параметр загрузки ядра)

  • Отключите энергосбережение (автоподключение USB) для сканера (из Documentation / usb / power-management.txt .

    Когда вы подключите сканер в чек, dmesg|tailи вы увидите что-то вроде

    usb 3-3: Product: SCX-4200 Series

    Число 3-3представляет USB-путь устройства в формате bus-port.port.port . Соответствующий каталог sysfs находится по адресу / sys / bus / usb / devices / 3-3 . Написать на к власти / управления здесь , чтобы отключить autosuspend:

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

Bain
источник
5

У меня была похожая проблема с моим сканером (все в одном Brother MFC-j410) на 32-битной Ubuntu 14.04. Сканер работал только после второго запуска XSANE, а затем выполнял только одну операцию предварительного просмотра или сканирования. Я попытался изменить порт USB на USB 2.0 безрезультатно. Моя материнская плата - Asus B85M-k с чипом Intel i3 LGA1150.

Я попробовал virtualbox с предыдущей версией Ubuntu, где сканер всегда работал на другом компьютере. Тем не менее, не повезло, что вызвало у меня большие подозрения в отношении возможностей USB 3. Принтер также дал мне несколько предупреждений, но распечатал.

после прочтения

Порты USB 3.0 управляются драйвером xhci_hcd в Linux. Когда включен «режим предварительной загрузки XHCI», BIOS перенаправит порты USB 3.0 на контроллер USB3 xHCI. Когда он отключен, порты USB 3.0 направляются на порты EHCI (USB 2.0). Формулировка «режим предварительной загрузки» подразумевает, что этот параметр влияет на среду только до полной загрузки операционной системы (в соответствующем тексте справки BIOS явно упоминается, что этот параметр используется для поддержки USB3 в MSDOS); однако, похоже, что это также может повлиять на среду после загрузки и может влиять на подключение портов USB 3.0 к контроллеру USB 2.0 даже после загрузки Linux (поэтому порты работают со скоростью USB2).

Я вошел в свой BIOS и в расширенных настройках нашел и изменил USB 3.0 с XHCI на отключенный, и был другой параметр для usb 2 (я думаю, что это был EHCI) с включенного на отключенный или наоборот, извините, я не не помню. Во всяком случае, после загрузки обратно в Ubuntu 14.04 32 bit все работало нормально.

Дэвид при свечах
источник
Да, я сделал то же самое, к счастью, у моего ноутбука Dell была возможность отключить USB 3, перезагрузить компьютер и привет, сканер работает нормально (кстати, у меня epson scansnap 1300i).
Макс
Отключение XHCI работало и для меня. Спасибо.
Марсель Вальдес Орозко
1

Обновление: Из информации, найденной в Интернете, результаты:

  1. Драйверы v 2.0.0 известны как баг (так что вы применяете патч).
  2. Разработчик патча не продолжает обновлять его и говорит:
    «Версии 2.xx его драйверов Linux имеют дефект: пользователь должен запускаться с правами root, чтобы иметь возможность сканировать. Это очень опасно» и предлагает установить версию 3.xx.»
  3. На сайте Samsung существует версия 3 для Windows и OSX, а не для Linux
  4. После ссылки, которую вы даете, и поиска по ней, я нахожу ссылку: (возможно, она работает) http://www.openprinting.org/download/printdriver/debian/dists/lsb3.2/main/binary-i386/openprinting-ppds- постскриптум-samsung_20140331-1lsb3.2_all.deb
  5. По тому же пути есть другой файл с именем samsung

Даже если вы скачали и установили версию 2.xx и соответствующий патч, вы не можете ожидать, что он работает с ядром, отличным от того, которое было протестировано.

Возможные решения:

  • Попробуйте установить драйвер версии 3.xx или из каталога, указанного выше.
  • Найти с каким ядром была совместима пара драйверов + патч. Решите, установить ли вы на свой компьютер или установить его внутри виртуальной коробки.
  • Попробуйте скачать драйверы и программы для Windows (лучше старых) и попытаться установить / запустить их под Wine.
  • Здесь есть еще одно руководство по установке различных выходных данных драйвера (на иностранном языке) для scanimage -L
    устройство smfp: SAMSUNG SCX-4200 Series на USB: 0 - SAMSUNG SCX-4200 Series на USB: 0 планшетный сканер
  • Игнорируйте правила безопасности, которые заставляют разработчика патча создавать патч и запускать программу сканера не как пользователь, а как root. С драйвером не залатано. Рискованно и опасно . Я действительно не предлагал вам ...

Удачи


Между тем, вы не можете найти исправления в Ubuntu, я мог бы предложить вам этот обходной путь. Вы сказали

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

(Я согласен) Так что на вашем компьютере под Windows кажется, что работает сканер. Попробуйте установить Windows и драйверы в образе Virtualbox. Если сканер работает, вам не нужно переключать систему ...

Если он не работает, попробуйте запустить ту же виртуальную машину на компьютере вашего брата. Если из этих функций компьютера вы будете уверены, что где-то на вашем компьютере есть настройка, которую вы можете попытаться исправить. Удачи.

Hastur
источник
У меня нет окон, и я не хочу использовать пиратскую версию. Я мог бы позаимствовать ноутбук с операционной системой Windows у жареного, но я не опытный пользователь, так что я не чувствую, как его починить самому. Вот почему я спросил здесь.
Душан Милошевич
Я согласен, я это сказал. Я понял, что у вас есть 2 операционные системы на вашем ноутбуке. Кстати, поскольку он работает с Vuescan и со Scanlite (даже если не в надлежащем режиме), я полагаю, что это не проблема настроек BIOS. Я подтверждаю, что для другого сканера-принтера торговой марки тот факт, что Linux распознает принтер, не означает, что он также распознает сканер. Какой ваш брат лэптопа lsusb результаты? Выдает ли dmesg несколько новых ошибок при сбое сканера? (Я решил проблему с Epson RX690 со сканлитом . Он работает, но sudo sane-find-scannerотвечает тем же выводом).
Хастур
@Dusan Milosevic: Обновленный ответ
Hastur
Я использовал все драйверы на этом сайте, и ни один из них не работает. Спасибо!
Душан Милошевич
Я действительно предлагаю вам установить VirtualBox и создать одну или две виртуальные машины: на виртуальной машине риск запуска программы от имени пользователя root относится только к виртуальной машине, поэтому вы можете принять ее. Более того, если это не удается, вы всегда можете установить старое ядро ​​Linux + драйвер + патч ...
Hastur
1

Попробуйте подключить сканер через подключенный USB. Существует вероятность того, что ваш компьютер не подает достаточно энергии на USB-порт.

Если у вас есть другие проблемы, обязательно добавьте USB-концентратор с питанием. Во многих случаях это решало проблему с компьютерами, которые имели проблемы с устройствами, работающими на других компьютерах.

Это работало с перьевыми дисками, которые выходили из строя на моем основном компьютере, а также на компьютерах клиентов. Это также решило проблемы с внешними USB-накопителями, которые выходили из строя на определенных USB-портах, где работали другие устройства.

У меня также были случаи, когда Y-образные кабельные адаптеры служили таким же разрешением.

Я надеюсь, что это разъяснение спасет других, у которых есть подобные проблемы.

Я не знаю, решена ли проблема ОП в это время. Но различия между его компьютером и другими компьютерами, которые он описал, имеют все точное, включая ту же версию и обновление, USB является очевидным фактором в этом случае, который может быть решен с помощью концентратора с питанием или USB-адаптера Y-кабеля.

Л.Д. Джеймс
источник
И как это сделать?
Душан Милошевич
Купите USB-концентратор, который потребляет адаптер питания. Пример изображения: image.apollo3.com/image/gen/poweredusbadapter140507.jpg
Л.Д. Джеймс,
Это принтер со сканером, поэтому я думаю, что у него достаточно энергии, поэтому он отлично работает на ноутбуке моего брата ... Я сказал, что я не собираюсь тратить деньги на сканирование, которое работает с любым другим компьютером, кроме моего! И что это за ответ? Любой может сказать «Купи новый ноутбук», и это, вероятно, решит эту проблему, но это не качественный ответ!
Душан Милошевич
2
Кстати, я не рекомендую ноутбук за 300 долларов. Я рекомендую USB-концентратор за 7,00 $. Это намного экономичнее, чем покупка ОС Windows за 300 долларов, а также текстового процессора и аксессуаров за 300 долларов. Я упоминаю об этом, потому что это в вашем вопросе. Хотя это не мое предложение, в моем окружении я заменяю возможно неисправный ноутбук как более экономичный, чем замену ОС. В своем вопросе вы говорите, что ваш USB работает со всем остальным. Но я упомяну, что для меня часто случается, что некоторые USB-устройства выходят из строя с некоторыми из моих USB-портов.
Л.Д. Джеймс
1
Стоит попробовать другой USB-концентратор, если он у вас есть. Ошибки протокола USB, обнаруживаемые одной программой, могут не обязательно появляться с другой, даже на одном и том же оборудовании.
Bain
1

Я дам простой ответ, не притворяясь лучше.

С некоторыми материнскими платами старые сканеры USB 2.0 не работают. Не имеет значения, подключены ли они к порту USB 2.0 или 3.0.

Простой обходной путь - отключить XHCI modeв UEFI aka BIOS. Это было упомянуто в других ответах, но не легко найти.

Эта проблема была решена разработчиками ядра и может быть исправлена ​​в более новых ядрах.

Pilot6
источник
1

Ядро Linux версии 4.1.1 (доступно по адресу http://kernel.ubuntu.com/~kernel-ppa/mainline/ ) решает проблему, связанную с тем, что некоторые сканеры не работают с USB 3.0. По крайней мере, это происходит на моем компьютере.

Чтобы быть распознанным как сканер, который должен быть доступен для пользователей без полномочий root для некоторых устройств, строка вроде

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

может быть необходимо в файле с именем /etc/udev/rules.d/samsung.rulesили аналогичным. Идентификатор производителя и продукта может быть считан командой

lsusb

в следующей строке:

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

устройство (в данном случае это не сканер, а USB-концентратор, но в данный момент у него нет сканера) имеет идентификатор производителя 1d6b и идентификатор продукта 0002.

Гюнтер Кенигсманн
источник
0

Обходным путем, который я нашел, была настройка виртуальной машины (и VirtualBox, и VMWare [player] должны быть в порядке) с любым дистрибутивом Linux, который вы хотите, я настроил его на совместимость с протоколом USB 2.0. После того, как я перенаправлю свое USB-устройство на виртуальную машину, я смогу оттуда сканировать

Тревиньо
источник