Hi everyone, I'm considering writing a driver for the CanoScan 3000F.
That's really where the problems start. I know basic C/C++ (am 3rd year uni), but I've never worked with devices before, I don't know assembly language (so no disassembling for me, ATM anyway), and all in all really don't know where to start. AFAIK, there really isn't much info about the 3000F around. I've googled and gone through the sane-devel archives, and other than a 'is anyone writing one' there doesn't seem to be any mention of it. Because it's a Canon scanner, and from what I've read they're not very helpful as far as releasing information about their scanner goes, I'm assuming I'm going to have to go the USB snooping route. I've read the Contributing page, as well as the 'Developing drivers without documentation' page, but it really hasn't helped much. So I suppose what I'm really asking is some information on where to start. What should I be looking for in the snooping logs, how to I decipher them? How does scanner communication usually work, what kind of commands are common in communication with scanners and what do the commands actually do? Are these even the questions I should be asking? I don't expect people to answer these questions here, but links to pages with this kind of information would be helpful, as I can't seem to find anything in my searching (I'm probably just not searching for the right thing). I've saved a log of a single small scan, and it was 7800 lines long. Is this normal? I found out the endpoints from the logs -- 0x00 control 0x81 bulk/interrupt transfer in 0x02 buld/interrupt transfer out -- but that really is all I've been able to work out, other than that there seems to be a constant stream of control commands when there's no scanning taking place, which I'm assuming is the driver checking for button presses. Any help would be greatly appreciated. Regards, -- Ben -@ [email protected]
