0. Есть линукc 2.4.27, sarge и usb сканер epson perfection 1270.
1. Проблема: ядро не видит сканер. Кстати, сканер поддерживается sane
2. Должно быть что--то вроде Vendor=0x04b8 ProdID=0x0120 Product=Espon scanner. Ан нет. :-(
$ cat /proc/bus/usb/devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI Root Hub
S: SerialNumber=e400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
3. Естественно, что sane-find-scanner ничего не находит.
$ 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 SCSI driver for your SCSI adapter.
# Also you need support for SCSI Generic (sg) in your operating system.
# If using Linux, try "modprobe sg".
# No USB scanners found. If you expected something different, make sure that
# you have loaded a driver for your USB host controller and have installed a
# kernel scanner module.
# Not checking for parallel port scanners.
# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.
# You may want to run this program as root to find all devices. Once you
# found the scanner devices, be sure to adjust access permissions as
# necessary.
4. Хотя из вывода dmesg вроде бы следует что сканер опознан.
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 16:52:03 May 16 2005
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 10 for device 00:07.2
PCI: Sharing IRQ 10 with 00:0c.0
usb-uhci.c: USB UHCI at I/O 0xe400, IRQ 10
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usbdevfs: remount parameter error
hub.c: new USB device 00:07.2-2, assigned address 2
PCI: Found IRQ 10 for device 00:0c.0
PCI: Sharing IRQ 10 with 00:07.2
8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)
uhci.c: USB Universal Host Controller Interface driver v1.1
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x1001
usb_control/bulk_msg: timeout
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
pciehp: acpi_pciehprm:get_device PCI ROOT HID fail=0x1001
usb_control/bulk_msg: timeout
usb_control/bulk_msg: timeout
usb_control/bulk_msg: timeout
usb_control/bulk_msg: timeout
usb.c: USB device not responding, giving up (error=-110)
hub.c: new USB device 00:07.2-2, assigned address 3
usb_control/bulk_msg: timeout
usb_control/bulk_msg: timeout
usb_control/bulk_msg: timeout
usb_control/bulk_msg: timeout
usb_control/bulk_msg: timeout
usb.c: USB device not responding, giving up (error=-110)
usb.c: registered new driver usbscanner
scanner.c: 0.4.16:USB Scanner Driver
scanner.c: probe_scanner: User specified USB scanner -- Vendor:Product - 4b8:120
5. вроде бы сканер найден
$ cat /proc/bus/usb/drivers
usbdevfs
hub
48- 63: usbscanner
6. и модули есть нужные
# lsmod
....
scanner 10176 0
usb-uhci 19504 0 (unused)
usbcore 52268 1 [scanner usb-uhci]
7. кстати в /etc/modules.conf руками добавлена нужная информация.
$ tail /etc/modules.conf
options scanner vendor=0x04b8 product=0x0120
8. сам usb контроллер система видит
$ lspci
...
0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 11)
$ lsusb
Bus 001 Device 001: ID 0000:0000
9. Помогите люди добрые. Так не хочется маздаем машинку марать из--за одной несчастной железки.
Если сканера в списке подключенных usb устройств нет то sane к этому делу никаким боком не причасно. Пусть для начала с ядром разбереться, у меня то же такой же сканер и я его тоже на debian sarge мучал, единственное исключение у меня не via-usb и kernel 2.6.14-rc4. Быстрее всего я настроил этот сканер в Ubuntu 5.04, но поверь мне ты не получишь удовольствия от сканирования на этом сканере под линухом.
В твоем
$ cat /proc/bus/usb/devices
есть просто поразительная строчка.
P: Vendor=0000 ProdID=0000 Rev= 0.00
даже VIA не додумалась бы такое сделать. Это значит - ремантируй свой usb.
Новое ядро!!! Если USB-HUB работает то lsusb тебе покажет тебе все устройства даже те к которым драйверов не существует. А если нет повод задуматься. Если есть такго рода проблеммы, сначало новое ядро а потом задавать вопросы.
Пробовал подружить сканер с кноппиксом. У него 2.6.11. Не получилось. Там та же проблема, воткнут сканер в порт или нет в /proc/bus/usb/devices одно и то же.
Собери на твоем саргэ,
1. ядро 2.6.14-rc4 обязательно с опцией "USB verbose debug messages";
2.сапусти линух
3.подлючи, предварительно включенный в сеть, сканер к твоему usb
4.dmesg и выложи оутпут тут в форуме.
5.будем смотреть :)
Выяснилось, что на материнке acorp 6bx/via83 usb хост поддерживает только спецификацию usb v1.1, а сканер хочет usb2.0 (скорее всего он хочет high-speed usb, но это нигде не написано).
Вопросы:
1. А не заключается ли засада именно в этом?
2. Что делать?
P.S. Пишу из дистрибутивного ядра
~% uname -a
Linux zoo 2.6.8-2-686 #1 Thu May 19 17:53:30 JST 2005 i686 GNU/Linux
> Помогите люди добрые.
USB не при чём. SANE поддерживает устройство как стабильное, список http://www.sane-project.org/sane-mfgs.html только надо какой-то хитрый backend SnapScan который отдельно от SANE разрабатывается http://snapscan.sourceforge.net/ Обязательно нужен firmaware file: esfw3e.bin без него не заработает. По моему опыту с Mustek его надо куда-то кинуть (может потребоваться правка файла /etc/sane.d/snapscan.conf ), чтобы backend plugin заработал и сканер будет виден при просмотре командой sane-find-scanner (каталог /usr/share/sane). Поддержка идёт с версии SANE-backends-1.0.15-CVS Ядро кстати тоже не при чём, используется libusb
Я, во время работы оси, выдернул сканер из розетки и снова воткнул его. После этого:
~% cat /proc/bus/usb/devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.8-2-686 uhci_hcd
S: Product=VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
S: SerialNumber=0000:00:07.2
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 6 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=04b8 ProdID=0120 Rev= 1.10
S: Manufacturer=EPSON
S: Product=EPSON Scanner
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=16ms
% sane-find-scanner -v
This is sane-find-scanner from sane-backends 1.0.15
# 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.
searching for SCSI scanners:
checking /dev/scanner... failed to open (Invalid argument)
checking /dev/sg0... failed to open (Invalid argument)
поскипано
checking /dev/sgz... failed to open (Invalid argument)
# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a SCSI driver for your SCSI adapter.
# Also you need support for SCSI Generic (sg) in your operating system.
# If using Linux, try "modprobe sg".
searching for USB scanners:
checking /dev/usb/scanner... failed to open (Invalid argument)
checking /dev/usb/scanner0... failed to open (Invalid argument)
checking /dev/usb/scanner1... failed to open (Invalid argument)
поскипано
checking /dev/usbscanner15... failed to open (Invalid argument)
found USB scanner (vendor=0x04b8 [EPSON], product=0x0120 [EPSON Scanner]) at libusb:001:006
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# Not checking for parallel port scanners.
# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.
# You may want to run this program as root to find all devices. Once you
# found the scanner devices, be sure to adjust access permissions as
# necessary.
done
~% scanimage -L
device `snapscan:libusb:001:006' is a EPSON EPSON Scanner flatbed scanner
~% scanimage > image.pnm
[snapscan] Scanner warming up - waiting 10 seconds.
[snapscan] Scanner warming up - waiting 35 seconds.
usb 1-2: control timeout on ep0out
scanimage: sane_start: Error during device I/O
usb 1-2: control timeout on ep0out
usb 1-2: control timeout on ep0out
usb 1-2: control timeout on ep0out
При этом сканер издал звук "тыц-тыц" и затих. Индикатор кнопки ,,Пуск" сменил цвет с синевато--зелёного на жёлтый.
Теперь в /proc/bus/usb/devices никакой информации о сканере нету. Если вновь вынуть--вставить шнур питания, то кнопка ,,Пуск" мигает жёлтым/синевато--зелёным цветом, при этом лампа сканера горит. Потом она тухнет и кнопка перестаёт мигать становясь жёлтой. В /var/log/messages появляется информация
~ugoday# tail /var/log/messages
Oct 16 22:41:21 zoo kernel: usb 1-2: control timeout on ep0out
Oct 16 22:41:22 zoo kernel: usb 1-2: new full speed USB device using address 14
Oct 16 22:41:27 zoo kernel: usb 1-2: control timeout on ep0out
Oct 16 22:41:32 zoo kernel: usb 1-2: control timeout on ep0out
Oct 16 22:41:32 zoo kernel: usb 1-2: new full speed USB device using address 15
Oct 16 22:41:37 zoo kernel: usb 1-2: control timeout on ep0out
Oct 16 22:41:43 zoo kernel: usb 1-2: control timeout on ep0out
Oct 16 22:41:43 zoo kernel: usb 1-2: new full speed USB device using address 16
Oct 16 22:41:48 zoo kernel: usb 1-2: control timeout on ep0out
Oct 16 22:41:53 zoo kernel: usb 1-2: control timeout on ep0out
Скорее всего это происходит из--за того, что у меня usb1.1, а нужен usb2.0. Но в документации к сканеру, в разделе про ошибки говорится
Если вы используете интерфейс USB в режиме Full Speed и подключаете сканер более чем через один разветвитель, система может работать неправильно. В этом случае подключите сканер непосредственно к порту USB компьютера. Также система может работать с ошибками, если вы используете кабель USB, отличный от кабеля, поставляемого EPSON.
Usb1.1 full speed режим умеет и подключён сканер непосредственно к эвм. Портов у меня два. Может быть их на самом деле один + разветвитель? Документация к материнке по этому поводу говорит:
Nwo usb ports are available for connecting usb devices. Т.е. портов вроде бы два, но почему тогда не работает сканер?
U menj wse rabotaet s usb 1.1 piix4 (intel).
Ne slushaj etogo anonima, poka jadro twoe ustrojstwo ne uwidit ne uvidit , skaner ti ne podkluchish.
Pochemu j goworju poslednee jadro, wosmogno u tebja usb ne bes tarakanow i wosmogo ktonibut ego da pochenil w poslednem jadre.
Biwaut li usb s tarakanami? Pokas sam rukami ne potrogal i ne poweril bi: K primeru to chto rabotalo u menja na Intel, s trudom savodilos na VIA i woobshe ne rabotalo na NEC. Chesno goworja mastera jadershiki tak s etim tak i ne sprawilis, windosniki w tom chisle. No esli u tebja tegi samie geleski rabotaut pod windoi i esli wse neobchodimie moduli podgrugeni togda nado brat debug w ruki i remontirowat modul k twoej geleske. Ili kak warian gdat poka ktoto sdelaet eto sa tebja. A poka wipolni wishe perechislennie punkti, tolko potom budem goworit po delu.
Kstati ti jadro to sobirat umeesh.