USB 2.0设备(扫描仪)不适用于USB 3.0系统上的xhci_hcd


24

我正在尝试使用带有扫描仪的三星scx-4200进行扫描。当我连接具有相同版本ubuntu(14.04)的兄弟的笔记本电脑时,它可以工作。我不知道如何以及为什么。他没有安装任何扫描软件。我还尝试了另一台使用基本操作系统的计算机,它也可以工作。现在是时候变得很奇怪了!我试图在我的和兄弟的笔记本电脑上运行许多通过实时USB发行的发行版。扫描仪始终可与Brother一起使用,而不能与我的笔记本电脑一起使用。我非常需要扫描仪,因此可能会切换到Windows,但我不喜欢它,因为它不是开源的,所以请帮忙!这是我遇到的错误以及简单扫描设置的屏幕截图。

在此处输入图片说明 在此处输入图片说明

编辑1:USB可以与任何其他设备正常工作。到目前为止,我已经连接了鼠标,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,而我的笔记本是华硕。我的BIOS有更多选择。我有2个USB 3.0和一个2.0,而我的兄弟有3 x 2.0。这是一些区别...这是我的笔记本电脑的uname -a输出:

Linux dusan-K55A 3.13.0-24-generic#46-Ubuntu SMP Thu Apr 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 Thu Apr 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中,错误没有错误,我认为:

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中的步骤,现在扫描也不起作用,该步骤以前可以工作,但现在可以打印。A但是,使用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

该系统是否已升级到最新版本?您兄弟的笔记本电脑是全新安装的?我问,因为通过全新安装进行升级会导致类似这样的奇怪问题。但是它们是不同的硬件,因此可能是一个讨厌的错误。
fleamour 2014年

听起来可能是内核模块(驱动程序)问题。也许没有加载特定的。如果您还可以在lsmod插入扫描仪的情况下提供两台计算机的输出,则可以为我们提供一个良好的起点。
Chuck R

当扫描仪发生故障时,您是否在/ var / log / syslog/var/log/kern.log〜/ .xsession-errors中看到任何错误
贝恩2014年


1
有用!这样可以解决问题,并且扫描现在可以进行。如果您想要赏金奖励,请发布答案。一个问题:这会影响USB 3.0的性能吗?
Dusan Milosevic

Answers:


19

您的USB 2.0设备(在本例中为扫描仪)与USB 3.0系统(USB3端口或USB3集线器的USB2端口)进行交互时存在一些兼容性问题。该问题可能是由扫描仪硬件/固件,PC EFI / BIOS固件,PC USB芯片组或Linux内核xhci_hcd驱动程序引起的。

可能的解决方案:

  • 使用短的USB 2延长电缆(或仅使用USB2电缆)连接设备。这将强制USB 3端口使用USB 2信令。USB 3设备或电缆具有9针,而USB 2设备或电缆仅具有4针。仅连接4个引脚时,USB 3端口将默认为USB 2信号通信。一根USB 2延长线仅会缠绕4根线,这些线连接了仅USB 2通讯的4个针脚。

  • 使用便宜的USB 1.1(或2.0)集线器并将其连接到USB3端口。将设备连接到USB 1.1 / 2.0集线器。这将强制连接为USB1.1 / 2.0。由于集线器具有不同的USB控制器,因此可以解决一些协议错误。USB 1.1集线器是“低速”设备(如鼠标,键盘等)的不错选择。USB2.0集线器对于“全速”设备(如不会降级到USB 1.1的扫描仪)可能非常必要。

  • 升级您的PC /笔记本电脑BIOS。制造商可以解决BIOS / EFI中的许多USB问题。

  • 如果笔记本电脑有USB 2.0设备(扫描仪),请通过USB 2.0端口连接。如果您的USB2端口也由xhci_hcd驱动程序控制(即,您仍然new high-speed USB device number x using xhci_hcd在dmesg中看到),则这可能没有什么不同,在这种情况下,请尝试使用外部USB2集线器。

  • 如果这是台式机或服务器,而不是笔记本电脑,请尝试使用其他PCI USB控制器卡。不同的USB3卡具有不同的XHCI主机控制器芯片,因此与不同的USB集线器/设备的兼容性也有所不同。

  • 升级USB 2.0设备的固件。对于消费者级别的扫描仪,这可能是不可能的,但是对于某些USB 2.0设备(例如,专业相机),这是可能的。

  • 将USB 2.0设备(扫描仪)替换为USB 3.0兼容设备

  • 升级到最新的主线内核

  • 在UEFI / BIOS中,将 USB配置下的“ XHCI预引导模式”设置从启用更改为禁用。在某些BIOS配置中,此设置称为“ XHCI模式”。

    USB 3.0端口由Linux中的xhci_hcd驱动程序控制。当“XHCI预引导模式”已启用BIOS将路由的USB 3.0端口的USB3 的xHCI控制器。禁用后,USB 3.0端口将路由到EHCI(USB 2.0)端口。措词“预引导模式”表示此选项仅在影响环境之前启动完整的操作系统(相关的BIOS帮助文本明确提到此选项用于MSDOS中的USB3支持);但是,这似乎也会影响启动后的环境,并且即使在加载Linux之后,也可能具有将USB 3.0端口连接到USB 2.0控制器的效果。这样做的缺点是所有USB 3端口现在都将以USB 2速度运行。

  • 使用自动暂停内核模块选项为所有设备禁用USB省电功能:

    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。您将在/ sys / bus / usb / devices / 3-3中找到相应的sysfs目录。写电源/控制这里禁止autosuspend:

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


5

在32位Ubuntu 14.04上,我的扫描仪(全部安装在一个Brother MFC-j410中)也遇到了类似的问题。扫描仪仅在第二次启动XSANE之后才能工作,然后只能进行一次操作预览或扫描。我尝试将USB端口更改为USB 2.0,但无济于事。我的主板是带有Intel i3 LGA1150芯片的Asus B85M-k。

我在早期版本的Ubuntu中尝试了virtualbox,其中扫描仪始终可以在另一台PC上运行。尽管如此,还是没有运气,这使我对USB 3功能非常怀疑。打印机也给了我一些警告,但确实打印了。

看完这篇

USB 3.0端口由Linux中的xhci_hcd驱动程序控制。启用“ XHCI预引导模式”后,BIOS会将USB 3.0端口路由到USB3 xHCI控制器。禁用后,USB 3.0端口将路由到EHCI(USB 2.0)端口。措词“预引导模式”表示此选项仅在引导完整的操作系统之前影响环境(相关的BIOS帮助文本明确提到此选项用于MSDOS中的USB3支持);但是,这似乎也可能影响启动后的环境,并且即使在加载Linux之后(将端口以USB2速度运行),也可能具有将USB 3.0端口连接到USB 2.0控制器的效果。

我进入BIOS并在高级设置下找到并将USB 3.0从XHCI启用更改为禁用,并且USB 2(我认为是EHCI)还有另一种设置从启用更改为禁用,或者相反,对不起,我没有记得。无论如何,在重新启动32位Ubuntu 14.04之后,一切正常。


是的,我也做了同样的事情,幸运的是我的戴尔笔记本电脑可以禁用USB 3,重新启动了,嘿,presto,扫描仪现在可以正常工作了(顺便说一句,我的是epson scansnap 1300i)。
Maks 2014年

禁用XHCI也对我有用。谢谢。
Marcel Valdez Orozco

1

更新:从互联网结果中找到的信息:

  1. Drivers 2.0.0版通常被称为Buged(以便您应用补丁程序)。
  2. 该修补程序的开发人员不会继续对其进行更新, 并说
    “其Linux驱动程序的2.xx版存在缺陷:用户必须以root用户权限运行才能进行扫描。这非常危险”,建议安装该版本3.xx。”
  3. 在三星站点中,存在适用于Windows和OSX而非Linux的版本3。
  4. 在您给出的链接和搜索周围,我找到了一个链接:(也许它起作用) http://www.openprinting.org/download/printdriver/debian/dists/lsb3.2/main/binary-i386/openprinting-ppds- postscript-三星_20140331-1lsb3.2_all.deb
  5. 在同一路径中,还有另一个名为三星的文件

即使您已经下载并安装了版本2.xx和相关补丁,也不能期望它在与经过测试的内核不同的内核下运行。

可能的解决方案:

  • 尝试安装驱动程序版本3.xx或上面链接的目录中的驱动程序。
  • 查找夫妇driver + patch与哪个内核兼容。确定是安装在您的计算机上还是将其安装在虚拟盒中。
  • 尝试下载Windows的驱动程序和程序(最好是旧版本),并尝试在wine下安装/运行它们。
  • 这里还有另一本教程,介绍如何为scanimage -L
    设备smfp 安装这些驱动程序(外语)不同的输出:USB:0上的SAMSUNG SCX-4200系列是USB:0上的SAMSUNG SCX-4200系列平板扫描仪
  • 忽略迫使补丁开发者创建补丁并执行扫描程序的安全规则,而不是像用户一样,而是像root用户一样执行扫描程序。没有修补驱动程序。 有危险危险。我不是真的建议你

祝好运


同时,您在Ubuntu中找不到修复程序,我可以向您建议此解决方法。你说

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

(我同意)因此,在Windows下的计算机上,扫描仪可以正常运行。尝试在Virtualbox映像中安装Windows和驱动程序。如果扫描仪功能正常,您无需切换系统...

如果无法正常运行,请尝试在您兄弟的计算机上运行相同的虚拟机。如果通过该计算机功能,您将确定计算机中某处可以尝试修复的设置。祝好运。


我没有Windows,也不想使用盗版。我可能会借用油炸的Windows笔记本电脑,但我不是高级用户,所以我不想自己修复它。这就是为什么我在这里问。
Dusan Milosevic

我同意我说的。我了解您的笔记本电脑上有2个操作系统。顺便说一句,因为它可以与Vuescan和Scanlite一起使用(即使它不在正确的模式下),所以我认为这不是BIOS设置的问题。我确认对于其他商标的扫描仪打印机,Linux可以识别打印机这一事实并不意味着它也可以识别为扫描仪。您兄弟笔记本电脑的lsusb结果是哪个?扫描仪故障时,dmesg是否会给您一些新的错误?(我使用带scanlite的 Epson RX690解决了问题。它可以正常工作,但会sudo sane-find-scanner以相同的输出响应)。
哈斯图尔2014年

@杜珊·米洛舍维奇(Dusan Milosevic):最新答案
Hastur

我尝试了该站点上的所有驱动程序,但没有任何作用。谢谢!
杜珊·米洛舍维奇

我真的建议您安装VirtualBox并创建一个或两个虚拟机:在虚拟机中,以root身份运行程序的风险仅与虚拟机有关,因此您可以接受它。此外,如果失败,您可以随时安装旧的Linux内核+驱动程序+补丁...
Hastur,2014年

1

尝试通过有源USB连接扫描仪。您的计算机可能没有为USB端口提供足够的电源。

对于其他任何有此问题的人,请务必检查添加有源USB集线器。它已在许多情况下解决了在其他计算机上运行的设备出现问题的计算机的问题。

笔驱动器在我的主计算机和客户计算机上均出现故障时,可以使用此功能。它还解决了外部USB驱动器的问题,这些问题在其他设备正常工作的某些USB端口上出现故障。

我也遇到过Y电缆适配器具有相同分辨率的情况。

我希望这种澄清将挽救其他有类似问题的人。

我不知道OP的问题目前是否已解决。但是他的计算机与他描述的其他计算机之间的差异完全相同,包括相同的版本和更新,在这种情况下,USB是一个明显的因素,可以通过有源集线器或Y电缆USB适配器解决。


以及如何做到这一点?
Dusan Milosevic'5

购买带有电源适配器的USB集线器。范例图片:image.apollo3.com/image/gen/poweredusbadapter140507.jpg
LD詹姆斯(James)

这是一台带扫描仪的打印机,所以我认为它具有足够的功能,因此,它可以在我哥哥的笔记本电脑上很好地工作...我说,我不会花钱在扫描上,它可以与我的其他任何计算机兼容!这是什么答案?任何人都可以说“购买新笔记本电脑”,这可能会解决此问题,但这不是质量的答案!
Dusan Milosevic

2
顺便说一句,我不建议使用300.00美元的笔记本电脑。我建议使用$ 7.00的USB集线器。这比购买300.00美元的Windows操作系统和另外300.00美元的文字处理器及配件要经济得多。我要说的是因为这是您的问题。虽然这不是我的建议,但在我的环境中,与更换操作系统相比,我更经济地更换了可能有故障的笔记本电脑。在您的问题中,您说您的USB可以与其他所有设备一起使用。但我要提一提,某些USB设备的某些USB端口出现故障是很常见的。
LD詹姆斯

1
如果您碰巧有一个USB集线器,那是值得尝试的。一个程序暴露的USB协议错误可能不一定与另一个程序一起出现,即使在相同的硬件上也是如此。
贝恩2014年

1

我将给出一个简单的答案,不要假装变得更好。

对于某些主板,旧的USB 2.0扫描仪不起作用。无论它们是否连接到USB 2.0或3.0端口。

一个简单的解决方法是XHCI mode在UEFI aka BIOS中禁用。它在其他答案中已经提到过,但并不容易找到。

内核开发人员已解决此问题,并且可能在较新的内核中已解决该问题。


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或类似文件中可能是必需的。可以通过以下命令读取供应商和产品ID

lsusb

在以下行中:

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

该设备(在这种情况下不是扫描仪,而是USB集线器,但现在没有可用的扫描仪)的供应商ID为1d6b,产品ID为0002。


0

我发现了一种解决方法,就是使用您想要的任何Linux发行版来设置虚拟机(VirtualBox和VMWare [player]都可以),我将其配置为与USB 2.0协议兼容。将USB设备重定向到VM之后,就可以从那里进行扫描了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.