Есть у меня сканер-старичок "Mustek Be@r Paw 1200", который в свое время честно отсканировал с десяток толстенных книг и небольшую кучу всяких бумаг, эскизов, рисунков. Громоздкий, медленный, но свой :)
Лет пять тому назад стояла у меня на компьютере Мандрива 32-хразрядная, уж не помню какой версии, 2007-ой, наверное. И сканер тот сходу завелся и спокойно работал "из коробки". Но прошло время, сменил я компьютер, поставил Мандриву 2009 x64. А сканер взял, да и не заработал нормально: иной раз отсканирует страничку, но чаще зависнет и гудит напряжно. Причем только обесточивание устройства и помогало. Посидел я чутка в попытках решения проблемы, но сходу она не поборолась. Начал грешить на железку, подключил к продукту от дядюшки Билла - сканер заработал нормально. "Медвежья Л@па" особо не была нужна, появились другие задачи, и я благополучно забыл про это.
Но вот, решил я обновить свою операционку - остался на Мандриве (такой вот я постоянный), но теперь уже на 2011 и тоже x64. Начал я ее настраивать и про сканер вспомнил - а вдруг пригодится. Поставил sane - сканер видит, но виснет после калибровки. На форумах ничего толком нет: кому-то дрова от винды предлагают на линуху поставить, чтобы сканер заработал - но это явно не мой случай, да и посты староваты. В общем, не найдя ничего нового, плюнул я на ладошки и сам стал ковыряться.
sane-find-scanner -q
found USB scanner (vendor=0x045e, product=0x028e) at libusb:004:002
found USB scanner (vendor=0x0400 [National Semiconductor], product=0x1000 [Merlin Scanner], chip=LM9831) at libusb:005:007
Два устройства, одно из них виртуальное - пока все нормально.
scanimage -L
device `v4l:/dev/video0' is a Noname UNKNOWN/GENERIC virtual device
device `plustek:libusb:005:007' is a Mustek BearPaw 1200 flatbed scanner
Сканер определился корректно. Для работы со сканером используется plustek - он, судя по документации, нормально работает с этой моделью.
scanimage -d plustek -T
scanimage: scanning image of size 202x150 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 606 bytes...
И все - повис с неприятным звуком.
Обнаружил конфиги в папочке /etc/sane.d/ (где же им еще быть-то) и заинтересовал меня файлик plustek.conf - его ведь используем. Проверил по ProductID параметр mov - все в порядке, значит дело в чем-то еще. Начал перебирать параметры, подробно останавливаясь на том, что относится к калибровке - виснет-то до начала непосредственного сканирования. Время от времени запускал scanimage -d plustek -T и дергал вилку питания сканера.
Нашел:
# for skipping entire fine calibration step
# coarse calibration is done
#
option skipFine 0
Поменял на 1 и все заработало!
scanimage -d plustek -T
scanimage: scanning image of size 202x150 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 606 bytes... PASS
scanimage: reading one byte... PASS
scanimage: stepped read, 2 bytes... PASS
scanimage: stepped read, 4 bytes... PASS
scanimage: stepped read, 8 bytes... PASS
scanimage: stepped read, 16 bytes... PASS
scanimage: stepped read, 32 bytes... PASS
scanimage: stepped read, 64 bytes... PASS
scanimage: stepped read, 128 bytes... PASS
scanimage: stepped read, 256 bytes... PASS
scanimage: stepped read, 512 bytes... PASS
scanimage: stepped read, 1024 bytes... PASS
scanimage: stepped read, 1023 bytes... PASS
scanimage: stepped read, 511 bytes... PASS
scanimage: stepped read, 255 bytes... PASS
scanimage: stepped read, 127 bytes... PASS
scanimage: stepped read, 63 bytes... PASS
scanimage: stepped read, 31 bytes... PASS
scanimage: stepped read, 15 bytes... PASS
scanimage: stepped read, 7 bytes... PASS
scanimage: stepped read, 3 bytes... PASS
Ну чтож, обойдемся и без точной калибровки. Зато девайс пашет :)