Вопрос или проблема
несколько дней я борюсь с доступом к Brother DCP-J315W через SANE, который хорошо работает с Win10, но я не могу заставить его работать под Ubuntu 24.04.
После прочтения множества статей на форумах и проверки команд, таких как
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ brsaneconfig3 -q
0 "DCP-195C"
...
26 "DCP-J315W"
...
97 "MFC-8890DW"
Устройства в сети
0 DCPJ315W "DCP-J315W" I:192.168.178.23
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ ping 192.168.178.23
PING 192.168.178.23 (192.168.178.23) 56(84) байт данных.
64 байта от 192.168.178.23: icmp_seq=1 ttl=255 время=4.07 ms
64 байта от 192.168.178.23: icmp_seq=2 ttl=255 время=2.56 ms
64 байта от 192.168.178.23: icmp_seq=3 ttl=255 время=2.72 ms
64 байта от 192.168.178.23: icmp_seq=4 ttl=255 время=3.00 ms
64 байта от 192.168.178.23: icmp_seq=5 ttl=255 время=2.80 ms
64 байта от 192.168.178.23: icmp_seq=6 ttl=255 время=3.27 ms
^C
--- статистика ping 192.168.178.23 ---
6 пакетов отправлено, 6 получено, потеря пакетов 0%, время 5008 ms
rtt min/avg/max/mdev = 2.557/3.069/4.065/0.498 ms
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ scanimage -L
Сканеры не обнаружены. Если вы ожидали чего-то другого,
убедитесь, что сканер подключен, включен и обнаружен
инструментом sane-find-scanner (если это уместно). Пожалуйста, прочтите документацию
которая поставляется с этим программным обеспечением (README, FAQ, manpages).
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$
и файлов конфигурации, я обнаружил, что служба saned.service не запускается. Никакие дальнейшие действия (перезапуск, остановка) не оказывают на это влияние.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl status saned.service
× saned.service - LSB: Сетевой сканер SANE
Загружено: загружено (/etc/init.d/saned; создано)
Активно: ошибка (Результат: код выхода) с Пт 2025-01-31 06:05:51 CET; 44мин назад
Документы: man:systemd-sysv-generator(8)
Процесс: 19072 ExecStart=/etc/init.d/saned start (код=вышел, статус=1/ОШИБКА)
ЦП: 26ms
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx saned[19072]: * Запуск сетевого сканера SANE saned
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx saned[19079]: saned (AF-indep+IPv6) из sane-backends 1.2.1-debian запускается
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx saned[19079]: do_bindings: [1] bind не удался: адрес уже используется
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx saned[19079]: do_bindings: [0] bind не удался: адрес уже используется
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx saned[19079]: do_bindings: не удалось связать адрес. Выход.
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx saned[19079]: ФАТАЛЬНАЯ ОШИБКА; ожидание завершения дочерних процессов...
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx saned[19079]: bail_out: все дочерние процессы завершены
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: saned.service: Процесс управления завершился с кодом выхода, статус=1/ОШИБКА
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: saned.service: Не удалось с результатом 'exit-code'.
31 янв 06:05:51 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: Не удалось запустить saned.service - LSB: Сетевой сканер SANE.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl status saned.socket
● saned.socket - входящий сокет saned
Загружено: загружено (/etc/systemd/system/saned.socket; включено; пресет: включено)
Активно: активно (слушает) с Пт 2025-01-31 04:38:59 CET; 2ч 11мин назад
Слушаем: [::]:6566 (Поток)
Принято: 6; Подключено: 0;
Задачи: 0 (лимит: 18842)
Память: 8.0К (пик: 268.0К)
ЦП: 3ms
CGroup: /system.slice/saned.socket
31 янв 04:38:59 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: Прослушивание saned.socket - входящий сокет saned.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl restart saned.service
Задача для saned.service не удалась, так как процесс управления завершился с кодом ошибки.
См. "systemctl status saned.service" и "journalctl -xeu saned.service" для деталей.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl stop saned.service
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl restart saned.service
Задача для saned.service не удалась, так как процесс управления завершился с кодом ошибки.
См. "systemctl status saned.service" и "journalctl -xeu saned.service" для деталей.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl stop saned.service
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl status saned.service
× saned.service - LSB: Сетевой сканер SANE
Загружено: загружено (/etc/init.d/saned; создано)
Активно: ошибка (Результат: код выхода) с Пт 2025-01-31 06:54:07 CET; 15с назад
Документы: man:systemd-sysv-generator(8)
Процесс: 27668 ExecStart=/etc/init.d/saned start (код=вышел, статус=1/ОШИБКА)
ЦП: 29ms
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx saned[27668]: * Запуск сетевого сканера SANE saned
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx saned[27675]: saned (AF-indep+IPv6) из sane-backends 1.2.1-debian запускается
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx saned[27675]: do_bindings: [1] bind не удался: адрес уже используется
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx saned[27675]: do_bindings: [0] bind не удался: адрес уже используется
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx saned[27675]: do_bindings: не удалось связать адрес. Выход.
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx saned[27675]: ФАТАЛЬНАЯ ОШИБКА; ожидание завершения дочерних процессов...
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx saned[27675]: bail_out: все дочерние процессы завершены
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: saned.service: Процесс управления завершился с кодом выхода, статус=1/ОШИБКА
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: saned.service: Не удалось с результатом 'exit-code'.
31 янв 06:54:07 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: Не удалось запустить saned.service - LSB: Сетевой сканер SANE.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$
Во время этого периода обучения я понял, что порт 6566 удерживается init-процессом до тех пор, пока нет “работы” для saned.service.
Хотя зная, что служба просто ожидает, чтобы быть вызванной входящим пакетом через saned.socket, она не должна “зависать” в этом состоянии. Возможно, я ошибаюсь и не понимаю, как приложение, systemd и saned.service взаимодействуют между собой.
Обновление #1, относящееся к вопросу @graham:
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo sane-find-scanner
[sudo] Пароль для friedrich:
# sane-find-scanner теперь попытается обнаружить ваш сканер. Если результат
# отличается от ожидаемого, сначала убедитесь, что ваш сканер включен и правильно подключен к вашему компьютеру.
# SCSI-сканеры не найдены. Если вы ожидали что-то другое, убедитесь, что
# вы загрузили драйвер ядра SCSI для вашего адаптера SCSI.
# USB-сканеры не найдены. Если вы ожидали что-то другое, убедитесь, что
# вы загрузили драйвер ядра для вашего хост-контроллера USB и настроили
# систему USB правильно. См. man sane-usb для деталей.
# Проверка сканеров параллельного порта не выполняется.
# Большинство сканеров, подключенных к параллельному порту или другим собственным портам
# не могут быть обнаружены этой программой.
friedrich@friedrich-HP-Pavilion-Laptop-15-cs3xxx:~$
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ scanimage -L
Сканеры не обнаружены. Если вы ожидали чего-то другого,
убедитесь, что сканер подключен, включен и обнаружен
инструментом sane-find-scanner (если это уместно). Пожалуйста, прочтите документацию
которая поставляется с этим программным обеспечением (README, FAQ, manpages).
friedrich@friedrich-HP-Pavilion-Laptop-15-cs3xxx:~$
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo simple-scan
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$
Вывод Simple-Scan для единственного сканера Brother DCP-J315W в системе
Обновление #2, относящееся к спискам пакет apt в других вопросах – см. ниже:
Вопрос, на который указал @WinEunuuchs2Unix
Возможны ли конфликты в установленных пакетах?
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ apt list *sane*
Auflistung… Fertig
gir1.2-libinsane-1.0/noble 1.0.10-1build3 amd64
iamerican-insane/noble,noble 3.4.06-1 все
ibritish-insane/noble,noble 3.4.06-1 все
libimage-sane-perl/noble,now 5-2build3 amd64 [Установлено, автоматически]
libinsane-dev/noble 1.0.10-1build3 amd64
libinsane-doc/noble,noble 1.0.10-1build3 все
libinsane1/noble 1.0.10-1build3 amd64
libkf5sane-data/noble,noble 23.08.5-0ubuntu3 все
libkf5sane-dev/noble 23.08.5-0ubuntu3 amd64
libkf5sane5/noble 23.08.5-0ubuntu3 amd64
libksanecore-dev/noble 23.08.5-0ubuntu3 amd64
libksanecore1/noble 23.08.5-0ubuntu3 amd64
libsane-common/noble,noble,now 1.2.1-7build4 все [Установлено, автоматически]
libsane-dev/noble,now 1.2.1-7build4 amd64 [установлено] # СМОТРИ СЮДА!
libsane-dev/noble 1.2.1-7build4 i386 # СМОТРИ СЮДА!
libsane-hpaio/noble,now 3.23.12+dfsg0-0ubuntu5 amd64 [Установлено, автоматически]
libsane1/noble,now 1.2.1-7build4 amd64 [Установлено, автоматически]
libsane1/noble 1.2.1-7build4 i386
libsane/now 1.0.28 все [Установлено, локально]
node-sane/noble,noble 4.1.0+~cs18.17.38-2 все
pike8.0-sane/noble 8.0.1738-1.3ubuntu1 amd64
python3-numpysane/noble,noble 0.40-3 все
python3-sane/noble 2.9.1-3build1 amd64
python3-saneyaml/noble,noble 0.3-2 все
sane-airscan/noble,now 0.99.29-0ubuntu4 amd64 [Установлено, автоматически]
sane-utils/noble,now 1.2.1-7build4 amd64 [установлено] # СМОТРИ СЮДА!
sane-utils/noble 1.2.1-7build4 i386 # СМОТРИ СЮДА!
sane/noble,now 1.0.14-18 amd64 [установлено]
wamerican-insane/noble,noble 2020.12.07-2 все
wbritish-insane/noble,noble 2020.12.07-2 все
wcanadian-insane/noble,noble 2020.12.07-2 все
xsane-common/noble,noble,now 0.999-12ubuntu4 все [Установлено, автоматически]
xsane/noble,now 0.999-12ubuntu4 amd64 [установлено]
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$
Обновление #3 акцент на основной проблемы:
Чтобы облегчить понимание проблемы, я здесь собираю основные действия journalctl начала службы, перезапуска, остановки и запуска действия.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ journalctl -u saned.service
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: Начало saned.service - LSB: Сетевой сканер SANE...
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx saned[33355]: * Запуск сетевого сканера SANE saned
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx saned[33362]: saned (AF-indep+IPv6) из sane-backends 1.2.1-debian запускается
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx saned[33362]: do_bindings: [1] bind не удался: адрес уже используется
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx saned[33362]: do_bindings: [0] bind не удался: адрес уже используется
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx saned[33362]: do_bindings: не удалось связать адрес. Выход.
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx saned[33362]: ФАТАЛЬНАЯ ОШИБКА; ожидание завершения дочерних процессов...
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx saned[33362]: bail_out: все дочерние процессы завершены
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: saned.service: Процесс управления завершился с кодом выхода, статус=1/ОШИБКА
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: saned.service: Не удалось с результатом 'exit-code'.
29 янв 01:46:06 friedrich-xyz-Laptop-15-cs3xxx systemd[1]: Не удалось запустить saned.service - LSB: Сетевой сканер SANE.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl restart saned.service
Задача для saned.service не удалась, так как процесс управления завершился с кодом ошибки.
См. "systemctl status saned.service" и "journalctl -xeu saned.service" для деталей.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl stop saned.service
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo systemctl start saned.service
Задача для saned.service не удалась, так как процесс управления завершился с кодом ошибки.
См. "systemctl status saned.service" и "journalctl -xeu saned.service" для деталей.
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$
Благодаря ошибкам связывания, я направляюсь к TCP 6566 порту, который используется …
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo netstat -tulpn
Активные интернет-соединения (только серверы)
Proto Recv-Q Send-Q Локальный адрес Внешний адрес Состояние PID/Имя программы
tcp 0 0 127.0.0.54:53 0.0.0.0:* СЛУШАЕМ 1437/systemd-resolv
tcp 0 0 10.253.61.1:53 0.0.0.0:* СЛУШАЕМ 6498/dnsmasq
tcp 0 0 10.46.38.1:53 0.0.0.0:* СЛУШАЕМ 4670/dnsmasq
tcp 0 0 127.0.0.1:8461 0.0.0.0:* СЛУШАЕМ 2677/python3
tcp 0 0 127.0.0.53:53 0.0.0.0:* СЛУШАЕМ 1437/systemd-resolv
tcp 0 0 127.0.0.1:631 0.0.0.0:* СЛУШАЕМ 690821/cupsd
tcp6 0 0 :::8080 :::* СЛУШАЕМ 6260/java
tcp6 0 0 :::6566 :::* СЛУШАЕМ 1/init
tcp6 0 0 127.0.0.1:8101 :::* СЛУШАЕМ 6260/java
tcp6 0 0 127.0.0.1:37353 :::* СЛУШАЕМ 6260/java
tcp6 0 0 ::1:631 :::* СЛУШАЕМ 690821/cupsd
tcp6 0 0 :::5007 :::* СЛУШАЕМ 6260/java
tcp6 0 0 fd42:47ab:11bd:385d::53 :::* СЛУШАЕМ 6498/dnsmasq
tcp6 0 0 :::8443 :::* СЛУШАЕМ 6260/java
tcp6 0 0 :::8444 :::* СЛУШАЕМ 5245/lxd
udp 0 0 0.0.0.0:45527 0.0.0.0:* 2658/avahi-daemon:
udp 0 0 0.0.0.0:5353 0.0.0.0:* 2658/avahi-daemon:
udp 0 0 0.0.0.0:54925 0.0.0.0:* 8430/brscan-skey-ex
udp 0 0 10.253.61.1:53 0.0.0.0:* 6498/dnsmasq
udp 0 0 10.46.38.1:53 0.0.0.0:* 4670/dnsmasq
udp 0 0 127.0.0.54:53 0.0.0.0:* 1437/systemd-resolv
udp 0 0 127.0.0.53:53 0.0.0.0:* 1437/systemd-resolv
udp 0 0 0.0.0.0:67 0.0.0.0:* 6498/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 4670/dnsmasq
udp6 0 0 192.168.178.91:60898 :::* 6260/java
udp6 0 0 :::5353 :::* 6260/java
udp6 0 0 :::5353 :::* 6260/java
udp6 0 0 :::5353 :::* 6260/java
udp6 0 0 :::5353 :::* 2658/avahi-daemon:
udp6 0 0 :::56035 :::* 2658/avahi-daemon:
udp6 0 0 fd42:47ab:11bd:385d::53 :::* 6498/dnsmasq
udp6 0 0 :::547 :::* 6498/dnsmasq
udp6 0 0 :::1900 :::* 6260/java
udp6 0 0 :::1902 :::* 6260/java
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo lsof -i :6566
КОМАНДА PID ПОЛЬЗОВАТЕЛЬ FD ТИП УСТРОЙСТВО РАЗМЕР/ОФФСЕТ УЗЕЛ ИМЯ
systemd 1 root 172u IPv6 23330 0t0 TCP *:sane-port (СЛУШАЕМ)
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$
Это выглядит вполне нормально, верно?
Обновление #4, отладка SANE:
запуск и стимуляция с отладкой scanimage
:
SANE_DEBUG_DLL=255 SANE_DEBUG_BROTHER3=255 SANE_DEBUG_SANEI_TCP=255 scanimage -L &> discovery_output
отрывок из вывода discovery_output …
бэкенд brother3 добавлен в dll.conf:
[22:52:00.597862] [dll] add_backend: добавление бэкенда `avision'
[22:52:00.597872] [dll] add_backend: добавление бэкенда `bh'
[22:52:00.597883] [dll] add_backend: добавление бэкенда `brother3'
[22:52:00.597892] [dll] add_backend: добавление бэкенда `canon'
[22:52:00.597901] [dll] add_backend: добавление бэкенда `canon630u'
Неудача в попытке загрузить бэкенд brother3:
[22:52:06.474474] [dll] load: поиск бэкенда `brother3' в `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane:/usr/lib64/sane'
[22:52:06.474483] [dll] load: попытка загрузки `/usr/lib/x86_64-linux-gnu/sane/libsane-brother3.so.1'
[22:52:06.474496] [dll] load: dlopen()инг `/usr/lib/x86_64-linux-gnu/sane/libsane-brother3.so.1'
[22:52:06.474703] [dll] load: dlopen() не удался (libusb-0.1.so.4: не удается открыть файл общего объекта: Нет такого файла или директории)
Хотя сканер подключен через беспроводную сеть/TCP-IP, проверка проводится для USB-устройства – и, конечно, она не удалась.
На этапе sane_exit бэкенд brother3 опускается:
[22:52:11.649758] [dll] sane_exit: вызов функции выхода бэкенда `canon630u'
[22:52:11.649853] [dll] sane_exit: вызов функции выхода бэкенда `canon'
[22:52:11.649902] [dll] sane_exit: вызов функции выхода бэкенда `bh'
[22:52:11.649956] [dll] sane_exit: вызов функции выхода бэкенда `avision'
[22:52:11.650041] [dll] sane_exit: вызов функции выхода бэкенда `artec_eplus48u'
В чем может быть основная причина или даже решение?
С наилучшими пожеланиями
FrSch
Обновление #4 – это способ решения проблемы.
[22:52:06.474703] [dll] load: dlopen() не удался (libusb-0.1.so.4: не удается открыть файл общего объекта: Нет такого файла или директории)
Решение было предоставлено в libusb-0.1.so.4 ошибка общей библиотеки в системе ubuntu 64 бит и исправление можно установить …
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ sudo apt-get install libusb-0.1-4
[sudo] Пароль для friedrich:
Чтение списка пакетов... Готово
Построение дерева зависимости... Готово
Чтение информации о состоянии... Готово
Следующие пакеты были автоматически установлены и больше не нужны:
callaudiod feedbackd feedbackd-common folks-common gnome-calls gnome-contacts libcallaudio-0-1 libfeedback-0.0-0
libfolks-eds26 libfolks26 libostree-1-1 libsofia-sip-ua-glib3t64 libsofia-sip-ua0t64
Используйте sudo apt autoremove для их удаления.
Следующие НОВЫЕ пакеты будут установлены:
libusb-0.1-4
0 обновлено, 1 установлено заново, 0 для удаления и 67 не обновлено.
17.2 kB архивов требуется для загрузки.
59.4 kB дополнительного дискового пространства будет использовано после этой операции.
Получение:1 http://de.archive.ubuntu.com/ubuntu noble/main amd64 libusb-0.1-4 amd64 2:0.1.12-35build1 [17.2 kB]
Загружено 17.2 kB за 1 с (31.3 kB/s).
Выбор ранее не выбранного пакета libusb-0.1-4:amd64.
(Чтение базы данных... в настоящее время установлено 226668 файлов и каталогов.)
Подготовка к распаковке.../libusb-0.1-4_2%3a0.1.12-35build1_amd64.deb...
Распаковываем libusb-0.1-4:amd64 (2:0.1.12-35build1)...
Настройка libusb-0.1-4:amd64 (2:0.1.12-35build1)...
Обработка триггеров для libc-bin (2.39-0ubuntu8.3)...
Финальная отладка:
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$ SANE_DEBUG_DLL=255 SANE_DEBUG_BROTHER3=255 SANE_DEBUG_SANEI_TCP=255 scanimage -L &> discovery_output
friedrich@friedrich-xyz-Laptop-15-cs3xxx:~$
Отрывок изdiscovery_output:
...
[23:39:09.621736] [dll] add_backend: добавление бэкенда `bh'
[23:39:09.621745] [dll] add_backend: добавление бэкенда `brother3'
[23:39:09.621754] [dll] add_backend: добавление бэкенда `canon'
...
[23:39:15.486087] [dll] load: поиск бэкенда `brother3' в `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane:/usr/lib64/sane'
[23:39:15.486099] [dll] load: попытка загрузки `/usr/lib/x86_64-linux-gnu/sane/libsane-brother3.so.1'
[23:39:15.486116] [dll] load: dlopen()инг `/usr/lib/x86_64-linux-gnu/sane/libsane-brother3.so.1'
[23:39:15.491589] [dll] init: инициализация бэкенда `brother3'
[23:39:15.491621] [sanei_debug] Установка уровня отладки brother3 на 255.
[23:39:15.491635] [brother3] инициализация братского
[23:39:15.491647] [brother3] версия братского: 1000001
[23:39:15.724862] [brother3] начало сканирования шины
[23:39:15.724952] [brother3] сканирование шины 001
[23:39:15.724993] [brother3] найдено dev 1D6B/0002
[23:39:15.725058] [brother3] найдено dev 045E/07FD
[23:39:15.725092] [brother3] найдено dev 0408/5300
[23:39:15.725135] [brother3] найдено dev 0BDA/B00A
[23:39:15.725163] [brother3] сканирование шины 002
[23:39:15.725187] [brother3] найдено dev 1D6B/0003
[23:39:15.725240] [dll] init: бэкенд `brother3' является версией 1.0.1
...
[23:39:18.526874] [dll] sane_exit: вызов функции выхода бэкенда `canon'
[23:39:18.526936] [dll] sane_exit: вызов функции выхода бэкенда `brother3'
[23:39:18.527086] [dll] sane_exit: вызов функции выхода бэкенда `bh'
...
[23:39:18.531620] [dll] sane_exit: завершено
устройство `brother3:net1;dev0' является Brother DCP-J315W DCPJ315W
устройство `net:localhost:brother3:net1;dev0' является Brother DCP-J315W DCPJ315W
Результат:
sane-find-scanner остается без ответа.
-
Инструмент simple-scan (Сканер документов) работает.
-
Я смог протестировать gscan2pdf положительно.
-
Сканирование через xsane также работает.
-
В GNU Image Manipulation program (GIMP) нет пункта меню ‘создать==>сканирование’, чтобы начать сканирование.
Но я счастлив, что теперь имею возможность сканировать по-разному.
Ответ или решение
Для решения проблемы с доступом к сетевому сканеру Brother DCP-J315W через SANE на Ubuntu 24.04 необходимо погрузиться в контекст возможных источников ошибки. Проблемы с доступом могут возникнуть по разным причинам, включая конфликты настроек, нехватку необходимых библиотек или неправильную конфигурацию службы saned. Рассмотрим теоретическую основу решения этой проблемы, применительно к конкретной ситуации пользователя.
Теоретическая часть
SANE (Scanner Access Now Easy) предоставляет унифицированный интерфейс для работы с устройствами сканирования. Он состоит из набора драйверов (бэкендов) для различных моделей сканеров и службы saned, работающей в режиме демона для подключения сетевых сканеров. Данная служба часто полагается на метод запуска через сокет systemd, при этом используя порт 6566. Возможные проблемы возникают, когда этот порт занят другой службой или процессом.
Для взаимодействия с сканерами Brother часто требуется установка специфичных для производителя драйверов, таких как brsaneconfig3
. Эти драйвера управляют сетевыми настройками сканера и позволяют программам, таким как Simple Scan, взаимодействовать с устройством.
Пример решения
Исходя из описанных вами ситуаций ошибок, основная проблема связана с библиотекой libusb-0.1.so.4
, которая обязательна для загрузки и инициализации бэкенда brother3
. В случае ошибки dlopen() failed (libusb-0.1.so.4: cannot open shared object file: No such file or directory)
, необходима установка соответствующей библиотеки.
Библиотека libusb позволяет приложениям взаимодействовать с USB-устройствами, что может потребоваться даже для беспроводных сканеров, если их драйвера зависят от этой библиотеки. Установка необходимой библиотеки решает проблему с динамической загрузкой драйвера:
sudo apt-get install libusb-0.1-4
Применение
После установки отсутствующей библиотеки и повторного тестирования сканирования, проблема оказалась решена. Однако стоит учитывать, что иногда простая установка библиотеки не решает всех проблем, связанных с управлением процессами и службами systemd.
-
Проверка сокета и службы saned:
Убедитесь в отсутствии конфликтов с портом 6566 — используйтеnetstat
илиlsof
, чтобы проверить, какая служба использует этот порт.Пример команды:
sudo lsof -i :6566
-
Конфигурация системы и бэкендов:
Проверьте наличие всех необходимых конфигурационных файлов, таких как/etc/sane.d/dll.conf
, чтобы убедиться в подключении всех необходимых бэкендов. -
Диагностика и отладка:
Воспользуйтесь режимами отладки для повышения видимости процессов и выявления текущих проблем. Например,SANE_DEBUG_DLL=255 SANE_DEBUG_BROTHER3=255 SANE_DEBUG_SANEI_TCP=255 scanimage -L
-
Альтернативные приложения:
Протестируйте сканирование через другие программы, такие как XSANE, Simple Scan или Gscan2pdf, для изоляции проблемы. Это может указать на специфичные ошибки конкретных приложений.
Подводя итог, успешное решение проблемы с доступом к сетевому сканеру требует комплексного подхода: корректной установки драйверов, проверки конфигураций, устранения конфликтов портов и обязательной установки всех необходимых зависимостей. Эффективная диагностика может выявить недостающие элементы, а их правильная настройка обеспечит безупречное взаимодействие с устройством.