[sane-devel] OS X Firewire support

Karl Heinz Kremer khk@khk.net
Sun, 17 Aug 2003 20:31:05 -0400


This really is cool stuff... It works even with "real" IEEE1394 EPSON  
scanners - that
is if you have the current CVS version of the backend. I tried it with  
an EPSON  GT-30000
scanner connected via IEEE-1394. The scanner gets correctly reported by
scanimage -L, and I did a number of successful scans.

Great job,

Karl Heinz


On Sunday, August 17, 2003, at 08:47 AM, Guy Brooker wrote:

> On 12/8/03 5:06 pm, "Martijn van Oosterhout" <kleptog@svana.org> wrote:
>
>> On Tue, Aug 12, 2003 at 03:46:45PM +0200, Guy Brooker wrote:
>>>
>>> Hi,
>>>
>>> I've almost completed testing of a patch to sane_scsi.c which  
>>> supports the
>>> IOKit SCSI Architecture Model API.
>>
>> Very cool stuff!
>>
>>
>> 1. Use diff to work out the differences between the base version and  
>> your
>> changes
>> 2. Or just post the code and how to make it work.
>>
>
> OK, a zip archive for the patch to 1.0.12 is available at
>
> http://homepage.mac.com/guy_brooker/.cv/guy_brooker/Public/Sane/sane- 
> backend
> s-1.0.12-osx.zip-link.zip
>
> It only modifies one file, sane-backends-1.0.12/sanei/sanei_scsi.c
>
> It still supports the previous implementation which uses the  
> deprecated SCSI
> Family IOKit API, so all being well it should not break anything that  
> has
> previously worked.
>
> I have added some #ifdefs which may allow it to be compiled when  
> either the
> old or new i/f are not available, but this has not been tested. To use  
> just
> the old API, compile with OSX_ONLY_10_1_API defined, and to use just  
> the new
> API, compile with OSX_ONLY_10_2_API defined. By default neither are  
> defined,
> and both APIs are used.
>
> The modifications should allow Firewire scanners, and SCSI scanners  
> plugged
> into a firewire-SCSI bridge (such as Orange Micro's) to work with sane  
> under
> Jaguar and future OS's.
>
> I have only been able to test it with my EPSON GT-7000 on my iMac.  
> Please
> could other interested parties give it a go and let me know if you  
> have any
> success ?
>
> scanimage -L works fine :
>
> % scanimage -L             device
> `epson:iokitscsi@<04502000001222af34a59175>' is a Epson GT-7000 flatbed
> scanner
>
> As does xsane (which I installed using fink)
>
> The only problem I have is that both these tools need dll.conf and
> epson.conf in the current working directory, they don't find the  
> version in
> the standard location for some reason. I'll look into that later, but I
> don't think it has anything to do with my changes.
>
> As you can see from above, the device name is made up, and I use the  
> text
> 'iokitscsi@<' followed by the SCSIUserClient GUID from the IO  
> Registry. That
> is the unique ID for the client, and allows me to refind the device  
> very
> quickly. The only problem is that the number will change after reboot,  
> or if
> the device is unplugged, and replugged into the firewire port.
>
> sane-find-scanner does not work, as it hard codes device names for each
> platform. Just use scanimage -L
>
> I am now thinking about implementing a TWAIN Data Source, but it seems  
> a
> huge job.... The windows ones don't seem to be much of a starting  
> point, but
> Apple provides some basic sample code that might get me started. If  
> anyone
> else has started on that, could you drop me a line ?
>
> Cheers,
> Guy
>
> _______________________________________________
> Sane-devel mailing list
> Sane-devel@www.mostang.com
> http://www.mostang.com/mailman/listinfo/sane-devel