[sane-devel] AXIS 1650 support for Pixma backend - work in progress

Ondrej Zary linux at zary.sk
Fri Mar 20 21:34:33 GMT 2020


AXIS 1650 scanning support is limited to specific Canon devices only:
https://www.axis.com/techsup/prtsrv/axis_1650/printers_eur.htm

In theory, it could work as generic USB-over-TCP device but it does not. The firmware probably includes a whitelist of supported devices or some other way to know when to enable the scan feature. It also seems to do some data transfers automatically (like polling interrupt endpoints).

On Friday 20 March 2020 22:14:21 m. allan noah wrote:
> I'm confused- are you proposing to add a new backend that lets pixma
> scanners work over this AXIS machine, but not other scanners?
> 
> allan
> 
> On Fri, Mar 20, 2020 at 2:58 PM Rolf Bensch <rolf at bensch-online.de> wrote:
> >
> > Hi Ondrej,
> >
> > Many thanks for your message.
> >
> > Am 20.03.20 um 18:44 schrieb Ondrej Zary:
> >
> > Hello,
> > I have a Canon MF5730 MFP with external AXIS 1650 print server:
> > https://www.axis.com/techsup/prtsrv/axis_1650/index.htm
> >
> > I've reverse engineered the print data format and wrote CUPS driver couple of
> > years ago so printing works fine.
> >
> > Now it's time for scanning. Thanks to SANE and Pixma backend, scanning works
> > when connected directly using the USB port (except for the buttons).
> >
> > The scan mode of AXIS 1650 works as USB-over-TCP.
> > The Windows AXIS Scan Client discovers and identifies local scan-capable print
> > servers using a simple UDP-based WIMP protocol:
> > https://www.axis.com/techsup/prtsrv/axis_1650/technotes_1650.htm#2
> >
> > Then it connects to the selected print server using TCP, locking it for the
> > current user, and creates a virtual USB device so the Canon driver could be
> > used to scan.
> >
> > I've based AXIS support for Pixma backend on the BJNP code.
> > What works:
> >  - autodetection
> >  - connect
> >  - scan starts
> > What does not:
> >  - data gets messed up somehow
> >  - scan does not finish successfully
> >  - set_timeout, interrupts not implemented
> >
> >
> > I just created a merge request here: https://gitlab.com/sane-project/backends/-/merge_requests/361.
> >
> > Please check if your code still is working. I needed to fix some issues while merging to recent master branch.
> >
> > Please follow the merge request and provide your fixes there.
> >
> > Hope this helps.
> >
> > Cheers,
> > Rolf
> >
> >
> > !361
> >
> >
> > !361
> 
> 
> 


-- 
Ondrej Zary



More information about the sane-devel mailing list