Folks, I've got a Brother MFC 6800 multi-function printer/scanner/fax and plan to do some work on the scanning backend of sane. I already got information from Dmitri Katchalov, who has done a lot of work to decipher the proprietary protocol.
I have one question (so far): The USB device provides three interfaces. The first one is the printer and the second one is the scanner. However, I'm having problems with sane even looking at the device. Perhaps I'm misreading the code, but it seems that there are a few problems for this device. First, in sanei_usb_init(), the part that enumerates USB devices with libusb only looks at the first interface, which in the case of this device is the printer (class 7, USB_CLASS_PRINTER), whereas the scanner is on interface 2 and is class 0xff (USB_CLASS_VENDOR_SPECIFIC). Perhaps sane could enumerate the interfaces and test each one? Second, kernel_get_vendor_product() is unable to get the Vendor and Product ids. The calls to ioctl() all fail. So even if I create a link in /dev/usb/scanner (or whatever), I can't get it identified. Any ideas? Another question: is there any consumer-oriented multi-function printer/scanner/fax that is supported by sane? Fernando
