Hello,<br>I've got a Canon MP180 scanner that is not working with sane.<br>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.
<br><br>I want to make my scanner to work with this backend, but I don't know if it's safe.<br><br>I've searched for the word MP170 :<br>$ grep -ri MP170 *<br>pixma.desc::model "PIXMA MP170"<br>pixma_mp150.c:#define MP170_PID 0x170a
<br>pixma_mp150.c: DEVICE("Canon PIXMA MP170", MP170_PID, 1200, 0),<br>( and some html pages, manpages... )<br>_________________<br>Details of the files found:<br>*pixma.desc @ line 33:<br>:model "PIXMA MP170"
<br>:interface "USB"<br>:usbid "0x04a9" "0x170a"<br>:status :good<br><br>*pixma_mp150.c @ line 59:<br>#define MP150_PID 0x1709<br>#define MP170_PID 0x170a<br>#define MP450_PID 0x170b<br>#define MP500_PID 0x170c
<br>#define MP530_PID 0x1712<br>#define MP800_PID 0x170d<br>#define MP800R_PID 0x170e<br>#define MP830_PID 0x1713<br><br>*pixma_mp150.c @ line 718:<br>const pixma_config_t pixma_mp150_devices[] = {<br> DEVICE("Canon PIXMA MP150", MP150_PID, 1200, 0),
<br> DEVICE("Canon PIXMA MP170", MP170_PID, 1200, 0),<br> DEVICE("Canon PIXMA MP450", MP450_PID, 1200, 0),<br> DEVICE("Canon PIXMA MP500", MP500_PID, 1200, 0),<br> DEVICE("Canon PIXMA MP530", MP530_PID, 1200, PIXMA_CAP_ADF),
<br> DEVICE("Canon PIXMA MP800", MP800_PID, 2400, PIXMA_CAP_TPU|PIXMA_CAP_48BIT),<br> DEVICE("Canon PIXMA MP800R", MP800R_PID, 2400, PIXMA_CAP_TPU|PIXMA_CAP_48BIT),<br> DEVICE("Canon PIXMA MP830", MP830_PID, 2400, PIXMA_CAP_ADFDUP|PIXMA_CAP_48BIT),
<br> DEVICE(NULL, 0, 0, 0)<br>};<br>_________________<br><br>So the only things specific to this scanner are :<br>- Its name : "Canon PIXMA MP170"<br>- Its usbid : "0x04a9" "0x170a"<br>- Its resolution : 1200
<br>- Its capability : 0 (nothing)<br>_________________<br><br>With the command sane-find-scanner I've this :<br>found USB scanner (vendor=0x04a9 [Canon], product=0x1715 [MP180]) at libusb:002:002<br><br>So I think that my scanner has these specific values :
<br>- Its name : "Canon PIXMA MP180"<br>- Its usbid : "0x04a9" "0x1715"<br>- Its resolution : 1200 (this resolution is the same)<br>- Its capability : 0 (nothing because I don't know)<br>
<br>If I want to use this driver, I only need to add the entries for this scanner :<br><br>--- pixma.desc.orig 2007-01-20 19:49:56.000000000 +0100<br>+++ pixma.desc 2007-01-20 19:50:23.000000000 +0100<br>@@ -35,6 +35,11 @@
<br> :usbid "0x04a9" "0x170a"<br> :status :good<br><br>+:model "PIXMA MP180"<br>+:interface "USB"<br>+:usbid "0x04a9" "0x1715"<br>+:status :minimal<br>+<br> :model "SmartBase MP360"
<br> :interface "USB"<br> :usbid "0x04a9" "0x263c"<br><br>--- pixma_mp150.c.orig 2007-01-20 19:49:44.000000000 +0100<br>+++ pixma_mp150.c 2007-01-20 19:52:03.000000000 +0100<br>@@ -58,6 +58,7 @@
<br><br> #define MP150_PID 0x1709<br> #define MP170_PID 0x170a<br>+#define MP180_PID 0x1715<br> #define MP450_PID 0x170b<br> #define MP500_PID 0x170c<br> #define MP530_PID 0x1712<br>@@ -718,6 +719,7 @@<br> const pixma_config_t pixma_mp150_devices[] = {
<br> DEVICE("Canon PIXMA MP150", MP150_PID, 1200, 0),<br> DEVICE("Canon PIXMA MP170", MP170_PID, 1200, 0),<br>+ DEVICE("Canon PIXMA MP180", MP180_PID, 1200, 0),<br> DEVICE("Canon PIXMA MP450", MP450_PID, 1200, 0),
<br> DEVICE("Canon PIXMA MP500", MP500_PID, 1200, 0),<br> DEVICE("Canon PIXMA MP530", MP530_PID, 1200, PIXMA_CAP_ADF),<br><br>_________________<br><br>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?
<br><br>If I do this, I'll send you some feedback.<br><br>-- <br>Pierre ReniƩ <br>