Hi, This is the current TODO list for SANE 1.0.10. If anything is wrong/already fixed/missing, please change in CVS or contact me. I don't think there is anything really realese-critical, but some minor issues should be fixed.
Bye, Henning TODO (2003-01-05) ******** todo ******** backends -------- * Add new backends (+ means scheduled for SANE 1.0.10) - Hewlett-Packard ScanJet 3300C / 3400C and 4300C (wip) http://sourceforge.net/projects/hp3300backend * qcam: - implement auto mode for brightness and black-level (don't just advertise it!) Actually, implement an auto "backend" instead that can be plugged in front of any backend with brightness/contrast etc controls - figure out how/if to support bulb mode - convert to use sanei_pio functions instead of direct port access. - The result of locking isn't checked --> does it make sense at all? * sm3600.c, .h: - Fix comment header (wrong author, wrong description) * dc210, dc240, gphoto2, and jpeg stuff: move sanei_* functions to sanei/ (if they are necessary). That's probably for SANE2. * v4l: - Geometry support is missing - Frequency setting is missing - check if v4lctl distributed with xawtv can be used * memory leaks: - sane_exit() does not release memory allocated by sane_get_devices(): abaton, agfafocus, apple, as6e, bh, canon, coolscan, dmc, qcam, ricoh, s9036, sp15c, tamarack - as6e: attach: memory (dev + dev-sane.name) isn't freed if driver isn't found. * net: add IPv6 support. * suspicious warnings or type mismatchs: - bh: backend/bh.c", line 1923: warning: end-of-loop code not reached see sane-devel. - coolscan: Lots of compilation warnings (e.g. "backend/coolscan-scsidef.h", line 160: warning: initialization type mismatch; empty declarations), see sane-devel. - microtek2.c (scsi_read_control_bits): Make sure to pass a size_t* to sanei_scsi_cmd(). * Make sure that USB backends don't depend on the kernel USB scanner driver but also work with libusb. The linux kernel scanner driver may be gone in Linux 2.6.0. - plustek: will need some work to autodetect all supported scanners * Check if sp15c backend (Fujitsu ScanPartner 15C) can be included in fujitsu or avision backends. * Check the Irix patches from http://www.mostang.com/pipermail/sane-devel/2002-December/017010.html - gphoto2 (?) - bh - canon - coolscan - dc210 - dc240 - dc25 doc --- * Add doxygen documentation for the remaining sanei files: - sanei_pio.h - sanei_pv8630.h - sanei_wire.h * desc files: - snapscan.desc: Add Mitsubishi DV650U usb scanner "It turns out the DV650U has the same ID string (FlatbedScanner_23), vendor & product ID (0x04a5, 0x20b0) and firmware file (u176v042.bin) as Acer/Benq 4300, listed at http://snapscan.sourceforge.net" - Add Epson Stylus cx3200 MFP to epson.desc (supported only with patch to Linux USB scanner driver) - Add keywords "vendor-id" and "product-id" for SCSI and USB ids. - hp.desc, umax_pp.desc: Use "ScanJet number" instead of "HP ScanJet number" or "HP number" for better sorting of the lists - avision.desc: Is the removal of the HP 7450 intended? * manpages: - html manpages have broken links to other man pages if link is wrapped at the end of the line (e.g. sane-pint points to pint.5.html). - umax_pp.man: Don't use "'" at the beginning of lines. frontends --------- * saned: - saned times out after 60 minutes. Check if the watchdog timer is really necessary (e.g. to avoid blocking scanners by one user). Maybe add a command line option to saned to set the timeout. Otherwise turn on TCP keep alive (where available) and (maybe) check the connection from server side. - Add IPv6 support. - Add support for IP ranges in saned.conf (like 10.0.0.0/8)? * scanimage: Check range of width and height. scanimage just uses the ranges from br-x and br-y but this is wrong for tl-x and tl-y != 0 and for SANE_UNIT_PIXEL. * scanimage: Reduce range of width and length if tlx or tly is different from 0 to avoid warnings. * scanimage: Check handling of short string-list options. sanei ----- * sanei_scsi: Think about a completely new interface. Details are in http://www.mostang.com/pipermail/sane-devel/2002-January/001995.html and http://www.mostang.com/pipermail/sane-devel/2002-December/016773.html. * create sanei_parport_* and remove all inb, outb,... from all backends; use libieee1284 if available (see http://people.redhat.com/twaugh/libieee1284/). Or just include this library into sane. * Check if the device file has the right type before accessing it. E.g. check for major/minor numbers to avoid accessing a USB file as SCSI device. This is finished for sanei_scsi.c/Linux and sane-find-scanner. Patches for other platforms are welcome. * sanei_scsi (Linux): Make sure that the SCSI driver is loaded when checking for scanners. Ideas: Open/close all the /dev/sg* files in sanei_scsi.c, dll.c or in a new backend. * sanei_usb, sanei_scsi: Print all data send to and received from devices. Use high debug level. * sanei_usb: - using only the first interface may be a problem with all-in-one devices - some scanners seem to provide more than one bulk-in endpoint(?) platform-specific ----------------- * SCSI access doesn't seem to work on Linux/Sparc. See emails from Tomislav Renic on sane-devel (2001-09-21). * Really fix all the parport/inb/outb compilation issues which break porting to some non-i386 platforms. * Find out why USB on *BSD only works once (at least for Mustek scanners). * Fix MacOS X issues: - Add support in sanei_scsi.c. - Find out why libusb doesn't work propperly. Seems to work with some scanners, however. - More docu in README.darwin. - sm3600 is reported to crash with MacOS X. Actually, the crash is in libusb::usb_find_devices(). * OS/2 issues: - configure creates 264 sh-thd-??????? files? - Add $EXEEXT or sed expression to Makefiles to get the .exe extension? - Add support for semaphores also for OS/2 (currently used in snapscan). misc ---- * sane-config: add options "--exec-prefix=...." and "--prefix=..." compareable to gtk-config * Make output of sane-find-scanner more flexible. See scanimage -f for details. * Check licence issues with getopt*.c and md5.c. These files are GPLed, so if they are used in backends, their SANE exception will be void. * Can we link external libraries only to backends that need them? See http://fz.eryx.net/sane/#configure. * Fix japi to run on current jdks. Swing is now included, and there is a segfault in Sane.c. * Remove backend-specific .po files when they are no longer needed.