You are not logged in.
Pages: 1
Hi,
first of all i love my archlinux, but now my Scanner Canon Canoscan Lide50, which used to work on Kubuntu, refuses to work on Archlinux.
I added my user to the group scanner.
$ sane-find-scanner
found USB scanner (vendor=0x04a9 [Canon], product=0x2213 [CanoScan], chip=GL841) at libusb:001:006
$ scanimage -L
device `genesys:libusb:001:006' is a Canon LiDE 35/40/50 flatbed scanner
$ scanimage -v
scanimage: sane_start: Error during device I/O
Any scanning, also with Xsane, is aborted in that way. Has anyone a Canon Lide (<=50) running and can give me a hint?
Thanks
redada
Offline
Hello redada!
Is there more information in the syslog ?
Offline
Hi,
still the same problem.
This is the output of my messages.log if i plug the scanner in:
Sep 8 12:34:28 redada kernel: usb 1-3.2: new high speed USB device using ehci_hcd and address 69
Sep 8 12:34:28 redada kernel: usb 1-3.2: configuration #1 chosen from 1 choice
Sep 8 12:34:28 redada load-modules.sh: 'usb:v04A9p2213d0302dcFFdscFFdpFFicFFiscFFipFF' is not a valid module or alias name
The last line seems to be suspicious, but what to do?
redada
edit:
If i run xsane or scanimage the following appears in the log and the last block is repeating with increasing usb addresss (45 , 46, ...)
Sep 9 12:43:09 redada kernel: usb 1-3.1.2: usbfs: USBDEVFS_CONTROL failed cmd scanimage rqt 64 rq 12 len 1 ret -71
Sep 9 12:43:09 redada kernel: usb 1-3.1.2: usbfs: USBDEVFS_CONTROL failed cmd scanimage rqt 64 rq 12 len 1 ret -71
Sep 9 12:43:09 redada kernel: usb 1-3.1: USB disconnect, address 105
Sep 9 12:43:09 redada kernel: usb 1-3.1.2: USB disconnect, address 43
Sep 9 12:43:10 redada kernel: usb 1-3.1: new high speed USB device using ehci_hcd and address 44
Sep 9 12:43:10 redada kernel: usb 1-3.1: configuration #1 chosen from 1 choice
Sep 9 12:43:10 redada kernel: hub 1-3.1:1.0: USB hub found
Sep 9 12:43:10 redada kernel: hub 1-3.1:1.0: 4 ports detected
Sep 9 12:43:10 redada kernel: usb 1-3.1.2: new high speed USB device using ehci_hcd and address 45
Sep 9 12:43:10 redada kernel: usb 1-3.1.2: configuration #1 chosen from 1 choice
Sep 9 12:43:10 redada load-modules.sh: 'usb:v04A9p2213d0302dcFFdscFFdpFFicFFiscFFipFF' is not a valid module or alias name
Sep 9 12:44:10 redada kernel: usb 1-3.1.2: USB disconnect, address 45
Sep 9 12:44:13 redada kernel: usb 1-3.1.2: new high speed USB device using ehci_hcd and address 46
Sep 9 12:44:13 redada kernel: usb 1-3.1.2: configuration #1 chosen from 1 choice
Sep 9 12:44:13 redada load-modules.sh: 'usb:v04A9p2213d0302dcFFdscFFdpFFicFFiscFFipFF' is not a valid module or alias name
Last edited by redada (2009-09-09 10:52:06)
Offline
Hello,
I have exactly the same problem as redada.
- Beloved Archlinux
- Canon CanoScan LiDE 50 scanner, not working under Arch at all, but used to work on my previous distro, still working with Live CD (actually Mandriva).
- Same output for '$ sane-find-scanner', '$ scanimage -L' and '$ scanimage -v'.
- My user is in the scanner group.
Only difference: the above suspected line containing 'load-modules.sh' doesn't appear in my messages.log, so:
Oct 25 01:50:37 barcipc kernel: usb 1-4: new high speed USB device using ehci_hcd and address 5
Oct 25 01:50:37 barcipc kernel: usb 1-4: configuration #1 chosen from 1 choice
The messages.log under the Live CD, where the scanner works, is a bit more verbose, maybe relevant:
Oct 24 18:13:44 localhost klogd: usb 5-4: new high speed USB device using ehci_hcd and address 2
Oct 24 18:13:44 localhost klogd: usb 5-4: New USB device found, idVendor=04a9, idProduct=2213
Oct 24 18:13:44 localhost klogd: usb 5-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Oct 24 18:13:44 localhost klogd: usb 5-4: Product: CanoScan
Oct 24 18:13:44 localhost klogd: usb 5-4: Manufacturer: Canon
Oct 24 18:13:44 localhost klogd: usb 5-4: configuration #1 chosen from 1 choice
Any suggestions how to debug further?
Thanks in advance.
“First principle, Clarice. Simplicity” – Dr. Hannibal Lecter
Offline
Check this out. If it works, then you may be able to set up a rule of some sort -- maybe udev:
Offline
Did you guys check the SANE homepage for details?
I have an LiDE 20 that works fine (but it's been a while since I used it). It's not working as root either?
Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy
Offline
Thank you for your efforts, guys.
@scottish: I understand that my scanner works under many distros, I have even tried (under Mandriva), and it worked out-of-the-box. Since then only my OS has changed, so I suppose the problem is more Arch-specific.
fnaaijkens' "chmod 644" hint on the H4L page didn't help, it just hid my scanner from "scanimage -L" if listing scanners as user. However file permissions are easily configurable through udev's MODE, so chmod is not needed at this point (the udev default for scanners is MODE="0664").
Anyway, thanks for the udev hint, I've learnt much from its man pages, and it seems to be promising. However it is mainly for a) managing device nodes, which I suppose not to be so important in my case, since scanimage/xsane finds the scanner, no more device nodes needed; and b) handle user space actions, which could mean loading kernel modules or whatever, but I don't know which actions should I take as a udev rule.
@B: No, as root I get exactly the same results. According to the SANE homepage manual you suggested, I increased debug verbosity:
[barci@barcipc ~]$ export SANE_DEBUG_SANEI_USB=4
[barci@barcipc ~]$ export SANE_DEBUG_GENESYS=4
[barci@barcipc ~]$ export SANE_DEBUG_GENESYS_GL841=4
[barci@barcipc ~]$ scanimage -d genesys:libusb:001:042
[sanei_debug] Setting debug level of genesys to 4.
[genesys] SANE Genesys backend version 1.0 build 11 from sane-backends 1.0.20
[sanei_debug] Setting debug level of sanei_usb to 4.
[sanei_usb] sanei_usb_init: marking existing devices
[sanei_usb] sanei_usb_init: Looking for kernel scanner devices
[sanei_usb] sanei_usb_init: Looking for libusb devices
[sanei_usb] sanei_usb_init: found libusb device (0x04a9/0x2213) interface 0 at libusb:001:042
[sanei_usb] store_device: add dn 0 with libusb:001:042
[genesys] sane_init: little endian machine
[sanei_usb] sanei_usb_find_devices: vendor=0x04a9, product=0x2213
[genesys] attach: trying to open device `libusb:001:042'
[sanei_usb] sanei_usb_open: opened usb device `libusb:001:042' (*dn=0)
[genesys] attach: device `libusb:001:042' successfully opened
[sanei_usb] sanei_usb_get_vendor_product: device 0: vendorID: 0x04a9, productID: 0x2213
[genesys] attach: found Canon flatbed scanner LiDE 35/40/50 at libusb:001:042
[genesys] sane_open: found `canon-lide-50' in devlist
[sanei_usb] sanei_usb_open: we already have a bulk-in endpoint (address: 0x81), ignoring the new one
[sanei_usb] sanei_usb_open: we already have a bulk-out endpoint (address: 0x02), ignoring the new one
[sanei_usb] sanei_usb_open: we already have a int-in endpoint (address: 0x83), ignoring the new one
[sanei_usb] sanei_usb_open: opened usb device `libusb:001:042' (*dn=0)
[genesys] init_options: custom gamma disabled
[sanei_debug] Setting debug level of genesys_gl841 to 4.
[genesys_gl841] gl841_slow_back_home: already at home, completed
[genesys_gl841] gl841_init_scan_regs settings:
Resolution : 300DPI/300DPI
Lines : 1
PPL : 4
Startpos : 0/0
Depth/Channels: 16/3
Flags : 37
[genesys_gl841] gl841_init_scan_regs : stagger=0 lines
[genesys_gl841] gl841_init_scan_regs : exposure_time=1866 pixels
[genesys_gl841] gl841_init_scan_regs: move=0 steps
[genesys_gl841] gl841_init_scan_regs: move=0 steps
[genesys_gl841] gl841_init_scan_regs: physical bytes to read = 48
[genesys_gl841] gl841_init_scan_regs: total bytes to send = 54532764
[genesys_gl841] gl841_init: starting dummy data reading
[genesys] Calibration filename set to:
[genesys] >/home/barci/.sane/canon-lide-50.cal<
[genesys] read_calibration: reading one record
[genesys_gl841] gl841_slow_back_home: already at home, completed
[genesys] genesys_flatbed_calibration
[genesys_gl841] gl841_init_scan_regs settings:
Resolution : 300DPI/300DPI
Lines : 1
PPL : 2600
Startpos : 0/0
Depth/Channels: 16/3
Flags : 37
[genesys_gl841] gl841_init_scan_regs : stagger=0 lines
[genesys_gl841] gl841_init_scan_regs : exposure_time=5320 pixels
[genesys_gl841] gl841_init_scan_regs: move=0 steps
[genesys_gl841] gl841_init_scan_regs: move=0 steps
[genesys_gl841] gl841_init_scan_regs: physical bytes to read = 31200
[genesys_gl841] gl841_init_scan_regs: total bytes to send = 54532764
[genesys_gl841] gl841_offset_calibration: starting first line reading
[genesys_gl841] gl841_offset_calibration: black/white pixels: 5200/0,5200/0,5200/0
[genesys_gl841] gl841_offset_calibration: starting first line reading
[genesys] sanei_genesys_read_data_from_scanner: timeout, buffer does not get filled
[genesys] genesys_flatbed_calibration: offset calibration failed: Error during device I/O
[genesys] genesys_start_scan: failed to do flatbed calibration: Error during device I/O
scanimage: sane_start: Error during device I/O
[genesys_gl841] gl841_slow_back_home: already at home, completed
[barci@barcipc ~]$
The first line assuming something went wrong is "timeout, buffer does not get filled". The only relevant google result I found is the source code of the genesys backend. I haven't a clue what next. Any suggestions?
Meanwhile I started two further debugging lines:
1. With the Mandriva Live CD I tried to find out with lsmod which modules are loaded exactly when I plug the scanner; they were parport_pc, ppdev and parport, but loading them manually under Arch didn't help. They handle parallel port devices, are they relevant in case of a USB device?
2. I issued "udevadm monitor --env" + plug scanner + unplug scanner + Ctrl+C both under Live CD and Arch. Under Arch all blocks containg the line "SUBSYSTEM=usb_endpoint" were missing.
Here is a sample of this kind of blocks I see under Mandriva:
UDEV [1256502201.043944] add /devices/pci0000:00/0000:00:10.4/usb5/5-4/5-4:1.0/usb_endpoint/usbdev5.4_ep83 (usb_endpoint)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:10.4/usb5/5-4/5-4:1.0/usb_endpoint/usbdev5.4_ep83
SUBSYSTEM=usb_endpoint
SEQNUM=1580
DEVNAME=/dev/usbdev5.4_ep83
MAJOR=252
MINOR=15
DEVLINKS=/dev/char/252:15
Thank you in advance.
“First principle, Clarice. Simplicity” – Dr. Hannibal Lecter
Offline
WORKAROUND:
Ok, I was wrong, not only my OS has changed since Mandriva, but sane's version number too...
I downgraded from the most up to date sane (1.0.20-3) to 1.0.19-2, and now my scanner works flawlessly...
...except for complaining about not finding libjpeg.so.62:
scanimage: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
I actually have libjpeg 7-1, and I don't really want to downgrade libjpeg too, since too many of my other applications need it to be at least 7.
I made a symlink libjpeg.so.62 pointing to libjpeg.so.7.0.0.
And now my scanner really works flawlessly.
I played a bit around and I can say the problem restricts to the genesys backend. I'll report it.*
*EDIT: Oh, it has already been reported. There is a patch as well.
https://alioth.debian.org/tracker/?grou … aid=311691
Last edited by barto (2009-10-29 14:35:19)
“First principle, Clarice. Simplicity” – Dr. Hannibal Lecter
Offline
Pages: 1