[sane-devel] Using sane-pixma backend for the Canon MP180 scanner

Pierre Renié archlinuxien at gmail.com
Sat Jan 20 19:57:29 CET 2007


Hello,
I've got a Canon MP180 scanner that is not working with sane.
I've downloaded the source code of the driver pixma_mp150 that's part of the
sane project. It supports the following scanners : MP150, MP170, MP450,
MP500, MP530, MP800, MP800R and MP830.

I want to make my scanner to work with this backend, but I don't know if
it's safe.

I've searched for the word MP170 :
$ grep -ri MP170 *
pixma.desc::model "PIXMA MP170"
pixma_mp150.c:#define MP170_PID 0x170a
pixma_mp150.c:    DEVICE("Canon PIXMA MP170", MP170_PID, 1200, 0),
( and some html pages, manpages... )
_________________
Details of the files found:
*pixma.desc @ line 33:
:model "PIXMA MP170"
:interface "USB"
:usbid "0x04a9" "0x170a"
:status :good

*pixma_mp150.c @ line 59:
#define MP150_PID 0x1709
#define MP170_PID 0x170a
#define MP450_PID 0x170b
#define MP500_PID 0x170c
#define MP530_PID 0x1712
#define MP800_PID 0x170d
#define MP800R_PID 0x170e
#define MP830_PID 0x1713

*pixma_mp150.c @ line 718:
const pixma_config_t pixma_mp150_devices[] = {
    DEVICE("Canon PIXMA MP150", MP150_PID, 1200, 0),
    DEVICE("Canon PIXMA MP170", MP170_PID, 1200, 0),
    DEVICE("Canon PIXMA MP450", MP450_PID, 1200, 0),
    DEVICE("Canon PIXMA MP500", MP500_PID, 1200, 0),
    DEVICE("Canon PIXMA MP530", MP530_PID, 1200, PIXMA_CAP_ADF),
    DEVICE("Canon PIXMA MP800", MP800_PID, 2400,
PIXMA_CAP_TPU|PIXMA_CAP_48BIT),
    DEVICE("Canon PIXMA MP800R", MP800R_PID, 2400,
PIXMA_CAP_TPU|PIXMA_CAP_48BIT),
    DEVICE("Canon PIXMA MP830", MP830_PID, 2400,
PIXMA_CAP_ADFDUP|PIXMA_CAP_48BIT),
    DEVICE(NULL, 0, 0, 0)
};
_________________

So the only things specific to this scanner are :
- Its name : "Canon PIXMA MP170"
- Its usbid : "0x04a9" "0x170a"
- Its resolution : 1200
- Its capability : 0 (nothing)
_________________

With the command sane-find-scanner I've this :
found USB scanner (vendor=0x04a9 [Canon], product=0x1715 [MP180]) at
libusb:002:002

So I think that my scanner has these specific values :
- Its name : "Canon PIXMA MP180"
- Its usbid : "0x04a9" "0x1715"
- Its resolution : 1200 (this resolution is the same)
- Its capability : 0 (nothing because I don't know)

If I want to use this driver, I only need to add the entries for this
scanner :

--- pixma.desc.orig     2007-01-20 19:49:56.000000000 +0100
+++ pixma.desc  2007-01-20 19:50:23.000000000 +0100
@@ -35,6 +35,11 @@
 :usbid "0x04a9" "0x170a"
 :status :good

+:model "PIXMA MP180"
+:interface "USB"
+:usbid "0x04a9" "0x1715"
+:status :minimal
+
 :model "SmartBase MP360"
 :interface "USB"
 :usbid "0x04a9" "0x263c"

--- pixma_mp150.c.orig  2007-01-20 19:49:44.000000000 +0100
+++ pixma_mp150.c       2007-01-20 19:52:03.000000000 +0100
@@ -58,6 +58,7 @@

 #define MP150_PID 0x1709
 #define MP170_PID 0x170a
+#define MP180_PID 0x1715
 #define MP450_PID 0x170b
 #define MP500_PID 0x170c
 #define MP530_PID 0x1712
@@ -718,6 +719,7 @@
 const pixma_config_t pixma_mp150_devices[] = {
     DEVICE("Canon PIXMA MP150", MP150_PID, 1200, 0),
     DEVICE("Canon PIXMA MP170", MP170_PID, 1200, 0),
+    DEVICE("Canon PIXMA MP180", MP180_PID, 1200, 0),
     DEVICE("Canon PIXMA MP450", MP450_PID, 1200, 0),
     DEVICE("Canon PIXMA MP500", MP500_PID, 1200, 0),
     DEVICE("Canon PIXMA MP530", MP530_PID, 1200, PIXMA_CAP_ADF),

_________________

But before to do this, I have a question : Is it dangerous for my scanner?
For the system? Or at worse it just won't work?

If I do this, I'll send you some feedback.

-- 
Pierre Renié
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20070120/dc9433ee/attachment.html


More information about the sane-devel mailing list