Configuring Canon PIXMA MP510 under openSUSE 11.3

Hi there, I’m trying to get my Canon Pixma MP510 scanner to work under openSUSE 11.3. Canon Linux Support doesn’t seem to have anything for 11.3, but sane claims to provide basic functionality. The printer is working fine, but I don’t manage to configure the scanner.

I tried to configure via YaST, but the following happens: The scanner is found, but (correctly) labbelled as “not configured”. Clicking “Edit”, the PIXMA MP510 is listed and a driver suggested:
“Canon PIXMA MP510: (Package sane-backends) Driver pixma should provide basic functionality (USB-ID 0x04a9:0x1717)”
If I select this option an click on “Next”, the window crashes and I get the following error in the KDialog window, but I have no clue what it means:
“YaST got signal 11 at YCP file Wizard.ycp:849
/sbin/yast2: line 399: 5663 Segmentation fault $ybindir/y2base $module “$@” “$SELECTED_GUI” $Y2_GEOMETRY $Y2UI_ARGS”

Is this a YaST problem? Or driver related? I thought about configuring the scanner without YaST, but don’t know how to do it. I tried to google a HowTo, but couldn’t find anything useful.

The command “sane-find-scanner” successfully detects the scanner,
“found USB scanner (vendor=0x04a9 [Canon], product=0x1717 [MP510]) at libusb:001:004”,
but the command “scanimage -L” yields
“No scanners were identified.”

Can somebody please help me? Any suggestions how to make YaST configure my scanner? Or how to configure it without YaST? If possible, explained in a simple, step-by-step way?

Cheers,

Der-Michel.

Canon has a number of websites;

if you go to the Canon Asia website

http://support-sg.canon-asia.com/?personal

and enter the details of your device, you end on this page

Canon

it is traditional to say that Canon does not offer support, but here on this page are rpm packages that would be good for opensuse, and deb packages for debian derivatives;

one option would be to install the ScanGear; that would hopefully drive your scanner;

I have had issues with “permissions” for scanners on OpenSuse in the past; “root” owns the scanner and I had to issue “chmod” commands to change the ownership to user; I am not clear if that is happening here to you

Does ‘scanimage -L’ return anything as root? If so, try issuing ‘scanimage > test.pnm’

As pdc_2 mentioned, it may be necessary to add the user to the appropriate group.

one option would be to install the ScanGear; that would hopefully drive your scanner;

Thanks, I had tries this before, but I was running into library problems I couldn’t solve: The scangear was designed for opensuse 10.2. When I try to install the rpm, the dependencies require some libs. Then I tried to find them, but at some point I found the information that at least some of the required libs are not available for 11.3, because some larger piece of software has been superseded and is not available for 11.3. Sorry for being so imprecise, it’s already a couple of weeks ago that I tried it, and I didn’t document my attempt well enough…

I have had issues with “permissions” for scanners on OpenSuse in the past; “root” owns the scanner and I had to issue “chmod” commands to change the ownership to user; I am not clear if that is happening here to you
[/QUOTE]

I don’t understand this comment. When YaST crashes when I try to configure the scanner, I am doing this as root. For what files should I run into ownership problems? Not clear to me how this might be related to my problem?

@deano-ferrari: the output for “scanimage -L” I posted was obtained as root. The other comment, apparently related to pdc_2’s one, unfortunately I don’t understand. What would I need add to what group? Is that a problem that could prevent me already from configuring the scanner with YaST?

Thanks to both of you for your comments, maybe you have some further hints for me!?

If ‘scanimage -L’ does not work as root, then its not a simple permissions (group issue). You will probably need to take pdc_2’s advive and install the scangear packages

scangearmp-common-1.00-2.i386.rpm
scangearmp-mp510-1.00-1.i386.rpm

If you require support due to installation problems, it may be best to contact Canon directly:

Canon Singapore - Support & Downloads

FWIW, I downloaded the scangearmp rpm’s then installed with

zypper in /home/dean/Downloads/scangearmp-common-1.00-2.i386.rpm
zypper in /home/dean/Downloads/scangearmp-mp510-1.00-1.i386.rpm

The first package warned that libpng.so.3 was missing, but I chose to ignore this and install anyway. Then I created a soft link with

ln -s /usr/lib/libpng12.so.0 /usr/lib/libpng.so.3

I then tried running scangearmp (from a terminal as regular user), and got some Gtk warnings, but that’s as far as I can go without having the actual scanner present.

Hope this helps.

Tried the same, got an error message
“(scangearmp:5158): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated”,
but scangear started. When I tried to scan a testpage, the scanner started, but got stuck immediately. No error message, though. Any suggestions what else I could try? Otherwise I might try contact the Canon support, but I was warned that for Linux I shouldn’t expect anything useful from them…

Thanks for your help, deano_ferrari, very much appreciated!

Otherwise I might try contact the Canon support, but I was warned that for Linux I shouldn’t expect anything useful from them…

Yes, I still think it would be worth making noises to them though :slight_smile:

Not sure what else you could try. Does xsane work?

No, xsane complains that no scanner is configured. As you can see from my first post, what I tried first is actually to configure the scanner with sane, but I didn’t manage to.

Maybe someone has a suggestion for me on how to configure the scanner with sane-pixma?

Well 55-libsane.rules contains the entry

# Canon MP510 | Canon PIXMA MP510
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="1717", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

so I would expect this scanner to be recognised. (Make sure you add the user to the ‘lp’ group first via YaST > Security and Users).

Plug in the MP510 and then type

dmesg|tail

Post the output.

You could also try

lshal -m

then plug in scanner, and note what is reported.

Done.

Plug in the MP510 and then type dmesg|tail

Output is

  865.388861] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  865.388871] usb 1-7: Product: MP510
  865.388878] usb 1-7: Manufacturer: Canon
  865.388884] usb 1-7: SerialNumber: 000000
  865.392891] scsi5 : usb-storage 1-7:1.2
  865.524156] usblp0: USB Bidirectional printer dev 5 if 1 alt 0 proto 2 vid 0x04A9 pid 0x1717
  865.525787] usbcore: registered new interface driver usblp
  866.395701] scsi 5:0:0:0: Direct-Access     Canon    MP510Storage     0104 PQ: 0 ANSI: 2
  866.397311] sd 5:0:0:0: Attached scsi generic sg1 type 0
  866.411509] sd 5:0:0:0: [sdb] Attached SCSI removable disk

You could also try lshal -m, then plug in scanner, and note what is reported.

21:41:35.882: usb_device_4a9_1717_000000 added
21:41:35.906: usb_device_4a9_1717_000000_if2 added
21:41:35.913: usb_device_4a9_1717_000000_if2_scsi_host added
21:41:35.928: usb_device_4a9_1717_000000_if0 added
21:41:35.946: usb_device_4a9_1717_000000_if1 added
21:41:36.017: usb_device_4a9_1717_000000_if1_printer_noserial added
21:41:36.876: usb_device_4a9_1717_000000_if2_scsi_host_0 added
21:41:36.883: usb_device_4a9_1717_000000_if2_scsi_host_0_scsi_device_lun0 added
21:41:36.885: usb_device_4a9_1717_000000_if2_scsi_host_0_scsi_device_lun0_scsi_generic added
21:41:36.990: storage_serial_Canon_MP510Storage_000000_0_0 added
21:41:37.000: storage_serial_Canon_MP510Storage_000000_0_0 property info.interfaces = {'org.freedesktop.Hal.Device.Storage.Removable'} (new)
21:41:39.014: storage_serial_Canon_MP510Storage_000000_0_0 property storage.partitioning_scheme = '' (new)

@deano_ferrari: No clue what all this stuff means. Can you please help?

The output looks ok. See if ‘sane-find-scanner’ works now. (For usb-connected devices, no configuration is necessary).

Same as posted in my first post: The command “sane-find-scanner” successfully detects the scanner,

found USB scanner (vendor=0x04a9 [Canon], product=0x1717 [MP510]) at libusb:001:005

but the command “scanimage -L” yields

No scanners were identified.

I must admit its difficult to see where things are not right here. Normally, the automatically-detected scanner is available to xsane (though libusb) when plugged in. I’ve never needed to ‘configure’ a usb-connected scanner. Network-attached scanners are a differnt story.

You could try configuring via ncurses (text) YaST interface with

sudo /sbin/yast

See if that works better for you.

FWIW, I’ll share this blog with you (as your model is mentioned):

The Canon PIXMA Linux blog, for all Canon PIXMA all-in-ones: New Sane scanner driver for Canon Pixma MP610 !

I wonder if you’re having the same issue as described here:

https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/313504

whereby the usblp driver is claiming the usb device, and preventing scanimage -L from detecting the scanner (even as root). Try the suggestions in #1 (re removing the usb drivers, then plugging in the hardware…)

After researching this a little more, and testing with an epson CX5500 I had at hand, I experienced the same problem as you’ve described. This may point to broken backends with 1.0.21

I was able to download Epson drivers from Avasys, and this brings in the epkowa backend, which fixed the detection for me.

So, now I suggest you file a bug report both with Novell and SANE - Scanner Access Now Easy

@deano ferrari: your earlier suggestion to try /sbin/yast (the text interface of YaST) was a success: I was able to configure the printer with the sane-pixma driver, and now I can scan with scanimage! Yesssss!
Success is not 100%, though: xsane doesn’t work. Although I could live without, I will give it a try. Need to do some more testing first, but won’t have the time probably during the next two days. Will post as soon I have done it.
A big THANKS to you, deano_ferrari!

Well done Der-Michel! I would be interested in knowing which files in /etc/sane.d/ that the yast scanner config utility modified. I suspect saned.conf, canon.conf (or pixma.conf), and maybe dll.conf could be involved.

It would be interesting to see if any entries got added to the end of one (or more) of these files, as it might assist others with detection problems:

cat /etc/sane.d/saned.conf
cat /etc/sane.d/canon.conf
cat /etc/sane.d/pixma.conf
cat /etc/sane.d/dll.conf

It might be that ‘usb 0x04a9 0x1717’ got explicitly to pixma.conf for example (so that the backend is explicitly associated with the pixma backend). If/when you have time, please post the output so that I can examine these files for any changes. Thanks.

Similar Gentoo thread on same topic (with similar model). Hopefully of help to others with usb scanner config issues…

dll.conf is the only file that has been modified, the other conf-files are unchanged since installation. The output of cat /etc/sane.d/dll.conf is

# enable the next line if you want to allow access through the network:
#net
#abaton
#agfafocus
#apple
#avision
#artec
#artec_eplus48u
#as6e
#bh
#canon
#canon630u
canon_dr
#canon_pp
#cardscan
#coolscan
#coolscan2
#coolscan3
#dc25
#dc210
#dc240
#dell1600n_net
#dmc
#epjitsu
#epson
#epson2
#fujitsu
#gphoto2
#genesys
#gt68xx
#hp
#hp3900
#hpsj5s
#hp3500
#hp4200
#hp5400
#hp5590
#hpljm1005
#hs2p
#ibm
#kodak
#kvs1025
#leo
#lexmark
#ma1509
#matsushita
#microtek
#microtek2
#mustek
#mustek_pp
#mustek_usb
#mustek_usb2
#nec
#niash
#p5
#pie
#pint
pixma
#plustek
#plustek_pp
#pnm
#qcam
#ricoh
#rts8891
#s9036
#sceptre
#sharp
#sm3600
#sm3840
#snapscan
#sp15c
#st400
#stv680
#tamarack
#teco1
#teco2
#teco3
#test
#u12
#umax
#umax_pp
#umax1220u
#v4l
#xerox_mfp
# The hpaio backend is provided by the hplip package:
#hpaio

so only canon_dr and pixma are uncommented.

The weird thing now is: I can scan from the command line with scanimage, but neither xsane nor skanlite works: skanlite starts scanning and stops after 17%. xsane can even do full previews, but when I press “scan” it says “operation was cancelled”. Any idea what that could be?