Bug 29940

Summary: [BUG]:scan packages do not see the canon lide 110 scanner driver
Product: Mageia Reporter: Nikolay Sabelnikov <79625490833>
Component: RPM PackagesAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: 79625490833, alex_q_2000
Version: 8   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: sane-backends CVE:
Status comment:
Attachments: dmesg

Description Nikolay Sabelnikov 2022-01-24 18:03:45 CET
Description of problem:
The essence of the problem is that the driver is not visible for scanning programs. here is a message from the control center.

The following scanners

  -  Noname Microsoft LifeCam-VX700  v2.0:  virtual device
  -  Canon LiDE 110 flatbed scanner

available in your system.

Version-Release number of selected component (if applicable):
nikolanp@localhost ~> lsusb
Bus 004 Device 002: ID 058f:6364 Alcor Micro Corp. AU6477 Card Reader Controller
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 011 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 002: ID 275d:0ba6  USB OPTICAL MOUSE 
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 04a9:1909 Canon, Inc. CanoScan LiDE 110
Bus 001 Device 003: ID 045e:0770 Microsoft Corp. LifeCam VX-700
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 002: ID 2a7a:0c18  U
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nikolanp@localhost ~> scanimage -L
device `v4l:/dev/video0' is a Noname Microsoft LifeCam-VX700  v2.0:  virtual device
nikolanp@localhost ~> 


How reproducible:
You open any scanning program.
Comment 1 Nikolay Sabelnikov 2022-01-24 18:04:04 CET
Created attachment 13105 [details]
dmesg
Nikolay Sabelnikov 2022-01-24 18:04:14 CET

CC: (none) => 79625490833

Comment 2 Nikolay Sabelnikov 2022-01-24 19:02:02 CET
I have hplip installed and when I open the scanning program, it intercepts as a driver for the scanner.
Comment 3 Nikolay Sabelnikov 2022-01-24 19:39:58 CET
Decision:
you need to write a rule in rules.d, with the name 60-canon.rules and write the line ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="1909", ENV{libsane_matched}=="yes"
The data is taken from lsusb.
next, restart the PC and run the chown nikolanp /dev/bus/usb/002/004 command from root
The information should be taken from the scanimage -L command
root@localhost ~# scanimage -L
device `v4l:/dev/video0' is a Noname Microsoft LifeCam-VX700  v2.0:  virtual device
device `genesys:libusb:002:004' is a Canon LiDE 110 flatbed scanner
root@localhost ~# chown nikolanp /dev/bus/usb/002/004

Source RPM: (none) => sane-backends

Comment 4 Nikolay Sabelnikov 2022-01-24 20:48:07 CET
But it only works until the reboot.
Comment 5 Alex Kotov 2022-01-25 14:43:40 CET
Привет, Николай. Maybe it will come in handy? :)

In the terminal, log in under (su): su/password

Add user to groups usb,scanner,lp and reboot
---
usermod -aG usb,scanner,lp $LOGNAME
reboot

If it still doesn't work, then...

Install this package and add your scanner:
---
SrEditor (see Releases): https://github.com/AKotov-dev/sreditor

It can also be useful: rm -rf ~/.sane

С уважением,
Алексей Котов

CC: (none) => alex_q_2000

Comment 6 Nikolay Sabelnikov 2022-01-25 14:55:44 CET
(In reply to Alex Kotov from comment #5)
> Привет, Николай. Maybe it will come in handy? :)
> 
> In the terminal, log in under (su): su/password
> 
> Add user to groups usb,scanner,lp and reboot
> ---
> usermod -aG usb,scanner,lp $LOGNAME
> reboot
> 
> If it still doesn't work, then...
> 
> Install this package and add your scanner:
> ---
> SrEditor (see Releases): https://github.com/AKotov-dev/sreditor
> 
> It can also be useful: rm -rf ~/.sane
> 
> С уважением,
> Алексей Котов

Здравствуйте. Про добавление пользователя в группу я что-то не подумал, но это сработало. Правило я ранее прописал. Спасибо.

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Comment 7 Lewis Smith 2022-01-25 21:45:33 CET
How nice to have a Russian reply to a Russian bug! And thank you Alex for that.
Comment 8 Nikolay Sabelnikov 2022-01-26 10:35:01 CET
The most interesting thing is that printing worked without these groups.  Create or redirect a topic to add these groups by default on installation, or at least add info to the wiki so others know.
Comment 9 Alex Kotov 2022-01-26 17:01:18 CET
Привет, Николай.

Насчёт добавления юзера в группу я тоже интересовался, правда по-другому поводу... Ответ здесь (Aurelien Oudelet):
https://bugs.mageia.org/show_bug.cgi?id=28860#c1

Ну а про Вики - не знаю. Если они надумают описывать процесс подключения сканера, тогда по логике им придётся описывать и всё остальное, например работу с "adb". Для сканера - это группы "usb, scanner", а для "adb" - дело мутное. Сначала это была группа usb, затем пытались определиться и смотрели, как в Ubuntu (там вообще plugdev), но в конце-концов дело с 51-android.rules устаканилось и сошлись на группе adbusers. Я к тому, что постоянного нет ничего; появится ещё одно устройство вне класса (не принтер, не сканер, не смартфон, а какой нибудь сферический конь в вакууме) - это значит появится ещё одна группа и т.д. Думаю, что этот процесс бесконечный... :) Новый "пылесос" - новая группа и т.д. Причем во всех дистрибутивах разная.

Кроме этого заводские драйверы, включающие специальные правила для своих устройств тоже ориентированы на определенную группу. Например китайский МФУ M6600W. Вот кусок его правил /etc/udev/rules.d/60-pantum_mfp.rules для сканера:

# M6600W
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="232b", ATTR{idProduct}=="5f22", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"

Здесь: GROUP="lp", OWNER="root"...

В то время, как в общих правилах /usr/lib/udev/rules.d/60-libsane.rules в Mageia написано вот это:
# Hewlett-Packard ScanJet 4070 Photosmart
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2405", MODE="0644", GROUP="usb", ENV{libsane_matched}="yes"

Производитель заранее не знает, к какому Linux-у народ будет прикручивать его устройство, поэтому лепит то, что придёт в голову, другого объяснения не вижу. Отсюда всеобщий разброд и шатание. :)

з.ы. мнение субъективное, конечно же...
Comment 10 Nikolay Sabelnikov 2022-01-26 17:19:42 CET
(In reply to Alex Kotov from comment #9)
> Привет, Николай.
> 
> Насчёт добавления юзера в группу я тоже интересовался, правда по-другому
> поводу... Ответ здесь (Aurelien Oudelet):
> https://bugs.mageia.org/show_bug.cgi?id=28860#c1
> 
> Ну а про Вики - не знаю. Если они надумают описывать процесс подключения
> сканера, тогда по логике им придётся описывать и всё остальное, например
> работу с "adb". Для сканера - это группы "usb, scanner", а для "adb" - дело
> мутное. Сначала это была группа usb, затем пытались определиться и смотрели,
> как в Ubuntu (там вообще plugdev), но в конце-концов дело с 51-android.rules
> устаканилось и сошлись на группе adbusers. Я к тому, что постоянного нет
> ничего; появится ещё одно устройство вне класса (не принтер, не сканер, не
> смартфон, а какой нибудь сферический конь в вакууме) - это значит появится
> ещё одна группа и т.д. Думаю, что этот процесс бесконечный... :) Новый
> "пылесос" - новая группа и т.д. Причем во всех дистрибутивах разная.
> 
> Кроме этого заводские драйверы, включающие специальные правила для своих
> устройств тоже ориентированы на определенную группу. Например китайский МФУ
> M6600W. Вот кусок его правил /etc/udev/rules.d/60-pantum_mfp.rules для
> сканера:
> 
> # M6600W
> SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="232b",
> ATTR{idProduct}=="5f22", MODE="0666", OWNER="root", GROUP="lp",
> ENV{libsane_matched}="yes"
> 
> Здесь: GROUP="lp", OWNER="root"...
> 
> В то время, как в общих правилах /usr/lib/udev/rules.d/60-libsane.rules в
> Mageia написано вот это:
> # Hewlett-Packard ScanJet 4070 Photosmart
> ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2405", MODE="0644", GROUP="usb",
> ENV{libsane_matched}="yes"
> 
> Производитель заранее не знает, к какому Linux-у народ будет прикручивать
> его устройство, поэтому лепит то, что придёт в голову, другого объяснения не
> вижу. Отсюда всеобщий разброд и шатание. :)
> 
> з.ы. мнение субъективное, конечно же...

Привет. Да в этом ты прав, сами производители не унифицируют конфиги для своих устройств. С правилами я разобрался.
Comment 11 sturmvogel 2022-01-26 18:56:50 CET
https://wiki.mageia.org/en/How_to_report_a_bug_properly

Warning!
The common language used is English, so please refrain from reporting bugs in other languages. Feel free to ask in the IRC channels or forums if you need someone to help you with this.
Comment 12 Nikolay Sabelnikov 2022-01-26 21:03:45 CET
(In reply to sturmvogel from comment #11)
> https://wiki.mageia.org/en/How_to_report_a_bug_properly
> 
> Warning!
> The common language used is English, so please refrain from reporting bugs
> in other languages. Feel free to ask in the IRC channels or forums if you
> need someone to help you with this.

Hello.  We talked with my Russian-speaking colleague in the case and I heard you.  And I will mean harm.