Canon CanoScan Parallel Driver / News: Recent posts

New release.. egad!

I just added release 6.0. Enjoy. It's basically what's been in CVS for the last year, except not in CVS any more. Since leaving uni I haven't had much time to spend on this project, and also haven't had a scanner to test on. Oh well.

Posted by Matthew Duggan 2003-10-24

FB620P Now Supported

The CanoScan FB620P is now supported by the CVS code. If you have its brother, the FB320P, please also try out the CVS code, it _should_ work. Let me know.

Posted by Matthew Duggan 2002-08-28

New Standalone Release (4.2)

I have just uploaded stand-alone driver version 4.2. This works around a ppdev bug and also fixes a bug that existed on hardware with small buffers.

If you were having trouble with ppdev, please try this new release.

The changes have also gone into SANE CVS, but I probably won't release a patch.. If you want to patch sane 1.0.8, just checkout our CVS and copy canon_pp*.c from the src directory to the sane-backends-1.0.8/backends directory.

Posted by Matthew Duggan 2002-06-29

SANE Backend now in SANE CVS


You may have noticed that there's been a lot of releases of the SANE patch over the last few days. This has been in preparation for SANE inclusion. The backend is now in SANE CVS, which means it will probably be in the next release of SANE. For those who still want the most up to date bleeding-edge code, the sourceforge CVS will still contain more expermiental code, and we'll be adding it to SANE when we're happy that a new feature or change is working properly... read more

Posted by Matthew Duggan 2002-04-03

New Standalone Releases (3.991 & 4) - UPDATED

You may notice not one, but two new releases!

Version 4 fixes a couple of problems that were occuring in 3.991, particularly in nibble mode. This was only released an hour after 3.991 since we found the bug! I'm leaving 3.991 up in case i broke something in 4 without noticing.

Why 3.991? Well we were still trying to fix a few things before version 4, and Simon backed himself into a corner by putting 3.99 on the web page. ... read more

Posted by Matthew Duggan 2002-02-13

Batting a ton! (new patch)

First I upload one that doesn't compile, then FlashFXP transfers in ascii mode and i don't notice. Sorry. If you've had trouble downloading the new patch, try it again and it should work

- Matthew

Posted by Matthew Duggan 2001-12-06

SANE 1.0.6 Patch Available

A minor patch revision has been posted, mostly to update for changes in new versions of libieee1284 and SANE 1.0.6. I'd be happy if someone tried this out :)
As always you'll need the lib:
and sane:

Unfortunately is down at the moment, but it should be back soon.

UPDATE 2: The patch is back up. PLEASE let me know if you have any problems. I have tested it, but I can't be 100% sure.

Posted by Matthew Duggan 2001-12-02

What You Need For This To Work

Okay, I had a more detailed look into the problems people were having. It boils down to the routines built into libieee1284 are dodgy and need to be redone by someone. In short, If your kernel doesn't have ppdev, you won't be able to use the latest version at all, even if you use root.

You can turn ppdev on by answering "Y" or "M" to the kernel option "Support for user-space parallel-port device drivers" under Character Devices and "IEEE 1284 Transfer Modes" under Parallel Port Support. ... read more

Posted by Simon Krix 2001-09-05

Trouble Getting It To Work?

A couple of people have emailed me regarding the newer drivers (stable-3 and the SANE backend) with bad, bad bugs. Basically what it boils down to is that I changed the IO system over from my half-guessing, crazy version of IEEE to libieee1284. It works on my machine just fine. So, what I'm asking for is for those people who find that the driver doesn't work _at all_ to email me, tell me what kernel version you're running, tell me which modules you have loaded, tell me what type of parallel port you have and what it's set to in the bios, and tell me what you get when you run it.
And if anyone out there has found out how to solve the problem, give me an email for Pete's sake! I still have no idea what the cause is.
Thanks. -Simon

Posted by Simon Krix 2001-08-16

SANE backend RC

Am I allowed to say RC without being called an MS weenie? ohwell. If I can ever get sourceforge to show the freaking file, then there'll be a new version of the SANE patch, and it will rock.

- Matthew

Posted by Matthew Duggan 2001-08-12

Notes on patching (updated)


If you're having trouble applying the patch, try this:
1. untar a fresh sane-backends
2. ungzip the patch file and move it into the sane-backends-1.0.5 directory
3. in that directory do:
patch -Np1 -i sane-backends-1.0.5-canon-parallel.patch
4. run autoconf
5. configure; make; make install

UPDATE: Argh! it was busted. Should work now.

- Matthew

Posted by Matthew Duggan 2001-08-11

Update: ECP Mode

Stauff's not 100% correct about you having to be root to use the SANE backend. If you have a 2.4 kernel, you can run it as a user courtesy of libieee1284 (I haven't even tried it on 2.2). But the calibration file in /etc has to be user-readable. Just a little bit of news to report: I just a minute ago scanned the first ever ECP-mode image. For a 400x400 image the scan took 13 seconds (as opposed to 33 seconds for nibble mode) and took a lot less CPU time. Once again you can thank Tim Waugh and libieee1284 for that, his library is the dog's. ECP-mode support will go into CVS soon and once the driver's stable again it'll get released.

Posted by Simon Krix 2001-08-09


Well, I know you're all keen to get it, so here it is. The patch for the sane backends 1.0.5 package. If it doesn't work for you, let me know. We know there are a few bugs left, but please send us bug reports! Don't assume that we've noticed something, because we probably haven't. At the moment it needs to be run as root and don't forget to hit that "calibrate" button at least once. email me if you have any probs, enjoy!
- stauff

Posted by Matthew Duggan 2001-08-07

Downloading Is Fun

Sorry, I forgot to post news to explicitly state, but you can happily download and use the file that's currently posted. 0.1.0 isn't broken, just download it and use it. I've noticed people are still downloading the older one (0.0.1) but honestly, the other one should be better.
Is anyone having any problems with the driver? If you're having any errors, please do email me the driver's output. So far one person has been having rather extreme speed issues, so if you've got a similar problem, email me. Go on, do it. We both know you want to.

Posted by Simon Krix 2001-07-22

SANE backend - Update

Man, how much do we rock?
I'm happy to report that the sane backend now even produces output. That's pretty impressive we reckon. Still plenty of bugs to be ironed out, but it's only a bit of work away from being usable.
- MD

Posted by Matthew Duggan 2001-07-19

SANE backend

Gday.. You may be interested in how the SANE backend is going. Since simon pleaded for me to post something here it is:
init, get_devices, open, get_option_descriptor, control_option: 100% (i think..)
start, close, read, exit, cancel: 50%ish
ok.. that probably makes no sense to anyone except sane developers, but the point is that it's getting there. More news when we have something that actually works! (MD)

Posted by Matthew Duggan 2001-07-17


Ooops, I forgot to mention that the new code release doesn't work properly yet, and that no one should use it. Sorry! (Hey, I've been under stress today).
I'll get back to you when it's cooked.

Posted by Simon Krix 2001-07-16

New Package Release

Yep, it's the 0.1.0 tree from CVS back to hit you all some more. Best thing about it: You don't need to be root if you're on kernel 2.4, thanks to libieee1284. Worst thing about it: You now need to have libieee1284 installed. I tried to get sourceforge to publish the file but I couldn't work out their crazy forms, so here it is:

Why am I the only one who ever posts news? Come on Matt, surely you have something worth reporting now. I know you do.

Posted by Simon Krix 2001-07-16

From Slimy Chode to Shiny Code!

0.1.0 in CVS is now lookin' good. It needs pixel gain offset correction though, before it'll be better than the one that's up for download. That's a simple one day job, and won't break other people's code to add (cough. sorry about that, stauff). I probably should have given it a better name, in retrospect. It's more of a 0.1.2-ish kind of a thing now...

Anyway, back to bed for me, and I won't be back on here until next Saturday - email me all you like, it won't do any damn good because I'll be on a farm.... read more

Posted by Simon Krix 2001-07-07

Not dead

See the thing about this scanner is... it's glued shut. And the thing about the lm9830 chip is that it's meant to act a whole lot differently than the scanner does. I've read the datasheet numerous times, and the scannre frankly contradicts it. I'll probably send Canon a letter (since they live in caves with no email access) and ask them if they could tell me what's inside the scanner. That couldn't hurt, could it? The other alternative is to follow Simon Heywood's example and bust out the kung-fu on someone's scanner and see for outselves what chips are in there. That's the option I'm hoping to avoid since I only have just the one scanner.
In other news the rewrite is coming right along and no mistake. The scanny part is all written, I just have to actually make it process and save the image now. Then a bit more rewriting to get things looking polished and we'll have a driver which is exactly the same - but better somehow. No, actually it'll be better in that it'll be piss-easy to add ECP support (I bet you a Coke) after it's done. Oh yeah, the SANE backend thing should happen around the same time. If someone gets off their backend. How's this for a deal, I'll do ECP/EPP (or whatever's reasonably fast) mode if someone else does the sane driver?... read more

Posted by Simon Krix 2001-07-03

First alpha release - completely working-ish!

Yes, after an arduous 2 months or so, this driver is now very working indeed (especially compared to when it wasn' working at all), and ready to be unleased in tar.gz format! You can get it from
DO NOT forget to read the README file as it contains information that will save your life. shows an actual completely unmodified scan done on my FB330P at 75dpi. Absolutely brilliant, as Vivian would say.

Posted by Simon Krix 2001-05-25

Lots of new stuff

New stuff in the driver now:
* Works on 330p and 630p
* Scans in 600, 300, 150 or 75dpi
* Colours are right sometimes. I think if you do a calibrate, and then scan, the colours come out properly.
* Pixel weighting works at the scanner's native resolution (otherwise it does more harm than good)

Posted by Simon Krix 2001-05-25

Initial calibration support

Right, I spent all day working on calibration, starting with protocol dumps in the morning, discussing possible interpretations with Kevin and Matt in the afternoon, and ending with a complete, working implementation (it does *something*) at the end of a long day. Good news for anyone with one of these scanners, because that's the last thing we had to figure out, really.... Except for green being way darker than the other colours... but er, anyway, the driver works fine now, and we'll start tidying it up and seeing if we can't get some SANE backend things happening soon. -Very Tired Simon

Posted by Simon Krix 2001-05-21

Targa Saving

scan10x10-2.c now saves in .tga format instead of the scanner's weird 10-bit internal format. The levels (especially green) are still wrong, so it'll still look crazy.

Made a few code cleanups here and there too.

Posted by Simon Krix 2001-05-17

Greyscale scans now useful

I got around to putting in the command-line stuff. Greyscale scanning is more or less perfect in 75 or 300dpi. Other new things: dodgy faked gamma correction makes colour pictures better on my scanner. It probably won't work for anyone else.

Posted by Simon Krix 2001-05-13