Помогите установить драйвер для Ricoh SP 150SU

Проблемы с печатью и сканированием обсуждаем здесь.
Правила форума
Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа.
Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 22 окт 2017, 22:40

Пользуюсь Linux Mint 18.2 KDE x64

Приобрёл-таки МФУ Ricoh SP 150SU.
С дровами для принтера проблем не оказалось: пока что исправно печатает и копирует.
Осталось установить драйвер для сканера. Сканер мне больше всего нужен.
Здесь производитель даёт скачать Scanner Driver (есть для Ubuntu 12.04 LTS - для принтера подошло, для сканера тоже должно).

Скачивается файл r75389L2.gz

Этот архив я распаковал. Нашёл там README.txt c вот такой инструкцией:
README for the Linux SANE Ricoh SP 150SU/150SUw scanner driver

Installation:

Installation is manual and requires root (super-user) permissions.

Ensure that the SANE package and libusb.so are installed before installing the Ricoh SP 150SU/150SUw driver.
Enusre that Ricoh SP 150SU/150SUw no plug in your computer before installing the Ricoh SP 150SU/150SUw driver.

Switch to the directory of RICOH-SP-150SU-Scan.tar.gz
Unpack the Ricoh SP 150SU/150SUw driver (libsane-alto.so):

# tar -xvzf RICOH-SP-150SU-Scan.tar.gz
# cd RICOH-SP-150SU-Scan

Install the Ricoh SP 150SU/150SUw driver by shell(verified in Ubuntu10/12;RedHat5/6;OpenSUSE13;SUSE11):
# ./install.sh

If fail you can Install the Ricoh SP 150SU/150SUw driver manualy:

if you work in 32bit version Linux:
If it exists /usr/lib/sane :

# sudo cp -p ./32bit/libsane-alto.so.1.0.22 /usr/lib/sane/
# sudo cp -p ./32bit/alto_ntdcmsdll.so /usr/lib/sane/

# sudo ln -s /usr/lib/sane/libsane-alto.so.1.0.22 /usr/lib/sane/libsane-alto.so
# sudo ln -s /usr/lib/sane/libsane-alto.so.1.0.22 /usr/lib/sane/libsane-alto.so.1

If it exists /usr/local/lib/sane:

# sudo cp -p ./32bit/libsane-alto.so.1.0.22 /usr/local/lib/sane/
# sudo cp -p ./32bit/alto_ntdcmsdll.so /usr/local/lib/sane/

# sudo ln -s /usr/local/lib/sane/libsane-alto.so.1.0.22 /usr/local/lib/sane/libsane-alto.so
# sudo ln -s /usr/local/lib/sane/libsane-alto.so.1.0.22 /usr/local/lib/sane/libsane-alto.so.1

if you work in 64bit version Linux:
If it exists /usr/lib/sane:

# sudo cp -p ./64bit/libsane-alto.so.1.0.22 /usr/lib/sane/
# sudo cp -p ./64bit/alto_ntdcmsdll.so /usr/lib/sane/

# sudo ln -s /usr/lib/sane/libsane-alto.so.1.0.22 /usr/lib/sane/libsane-alto.so
# sudo ln -s /usr/lib/sane/libsane-alto.so.1.0.22 /usr/lib/sane/libsane-alto.so.1

If it exists /usr/local/lib/sane:

# sudo cp -p ./64bit/libsane-alto.so.1.0.22 /usr/local/lib/sane/
# sudo cp -p ./64bit/alto_ntdcmsdll.so /usr/local/lib/sane/

# sudo ln -s /usr/local/lib/sane/libsane-alto.so.1.0.22 /usr/local/lib/sane/libsane-alto.so
# sudo ln -s /usr/local/lib/sane/libsane-alto.so.1.0.22 /usr/local/lib/sane/libsane-alto.so.1

If it exists /usr/local/lib64/sane:

# sudo cp -p ./64bit/libsane-alto.so.1.0.22 /usr/lib64/sane/
# sudo cp -p ./64bit/alto_ntdcmsdll.so /usr/lib64/sane/

# sudo ln -s /usr/lib64/sane/libsane-alto.so.1.0.22 /usr/lib64/sane/libsane-alto.so
# sudo ln -s /usr/lib64/sane/libsane-alto.so.1.0.22 /usr/lib64/sane/libsane-alto.so.1


Ricoh SP 150SU/150SUw SANE DLL Configuration:

1) Add the line "alto" to the /etc/sane.d/dll.conf file.

#sudo vi /etc/sane.d/dll.conf
add the line "alto"

This will cause the Ricoh SP 150SU/150SUw driver to be loaded by SANE.
SANE initializaion is much faster if unneeded
backend modules in dll.conf are commented out.

See Also: man sane-dll

2) Add the following two lines to the /etc/udev/rules.d/XX-libsane.rules file (where XX is two digits):

# Ricoh SP 150SU
ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0454", MODE="0666", ENV{libsane_matched}="yes"
# Ricoh SP 150SUw
ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0456", MODE="0666", ENV{libsane_matched}="yes"

#sudo vi /etc/udev/rules.d/XX-libsane.rules

If this file is not in /etc/udev/rules.d, it may be in /lib/udev/rules.d.

#sudo vi /lib/udev/rules.d/XX-libsane.rules


USB Configuration / Troubleshooting:
After you have connected the scanner, run:

# sane-find-scanner

If successful, you should see a line similar to this:

found USB scanner (vendor=0x05ca [Language Error], product=0x0454 [Language Error]) at libusb:001:002
or
found USB scanner (vendor=0x05ca [Language Error], product=0x0456 [Language Error]) at libusb:001:003

sane-find-scanner only verifies that the scanner is connected to
your system. To verify that the Ricoh SP 150SU/150SUw driver is loaded, run:

# scanimage -L

If successful, you should see a line similar to this:

device `alto:libusb:001:002' is a Ricoh SP 150SU Scanner
or
device `alto:libusb:001:003' is a Ricoh SP 150SUw Scanner


If the Ricoh SP 150SU/150SUw driver is loaded, you should be ready to start scanning
using SANE applications like scanimage or xsane.

If the Ricoh SP 150SU/150SUw driver isn't loaded, run "man sane" and "man sane-usb"
to get more troubleshooting information. Note that the Ricoh SP 150SU/150SUw driver
uses libusb (Linux kernel 2.4.19 and later).

To determine the options specific to your scanner, run:

# scanimage --help

Options specific to device `alto:libusb:001:003':
-l 0..205mm (in steps of 0.0999908) [0]
Top-left x position of scan area.
-t 0..286.3mm (in steps of 0.0999908) [0]
Top-left y position of scan area.
-x 10.9..215.9mm (in steps of 0.0999908) [215.9]
Width of scan-area.
-y 10.9..297.2mm (in steps of 0.0999908) [297.2]
Height of scan-area.
--mode Color|Gray|Lineart [Color]
Selects the scan mode (e.g., lineart, monochrome, or color).
--source Flatbed [Flatbed]
Selects the scan source (such as a document-feeder).
--resolution 75|100|150|200|300|600|1200dpi [75]
Sets the resolution of the scanned image.
--preview[=(yes|no)] [no]
Request a preview-quality scan.

Type ``scanimage --help -d DEVICE'' to get list of all options for DEVICE.



Option notes:
Defaults are in enclosed in [].

The default scan area is the maximum width and height.

Limitations:
Images are raw (no automatic image enhancement).

Buttons are not supported.
Сначала я героически смог установить install.sh
./install.sh
Затем сумел вставить строку "alto" в файл /etc/sane.d/dll.conf

С остальным плохо.

1. Оказывается, в начале инструкции есть предупреждение, которое я пропустил:
"Ensure that the SANE package and libusb.so are installed before installing the Ricoh SP 150SU/150SUw driver."
Пытаясь разобраться, что такое SANE package, я установил что-то этой командой:
sudo apt-get install sane sane-utils libsane-extras
Теперь надо разобраться с libusb.so
На каком-то сайте по Arch Linux нашёл архив sane 1.0.27-1, но никак не могу понять, что с ним делать.

2. Далее в инструкции указано:
Add the following two lines to the /etc/udev/rules.d/XX-libsane.rules file (where XX is two digits):

# Ricoh SP 150SU
ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0454", MODE="0666", ENV{libsane_matched}="yes"
# Ricoh SP 150SUw
ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0456", MODE="0666", ENV{libsane_matched}="yes"

#sudo vi /etc/udev/rules.d/XX-libsane.rules

If this file is not in /etc/udev/rules.d, it may be in /lib/udev/rules.d.

#sudo vi /lib/udev/rules.d/XX-libsane.rules
С инструментом vi я разобрался, внёс изменения в /lib/udev/rules.d
Именно внёс изменения, ибо нужные строки были, там не хватало этого кусочка: MODE="0666"

Инструкция оканчивается предложением ввести в терминал команды:
# sane-find-scanner
# scanimage -L

Результат, конечно, отрицательный:
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).


Видимо, что-то не так именно с тем, с чего инструкция начинается (the SANE package and libusb.so).
Ещё на сайте SANE (вот тут), как я понимаю, перечислены модели устройств, у которых есть Sane (до сих пор не совсем понимаю, о чём речь, но это, видимо, важно). Моего Ricoh SP 150SU там нет. Надеюсь, это не крест на всей операции. И вообще, зачем тогда производитель говорит, что устройство идёт на Linux и даёт Scanner Driver? Надеюсь на лучшее.

Помогите подключить сканер! Подскажите, пожалуйста, что делать.
Заранее спасибо!

Решение wanoska » 23 окт 2017, 18:42
если делать так то я пути поменял попробуй
Unborn писал(а):
23 окт 2017, 18:05
В Минт не как у людей - libsane лежат не в /usr/lib/sane или по в lib по разрядности, а в /usr/lib/x86_64-linux-gnu/sane
1.tar.gz
но я не уверен на 100% не забудь выставить права на исполнение chmod +x путь к файлу который в архиве

Перейти к ответу ➙

В сети
Аватара пользователя

Chocobo
Сообщения: 5496
Зарегистрирован: 27 авг 2016, 19:57
Решено: 127
Откуда: НН
Благодарил (а): 410 раз
Поблагодарили: 1422 раза

Помогите установить драйвер для Ricoh SP 150SU

Сообщение Chocobo » 22 окт 2017, 23:53

vencedor писал(а):
22 окт 2017, 22:40
Теперь надо разобраться с libusb.so
Попробуй притащить пакет libusb-dev
Снимок экрана от 2017-10-23 02-50-35.png
vencedor писал(а):
22 окт 2017, 22:40
С инструментом vi я разобрался,
Можно было просто sudo xed использовать :hoho: каким редактором пользоваться - не принципиально
vencedor писал(а):
22 окт 2017, 22:40
No scanners were identified.
Попробуй повторить поиск самого сканера от sudo, может udev-правила не отработали вполне. Как-то было и такое
и simple-scan тоже потом от sudo вызови
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 09:28

Chocobo писал(а):
22 окт 2017, 23:53
Попробуй притащить пакет libusb-dev
Установил пакет libusb-dev с помощью этих команд:
# sudo apt-get update
# sudo apt-get install libusb-dev


Затем повторил действия по инструкции:
- установил install.sh командой ./install.sh
- убедился, что в файле /etc/sane.d/dll.conf file. есть строка "alto"
- убедился, что файле /lib/udev/rules.d есть строки
# Ricoh SP 150SU
ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0454", MODE="0666", ENV{libsane_matched}="yes"
# Ricoh SP 150SUw
ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0456", MODE="0666", ENV{libsane_matched}="yes"

(правда, вместо Ricoh SP 150SU там написано Ricoh SP 150SU Scanner)

После этого ввёл
sudo sane-find-scanner
sudo scanimage -L


Результат тот же, успех не наблюдается. :dash2:


Unborn
Сообщения: 779
Зарегистрирован: 03 сен 2016, 10:36
Решено: 15
Благодарил (а): 2 раза
Поблагодарили: 118 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение Unborn » 23 окт 2017, 14:07

vencedor, lsusb с подключенным аппаратом что показывает. И не подключайте периферию к usb3.

Аватара пользователя

Свежий Ветер
Сообщения: 51
Зарегистрирован: 16 янв 2017, 11:13
Благодарил (а): 16 раз
Поблагодарили: 14 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение Свежий Ветер » 23 окт 2017, 14:33

Я внимательно слежу, ибо именно на минт не смог поставить сканер от немецко-фашисткого мфу им. тов. Бразера. Как ни странно, на убунту, народ пишет в профильных, встает с полпинка. Что-то у нас там с папками не то и не так и не в нужных местах.
Глаза боятся, а руки - крюки.

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 15:07

Unborn писал(а):
23 окт 2017, 14:07
lsusb с подключенным аппаратом что показывает.

Код: Выделить всё

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0bda:57b8 Realtek Semiconductor Corp. 
Bus 001 Device 003: ID 04f3:2039 Elan Microelectronics Corp. 
Bus 001 Device 016: ID 05ca:0454 Ricoh Co., Ltd 
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 015: ID 09da:c10a A4Tech Co., Ltd. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Устройство до этого действительно подключал через USB 3.0. Включил в USB 2.0, но не помогло.

Аватара пользователя

wanoska
Сообщения: 160
Зарегистрирован: 17 окт 2016, 12:36
Решено: 4
Откуда: Кинешма
Благодарил (а): 30 раз
Поблагодарили: 41 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение wanoska » 23 окт 2017, 16:48

Не по теме
Господа админы, может стоит перенести вопрос в профильную тему мне кажется это очень облегчит поиск через N месяцев кому то
LM18.2 Cinnamon 3.2.7 Kernel: 4.12.0-041200-generic

В сети
Аватара пользователя

Chocobo
Сообщения: 5496
Зарегистрирован: 27 авг 2016, 19:57
Решено: 127
Откуда: НН
Благодарил (а): 410 раз
Поблагодарили: 1422 раза

Помогите установить драйвер для Ricoh SP 150SU

Сообщение Chocobo » 23 окт 2017, 16:59

Не по теме
wanoska, все разделы (особенно этот), периодически модерируются с целью наведения порядка и переноса в ветки соответственно тематике. Не промахнемся и мимо этой темы

Аватара пользователя

wanoska
Сообщения: 160
Зарегистрирован: 17 окт 2016, 12:36
Решено: 4
Откуда: Кинешма
Благодарил (а): 30 раз
Поблагодарили: 41 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение wanoska » 23 окт 2017, 17:26

Не по теме
Chocobo, тогда вопросов нет :thumbs: :acute:
LM18.2 Cinnamon 3.2.7 Kernel: 4.12.0-041200-generic


Unborn
Сообщения: 779
Зарегистрирован: 03 сен 2016, 10:36
Решено: 15
Благодарил (а): 2 раза
Поблагодарили: 118 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение Unborn » 23 окт 2017, 18:05

vencedor, а у тебя установочный скрипт нормально отработал? В Минт не как у людей - libsane лежат не в /usr/lib/sane или по в lib по разрядности, а в /usr/lib/x86_64-linux-gnu/sane - это для х64 ОС, для х32 - я х.з. Там и libsane-ricon есть.
Переноси туда руками или правь скрипт. И пробуй завести сканер.
Скрипт ориентирован на шляпу и ящерицу. Даже ридми вручную для них.
И выводы команд sudo sane-find-scanner sudo scanimage -L нужно показывать, а не рассказывать.

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 18:25

Unborn писал(а):
23 окт 2017, 18:05
а у тебя установочный скрипт нормально отработал?
Когда устанавливал install.sh, вот такой вывод был:

Код: Выделить всё

VictorComp RICOH-SP-150SU-Scan_v1.00 # ./install.sh

RICOH SP 150SU/150SUw Scanner Installation
 
M A I N -M E N U
1. Install.
2. Uninstall.
x. Exit.

Press [1/2/x] key to continue... 1
Can't install
Update dll.conf ... OK
Update /lib/udev/rules.d/60-libsane.rules ... OK
Install complelte, press any key to continue
Я так понимаю, что раз complete, то всё гуд. Хотя там, конечно и появляется "Can't install"...

На всякий случай показываю выводы команд sudo sane-find-scanner sudo scanimage -L:
victor@VictorComp ~ $ sudo 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.

found USB scanner (vendor=0x05ca [RICOH], product=0x0454 [SP 150SU]) at libusb:001:016
# 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.
victor@VictorComp ~ $ sudo scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
Unborn писал(а):
23 окт 2017, 18:05
Переноси туда руками или правь скрипт.
Речь об install.sh? Посмотрел я в этот скрипт. Я, конечно, любил информатику в школе, но это было давно. Не уверен, что смогу корректно править скрипт. Что именно и куда руками переносить тоже не совсем ясно.
Так что мне тут помощь нужна :blush: Если это трудоёмко, можем договориться. :cool: Работающий сканер позарез нужен.
Последний раз редактировалось пользователем 1 Dja; всего редактировалось раз: 6
Причина: BB-code

Аватара пользователя

wanoska
Сообщения: 160
Зарегистрирован: 17 окт 2016, 12:36
Решено: 4
Откуда: Кинешма
Благодарил (а): 30 раз
Поблагодарили: 41 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение wanoska » 23 окт 2017, 18:29

vencedor писал(а):
23 окт 2017, 18:25
Речь об install.sh? Посмотрел я в этот скрипт.
скинь его сюда
LM18.2 Cinnamon 3.2.7 Kernel: 4.12.0-041200-generic

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 18:30

#!/bin/bash
#
# RICOH Alto-3in1 Scanner Driver Install Script
#



################################################################################
# Initialize key variables

module="alto" # RICOH Alto-3in1F scanner
vid="05ca"
#pid="562f"
pid_1="0454"
pid_2="0456"
code="SP 150SU/150SUw"
arch=""
sys=""

################################################################################
#
copy_file()
{
src=$1
dst=$2

sudo cp "$src"libsane-"$module".so.1.0.22 $dst >> /dev/null
if [ -f "$dst""libsane-""$module"".so.1.0.22" ]; then
#######For Redhat#######
# sys=$(lsb_release -i 2>> /dev/null)
if echo $sys | grep -i "redhat" >> /dev/null
then
version=$(lsb_release -r 2>> /dev/null)
if echo $version | grep -i '5.*' >> /dev/null
then
sudo chcon -t textrel_shlib_t "$dst""libsane-""$module"".so.1.0.22"
fi
fi
########################
echo "Copy libsane-""$module"".so.1.0.22 ... OK"
else
echo "Copy libsane-""$module"".so.1.0.22 ... failed"
echo "Package installation FAILED. Please check README."
exit 0
fi

sudo cp "$src""$module""_ntdcmsdll.so" $dst
if [ -f "$src""$module""_ntdcmsdll.so" ]; then
#######For Redhat#######
# sys=$(lsb_release -i 2>> /dev/null)
if echo $sys | grep -i "redhat" >> /dev/null
then
version=$(lsb_release -r 2>> /dev/null)
if echo $version | grep -i '5.*' >> /dev/null
then
sudo chcon -t textrel_shlib_t "$dst""$module""_ntdcmsdll.so"
fi
fi
########################
echo "Copy ""$module""_ntdcmsdll.so"" ... OK"
else
echo "Copy ""$module""_ntdcmsdll.so"" ... failed"
echo "Package installation FAILED. Please check README."
exit 0
fi

sudo rm -f "$dst"libsane-"$module".so >> /dev/null
sudo rm -f "$dst"libsane-"$module".so.1 >> /dev/null

sudo ln -s "$dst"libsane-"$module".so.1.0.22 "$dst"libsane-"$module".so >> /dev/null
sudo ln -s "$dst"libsane-"$module".so.1.0.22 "$dst"libsane-"$module".so.1 >> /dev/null
}

delete_file()
{
dst=$1

if [ -f "$dst""libsane-""$module"".so.1.0.22" ]; then
sudo rm -f "$dst""libsane-""$module"".so.1.0.22"

if [ -f "$dst""libsane-""$module"".so.1.0.22" ]; then
echo "Remove libsane-""$module"".so.1.0.22 ... failed"
else
echo "Remove libsane-""$module"".so.1.0.22 ... OK"
fi
fi

if [ -f "$dst""$module""_ntdcmsdll.so" ]; then
sudo rm -f "$dst""$module""_ntdcmsdll.so"

if [ -f "$dst""$module""_ntdcmsdll.so" ]; then
echo "Remove ""$module""_ntdcmsdll.so"" ... failed"
else
echo "Remove ""$module""_ntdcmsdll.so"" ... OK"
fi
fi

if [ -h "$dst"libsane-"$module".so ]; then
sudo rm -f "$dst"libsane-"$module".so

if [ -f "$dst"libsane-"$module".so ]; then
echo "Remove libsane-""$module"".so ... failed"
else
echo "Remove libsane-""$module"".so ... OK"
fi
fi

if [ -h "$dst"libsane-"$module".so.1 ]; then
sudo rm -f "$dst"libsane-"$module".so.1

if [ -f "$dst"libsane-"$module".so.1 ]; then
echo "Remove libsane-""$module"".so.1 ... failed"
else
echo "Remove libsane-""$module"".so.1 ... OK"
fi
fi

sudo rm -f /tmp/*.cal >> /dev/null
sudo rm -f /tmp/.alto_lock >> /dev/null
sudo rm -f ~/.sane/*.cal >> /dev/null
sudo rm -f ~/.sane/xsane/xsane.rc >> /dev/null
sudo rm -f /root/.sane/xsane/xsane.rc >> /dev/null
}


update_dllconf()
{
dst=$1
if [ -f "$dst""dll.conf" ]
then
if grep -i "$module" "$dst"dll.conf >> /dev/null
then
echo "Update dll.conf ... OK"
else
echo "Update dll.conf in ""$dst"" ... "
echo "Backup it as dll.conf .bak in same directory."
sudo cp -p "$dst"dll.conf "$dst"dll.conf.bak

sudo sh -c "echo \"$module\" >> "$dst"dll.conf"
echo "Update dll.conf ... OK"
fi
else
if [ -f "$dst""dll.conf.bak" ]
then
sudo cp -p "$dst""dll.conf.bak" "$dst""dll.conf"
if grep -i "$module" "$dst"dll.conf >> /dev/null
then
echo "Update dll.conf ... OK"
else
sudo sh -c "echo \"$module\" >> "$dst"dll.conf"
echo "Update dll.conf ... OK"
fi
else
sudo cp -p dll.conf.in $dst
echo "Update dll.conf ... OK"
fi

fi
}

edit_rules()
{
#dst=
pid1=$pid_1
pid2=$pid_2
rulefile=$1
flag="true"
oldrulefile=""
temp="libsane.rules"
# sys=$(lsb_release -i 2>> /dev/null)

if grep -i "{idVendor}==\""$vid"\"" "$rulefile" | grep -i "{idProduct}==\""$pid1"\"" >> /dev/null \
&& grep -i "{idVendor}==\""$vid"\"" "$rulefile" | grep -i "{idProduct}==\""$pid2"\"" >> /dev/null
then
echo "Update ""$rulefile"" ... OK"
else
if grep -i "{idVendor}==\""$vid"\"" "$rulefile" | grep -i "{idProduct}==\""$pid1"\"" >> /dev/null \
&& grep -i "{idVendor}==\""$vid"\"" "$rulefile" | grep -i "{idProduct}==\""$pid2"\"" >> /dev/null
then
echo "Update ""$rulefile"" ... OK"
else
if grep -i "{idVendor}==\""$vid"\"" "$rulefile" | grep -i "{idProduct}==\""$pid1"\"" >> /dev/null
then
pid1=""
fi
if grep -i "{idVendor}==\""$vid"\"" "$rulefile" | grep -i "{idProduct}==\""$pid2"\"" >> /dev/null
then
pid2=""
fi

oldrulefile="$rulefile""_bak"
sudo mv "$rulefile" "$oldrulefile"
if [ -f "$rulefile"".bak" ]; then
#do nothing
echo ""$rulefile".bak is exist!" >> /dev/null
else
echo "Backup "$rulefile" as "$rulefile".bak"
sudo cp -p "$oldrulefile" "$rulefile"".bak"
fi

echo "Update ""$rulefile"", please waiting... "
exec 3< "$oldrulefile"
while read line1 0<&3
do
if [ "$flag" == "true" ] && echo $line1 | grep -i "4100C" >> /dev/null
then
flag="false"
read rule_line 0<&3
new_rule="$rule_line"
echo "" >> $temp
if [ "$pid1" != "" ]; then
echo "# RICOH SP 150SU Scanner" >> $temp #| sudo tee -a $rulefile >> /dev/null
new_rule=${new_rule/03f0/"$vid"}
new_rule=${new_rule/0101/"$pid1"}
if echo $sys | grep -i "suse" >> /dev/null
then
new_rule=${new_rule/0664/0666}
fi
echo "$new_rule" >> $temp
fi
if [ "$pid2" != "" ]; then
new_rule="$rule_line"
echo "# RICOH SP 150SUw Scanner" >> $temp #| sudo tee -a $rulefile >> /dev/null
new_rule=${new_rule/03f0/"$vid"}
new_rule=${new_rule/0101/"$pid2"}
if echo $sys | grep -i "suse" >> /dev/null
then
new_rule=${new_rule/0664/0666}
fi
echo "$new_rule" >> $temp
fi
echo "" >> $temp #| sudo tee -a $rulefile > /dev/null
echo "$line1" >> $temp #| sudo tee -a $rulefile >> /dev/null
echo "$rule_line" >> $temp #| sudo tee -a $rulefile >> /dev/null


else
echo "$line1" >> $temp #| sudo tee -a $rulefile >> /dev/null
fi
done
exec 3<&-

sudo rm "$oldrulefile"
sudo mv "$temp" "$rulefile"
sudo chmod 644 "$rulefile"
sudo chown root:root "$rulefile"

fi
fi

}

update_rules()
{
dst="/lib/udev/rules.d"
rulefile=""

if [ -d "$dst" ]; then
rulefile=$(ls "$dst"/*libsane.rules 2>> /dev/null | grep libsane 2>> /dev/null)
rulefile=${rulefile:0:34}
fi

if [ "$rulefile" != "" ]
then
edit_rules $rulefile
fi

dst="/etc/udev/rules.d"
rulefile2=""
if [ -d "$dst" ]; then
rulefile2=$(ls "$dst"/*libsane.rules 2>> /dev/null | grep libsane 2>> /dev/null)
rulefile2=${rulefile2:0:34}
fi

if [ "$rulefile2" != "" ]
then
edit_rules $rulefile2
fi

if [ "$rulefile" == "" ] && [ "$rulefile2" == "" ]
then
echo "Please read README for manual update."
fi

}



delete_rules()
{
dst=$1
rulefile=""
if [ -d "$dst" ]; then
rulefile=$(ls "$dst"/*libsane.rules 2>> /dev/null | grep libsane 2>> /dev/null)
rulefile=${rulefile:0:34}
fi

if [ "$rulefile" != "" ]
then
if [ -f "$rulefile"".bak" ]; then
sudo rm -f "$rulefile"
sudo cp -p "$rulefile"".bak" "$rulefile"
sudo rm -f "$rulefile"".bak"
fi
fi

}
usb_permission()
{
pid=$1
devlist=$(lsusb -d "$vid":"$pid" 2>> /dev/null)
condition=$(echo $devlist | grep -i bus 2>> /dev/null)
while [ "$condition" != "" ]
do
devlist=${devlist#*Bus }
busnum=${devlist:0:3}
devnum=${devlist:11:3}

devfile="/dev/bus/usb/"$busnum"/"$devnum""

permission=$(ls -l $devfile)
permission=${permission:7:3}

if [ "$permission" != "rw-" ]
then
sudo chmod 666 $devfile
fi
#sudo chmod 664 /dev/bus/usb/"$busnum"/"$devnum"
condition=$(echo $devlist | grep -i bus 2>> /dev/null)

done
}

################################################################################
# install
install()
{
src=""
dst=""

if [ $arch == "x86_64" ]; then
src="./64bit/"
else
src="./32bit/"
fi

if [ -d "/usr/lib/sane" ]; then
dst="/usr/lib/sane/"
copy_file $src $dst
fi

if [ -d "/usr/local/lib/sane" ]; then
dst="/usr/local/lib/sane/"
copy_file $src $dst
fi

if [ -d "/usr/lib64/sane/" ]; then
dst="/usr/lib64/sane/"
copy_file $src $dst
fi

if [ -z "$src" ] || [ -z "$dst" ]; then
echo "Can't install"
fi

if [ -d "/etc/sane.d" ] || [ -d "/usr/local/etc/sane.d" ]
then

if [ -d "/etc/sane.d" ]; then
dst="/etc/sane.d/"
update_dllconf $dst
fi

if [ -d "/usr/local/etc/sane.d" ]; then
dst="/usr/local/etc/sane.d/"
update_dllconf $dst
fi
else
echo "No sane.d directory in /etc and /usr/local/etc. Can't install"
echo "Please confirm whether have installed the SANE, and then install again."
read -p "Install fail, press any key to continue" choice
exit 0

fi

update_rules
usb_permission "$pid_1"
usb_permission "$pid_2"

read -p "Install complelte, press any key to continue" choice
}

################################################################################
# uninstall
uninstall()
{
dst=""

if [ -d "/usr/lib/sane" ]; then
dst="/usr/lib/sane/"
delete_file $dst

fi

if [ -d "/usr/local/lib/sane" ]; then
dst="/usr/local/lib/sane/"
delete_file $dst

fi

if [ -d "/usr/lib64/sane/" ]; then
dst="/usr/lib64/sane/"
delete_file $dst

fi

###Added for restore old dll.conf and 40-libsane.rules by Gavin 2014-11-12###
dst="/etc/sane.d/"
if [ -d "$dst" ]; then
if [ -f "$dst""dll.conf" ] && [ -f "$dst""dll.conf.bak" ]; then
sudo rm -f "$dst"dll.conf
sudo cp -p "$dst"dll.conf.bak "$dst"dll.conf
sudo rm -f "$dst"dll.conf.bak

fi
fi

dst="/usr/local/etc/sane.d/"
if [ -d "$dst" ]; then
if [ -f "$dst""dll.conf" ] && [ -f "$dst""dll.conf.bak" ]; then
sudo rm -f "$dst"dll.conf
sudo cp -p "$dst"dll.conf.bak "$dst"dll.conf
sudo rm -f "$dst"dll.conf.bak

fi
fi

dst="/lib/udev/rules.d"
if [ -d "$dst" ]; then
delete_rules $dst
fi

dst="/etc/udev/rules.d"
if [ -d "$dst" ]; then
delete_rules $dst
fi


###End###
read -p "Uninstall complelte, press any key to continue" choice
}

################################################################################
# Installer Main Body
################################################################################
main()
{
while :
do
echo
echo
# get input from the user
read -p "Press [1/2/x] key to continue... " choice
#make decision using case..in..esac
case $choice in
1)
install
exit 0
;;
2)
uninstall
exit 0
;;
x)
exit 0
;;
*)
echo "Error: invalid selection!"
;;
esac
done
}


################################################################################
# Introduction
################################################################################
echo
echo "RICOH ""$code"" Scanner Installation"
echo
echo " M A I N -M E N U"
echo "1. Install."
echo "2. Uninstall."
echo "x. Exit."

arch=$(uname -m 2>> /dev/null)
sys=$(lsb_release -i 2>> /dev/null)

main


Аватара пользователя

wanoska
Сообщения: 160
Зарегистрирован: 17 окт 2016, 12:36
Решено: 4
Откуда: Кинешма
Благодарил (а): 30 раз
Поблагодарили: 41 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение wanoska » 23 окт 2017, 18:42

если делать так то я пути поменял попробуй
Unborn писал(а):
23 окт 2017, 18:05
В Минт не как у людей - libsane лежат не в /usr/lib/sane или по в lib по разрядности, а в /usr/lib/x86_64-linux-gnu/sane
1.tar.gz
но я не уверен на 100% не забудь выставить права на исполнение chmod +x путь к файлу который в архиве
У вас нет необходимых прав для просмотра вложений в этом сообщении.
LM18.2 Cinnamon 3.2.7 Kernel: 4.12.0-041200-generic

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 18:44

wanoska писал(а):
23 окт 2017, 18:42
если делать так то я пути поменял попробуй
Спасибо большое! Сейчас попробую.

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 18:59

Запустил-установил. Кажется, результат замечательный!

Код: Выделить всё

victor@VictorComp ~ $ sudo 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.

found USB scanner (vendor=0x05ca [RICOH], product=0x0454 [SP 150SU]) at libusb:001:018
  # 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.
victor@VictorComp ~ $ sudo scanimage -L
device `alto:libusb:001:018' is a RICOH SP 150SU Scanner
Программы для сканирования видят устройство. При тестировании пока ошибки какие-то взникают, но уже что-то!
:redhat: :drink4: :rus2: :hi:

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 19:06

Программа Scanlite при попытке сканирования высвечивает ошибку:
"Ошибка в ходе операции ввода-вывода устройства".
Программа gscan2pdf тоже:
"Error during device I/O"
В чём может быть дело?

Аватара пользователя

wanoska
Сообщения: 160
Зарегистрирован: 17 окт 2016, 12:36
Решено: 4
Откуда: Кинешма
Благодарил (а): 30 раз
Поблагодарили: 41 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение wanoska » 23 окт 2017, 19:10

попробуй усб передерни, или ждем более опытных ребят
LM18.2 Cinnamon 3.2.7 Kernel: 4.12.0-041200-generic

Аватара пользователя

Автор темы
vencedor
Сообщения: 33
Зарегистрирован: 11 июл 2017, 15:52
Благодарил (а): 11 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение vencedor » 23 окт 2017, 19:36

wanoska писал(а):
23 окт 2017, 19:10
попробуй усб передерни
Поставил родной USB-провод (до этого использовал провод от прошлого принтера). Перезагрузил сканер и комп. Сделал тест.
Сначала та же ошибка вылезла, но потом они перестали повторяться. Так что в целом всё просто замечательно!
Спасибо большое ещё раз!
Но вообще да, было бы неплохо узнать от кого-то, что это за ошибки.

Аватара пользователя

wanoska
Сообщения: 160
Зарегистрирован: 17 окт 2016, 12:36
Решено: 4
Откуда: Кинешма
Благодарил (а): 30 раз
Поблагодарили: 41 раз

Помогите установить драйвер для Ricoh SP 150SU

Сообщение wanoska » 23 окт 2017, 19:42

vencedor, может дело с разъемом или провод что подглючивает. Про ввод вывод от сюда
Любая программа - это "автомат", предназначенный для обработки данных: получая на входе одну информацию, она в результате работы выдает другую. Хотя входящая и/или выходящая информация может быть и нулевой, т. е. попросту отсутствовать. Те данные, которые передаются программе для обработки - это ее ввод, то, что она выдает в результате работы - вывод. Организация ввода и вывода для каждой программы - это задача операционной системы.

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

Команды и сценарии могут получать входные данные двумя способами: из стандартного входного потока (связан с клавиатурой) или из файла. Аналогичное разделение существует и при выводе данных: результаты работы команды или сценария по умолчанию направляются на экран терминала, но можно перенаправить их в файл. Если в процессе работы возникают ошибки. сообщения о них гоже отображаются на экране, поток ошибок также можно перенаправить в файл.
LM18.2 Cinnamon 3.2.7 Kernel: 4.12.0-041200-generic

Вернуться в «Принтеры, Сканеры, МФУ»