[sane-devel] Colorado USB 19200

Bertrik Sikken bertrik@zonnet.nl
Sat, 18 Jun 2005 18:25:31 +0200


Ulrich Van Den Hekke wrote:
> Hello,
> 
> I have a Colorado USB 19200 scanner.
> I find a driver but for an old kernel in page : http://viceo.orcon.net.nz/
> 
> I would like to update him to work with kernel 2.6 and libusb.
> But i don't know how begin.
> 
> Where can i find documentation to write driver for my scanner ?

I think the first thing to do is to contact the maintainer of the
viceo backend and ask him if he can update the backend.

In order to convert the backend from using a kernel interface into
using libusb, you need to look at the functions provided by
include/sane/sanei_usb.h. You should be able to replace all
open/read/write/ioctl/close references by a suitable function
from sanei_usb.h

Typical conversions are:
open -> sanei_usb_open
ioctl -> sanei_usb_control_msg (for IOCTL_READ_REGISTERS and
IOCTL_WRITE_REGISTERS ioctls anyway)
read -> sanei_usb_read_bulk
write -> sanei_usb_write_bulk
close -> sanei_usb_close

You can probably get the arguments for the sanei_usb_control_msg
function from the old kernel patch.

Also you may need to update the mechanism for detection of a
scanner. For example, you can use function sanei_usb_find_devices
to receive call-backs for every device supported by your backend.

Good luck,
Bertrik