[sane-devel] Lexmark X5250 All-In-One - Offer to Develop

stef stef.dev at free.fr
Sun Nov 11 06:29:59 UTC 2007

Le Saturday 10 November 2007 13:36:03 SPM, vous avez écrit :
> I am interested in developing a backend for the Lexmark X5250
> All-in-One printer/scanner/copier, and will need help getting started.
> All research I have done to date indicates the following:
> 1.  Lexmark's "developer's kit"  (LDK 2.0) offers weak support for the
> few units for which their sample code works.  The X5250 is one of the
> supported devices, but I got the impression that it only works on
> older versions of LINUX kernels.  (I am running Fedora Core 7)
> 2.  Use of LDK is not very intuitive and will take significant time to
> use, with questionable results.
> 3.  Other parties, having tried to use LDK, appear to have had better
> success reverse-engineering the unit in Windows and starting from
> scratch on a new backend.  (example:
> http://lists.alioth.debian.org/pipermail/sane-devel/2005-November/015399.ht
> I haven't tried the LDK, but have read enough to believe writing a new
> backend would be a more efficient use of my time.  I have 11 years
> experience in the field as a programmer and am fluent in many
> languages, but will be new to this process.  I would appreciate any
> help / advice for getting started, especially regarding tools to use
> for scanning Windows while running the printer, what language is used
> for writing backends (C?), if there is a preferred IDE for
> development, and how to connect to the CVS repository if/when I
> develop anything of use.
> Lexmark made a good unit (at least, compared to some of HP's more
> pitiful offerings I've endured over the last 12 years); it's sad that
> they should be so narrow-minded as to all but pay lip-service to the
> LINUX community.  Apparently, they have yet to realize exactly how
> large a community they are ostracizing.  I have no intention of buying
> any product of theirs again, but would like to use my bad investment
> to help others.
> Sean P Murphy


	you could try to find on which hardware the scanner is based. Since previous 
AIO from lexmark are based on the Realtek RTS8852, it may also be the case 
for your device. You can check this by using the latest sane-find-scanner 
from CVS. In case it is a known ASIC, the work to be done would only add a 
new model to an existing backend.

	Another way to find if it is based on a RTS88xx ASIC, is to record USB 
activity of a plug and preview scan session (with the utility you can get at 	
http://www.pcausa.com/Utilities/UsbSnoop/default.htm). Then by analyzing the 
log we may find if it is a known device or something new.

	On the development side, backends are written in plain C. I use two kind of 
development environment. On low end machines I use gvim, gdb (or cgdb) with a 
couple of xterms, on higher end machines I use eclipse with the CDT plugin.
	The usual devlopement process I follow is to log what happens under windows, 
try to understand it, then adapt or mimic it in the backend. Then test and 
compare results.


More information about the sane-devel mailing list