[sane-devel] Imageclass D530 Scanner Support (New Patch?)

tx gtux at gimpchat.com
Fri Oct 17 06:09:02 UTC 2014


I forgot to include the new patch. Perhaps someone could look it over to
ensure I got it right.

*** pixma_imageclass.c	2014-10-16 08:35:04.904198000 -0400
--- pixma_imageclass-patched.c	2014-10-17 01:21:15.669433000 -0400
***************
*** 96,101 ****
--- 96,102 ----
  #define MF8030_PID 0x2707
  #define IR1133_PID 0x2742
  #define MF8500_PID 0x277a
+ #define D530_PID   0x2775


  enum iclass_state_t
***************
*** 414,421 ****
      return error;
    if (s->param->source == PIXMA_SOURCE_ADF && !has_paper (s))
      return PIXMA_ENO_PAPER;
!   /* activate only seen for generation 1 scanners */
!   if (mf->generation == 1)
      {
        if (error >= 0)
          error = activate (s, 0);
--- 415,423 ----
      return error;
    if (s->param->source == PIXMA_SOURCE_ADF && !has_paper (s))
      return PIXMA_ENO_PAPER;
!   /* activate only seen for generation 1 scanners
!    * but not for D530 */
!   if (mf->generation == 1 && s->cfg->pid != D530_PID)
      {
        if (error >= 0)
          error = activate (s, 0);
***************
*** 474,482 ****

    /* set generation = 2 for new multifunctionals
     * some new scanners use generation 1 protocol */
!   mf->generation = (s->cfg->pid >= MF8030_PID &&
!                     s->cfg->pid != MF8200_PID &&
!                     s->cfg->pid != MF8500_PID) ? 2 : 1;
    PDBG (pixma_dbg (3, "*iclass_open***** This is a generation %d
scanner.  *****\n", mf->generation));

    PDBG (pixma_dbg (3, "Trying to clear the interrupt buffer...\n"));
--- 476,487 ----

    /* set generation = 2 for new multifunctionals
     * some new scanners use generation 1 protocol */
!   /* set generation = 2 for new multifunctionals
!    * except D530 is a generation 1 scanner */
!  mf->generation = (s->cfg->pid >= MF8030_PID &&
!                    s->cfg->pid != MF8200_PID &&
!                    s->cfg->pid != MF8500_PID &&
!                    s->cfg->pid != D530_PID) ? 2 : 1;
    PDBG (pixma_dbg (3, "*iclass_open***** This is a generation %d
scanner.  *****\n", mf->generation));

    PDBG (pixma_dbg (3, "Trying to clear the interrupt buffer...\n"));
***************
*** 570,575 ****
--- 575,582 ----
    if (error >= 0)
      error = send_scan_param (s);
    if (error >= 0)
+     error = query_status (s);
+   if (error >= 0)
      error = request_image_block (s, 0, &ignore, &ignore2, &ignore,
&ignore2);
    if (error < 0)
      {
***************
*** 794,798 ****
--- 801,806 ----
    DEV ("Canon i-SENSYS MF6680dn", "MF6680", MF6680_PID, 600, 640, 877,
PIXMA_CAP_ADFDUP),
    DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 637, 877,
PIXMA_CAP_ADFDUP),
    DEV ("Canon i-SENSYS MF8500C Series", "MF8500C", MF8500_PID, 600, 640,
1050, PIXMA_CAP_ADFDUP),
+   DEV ("Canon imageCLASS D530", "D530", D530_PID, 600, 640, 877, 0),
    DEV (NULL, NULL, 0, 0, 0, 0, 0)
  };


Thanks!

~gtux

On Fri, October 17, 2014 2:05 am, tx wrote:
> I have made further progress and believe I was able to manually apply the
>  patch provided by Rolf to the current version of pixma_imageclass.c from
>  git. After applying the patch, I am now able to see the device as a
> normal user via scanimage -L
>
> device `v4l:/dev/video1' is a Noname Hauppauge WinTV-HVR1800 virtual
> device device `v4l:/dev/video0' is a Noname Hauppauge WinTV-HVR1800
> virtual device device `pixma:04A92775' is a CANON Canon imageCLASS D530
> multi-function peripheral
>
> The first two devices are my Hauppauge HDTV ATSC card. Before applying
> the patch, I did not see the pixma:04A92775 device. I also copied the rule
> to /etc/udev/rules.d/, as outlined in the January post.
>
>
> # Canon imageCLASS D530
> ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2775", MODE="0664",
> GROUP="scanner", ENV{libsane_matched}="yes"
>
>
> However, this is as far as I have been able to get. If I run the test as
> a regular user, I get the "invalid argument" message. $ scanimage >
> test.pnm scanimage: sane_start: Invalid argument
>
>
> or when including the device name, I am denied permissions. $ scanimage
> --device-name=pixma:04A92775 > test.prn
> scanimage: open of device pixma:04A92775 failed: Access to resource has
> been denied
>
> If I run the test as root, I get this..
> [root]# scanimage  > test.prn
> scanimage: sane_start: Invalid argument
>
>
> [root]# scanimage --device-name=pixma:04A92775 > test.prn
> scanimage: open of device pixma:04A92775 failed: Invalid argument
>
>
> I'm not sure where to go from here. Any assistance would be appreciated.
>
>
> Thanks!
>
>
> On Thu, October 16, 2014 9:33 am, tx wrote:
>
>> Greetings,
>>
>>
>>
>> I have a Canon D530 Printer/Copy/Scanner and would really like to be
>> able to scan in Linux via sane. I'm currently using Fedora 20_x86 and
>> would be happy to volunteer for testing.
>>
>> (vendor=0x04a9 [Canon Inc], product=0x2775 [D530/D560]) at
>> libusb:002:008
>>
>>
>>
>> I grabbed the latest backend from git and applied this patch from
>> January.
>>
>>
>>
>> http://lists.alioth.debian.org/pipermail/sane-devel/2014-January/032066
>> .h
>> tml
>>
>> I assume the patch is outdated because I couldn't apply it to the
>> source file: pixma_imageclass.c.
>>
>>
>>
>> Is there a new patch available that I could try.
>>
>>
>>
>> Thanks!
>>
>>
>>
>> gtux
>>
>>
>> --
>> sane-devel mailing list: sane-devel at lists.alioth.debian.org
>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
>> Unsubscribe: Send mail with subject "unsubscribe your_password"
>> to sane-devel-request at lists.alioth.debian.org
>>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pixma_imageclass.c.patch4-d530
Type: application/octet-stream
Size: 2763 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20141017/87b1ae01/attachment-0001.obj>


More information about the sane-devel mailing list