Hardware: UMAX Astra 1220S, PowerMac G4 tower with Apple's SCSI card
Software: OS X 10.3.9, Image Capture (part of OS X)
My mother has my old scanner, a UMAX Astra 1220S (I don't plan on buying another UMAX given their non-support of OS X, and I'm happy with my HP ScanJet 5470C). I wanted her scanner to work in OS X so she doesn't have to boot to OS 9 anymore. (For a while, she said scans were working under Classic, but now they're not. It's not a problem I want to troubleshoot. Plus she'd rather use OS X exclusively too!)
My first attempt was dig around until I found a copy of MagicScan 5.1 for OS X. It's not supposed to work with low-end scanners (although the pre-X version does!), and it's not supposed to work with anything newer than OS X 10.2.6. Well, I thought I'd try anyway, but it failed because I didn't have a supported scanner (well, not officially, but I used to use MagicScan!). So I used HexEdit to change "PowerLook 2100XL" to "Astra 1220S" just in case, but then it said
Application Launch Failure
The application "MagicScan" could not be launched because of a shared library error: "<magicscan><><><>"
so that trick didn't work either. On to the second attempt!
I went to Mac OS X Hints and found a tip that worked! I downloaded OS X TWAIN SANE software. I installed the binary packages for libusb 0.1.12, SANE backend 1.0.17-cvs 2006-02-07, TWAIN SANE interface 1.7, and SANE Preference Pane 0.4 in that order. Then I rebooted because this SCSI scanner has to be on when the computer boots, or it's not seen.
I opened SANE in System Preferences after the reboot to configure it. I disabled all of the drivers except umax because that driver supports my scanner, and then I hit the Configure button. I made the UMAX configuration look like this:
# Options for the umax backend
# define scsi queueing depth
option scsi-maxqueue 2
# define scsi buffer size in bytes
option scsi-buffer-size-min 65536
option scsi-buffer-size-max 262144
# define scan lines that shall be read in one block
option scan-lines 100
option preview-lines 20
# define how to handle bad sense codes
# 0 = handle as device busy
# 1 = handle as ok
# 2 = handle as i/o error
# 3 = ignore bad error code - continue sense handler,
option handle-bad-sense-error 0
# define if a request sense command shall be executed
option execute-request-sense 0
# define if the preview bit shall be set when scanning in rgb mode
#option force-preview-bit-rgb 0
# define if slow speed flag shall be set
# BE CAREFUL WITH THIS OPTION, IT MAY DESTROY YOUR SCANNER WHEN SET FALSE
# -1 = automatically set by driver - if known
# 0 = disabled
# 1 = enabled
#option slow-speed 0
# define if care-about-smeraring flag shall be set
# BE CAREFUL WITH THIS OPTION, IT MAY DESTROY YOUR SCANNER WHEN SET FALSE
# -1 = automatically set by driver - if known
# 0 = disabled
# 1 = enabled
#option care-about-smearing 0
# define if the calibration shall be done for selected scanarea or for each ccd pixel
# -1 = automatically set by driver - if known
# 0 = disabled
# 1 = enabled
#option calibration-full-ccd 1
# define if an offset of the calculate calibration with has to be used
# -99999 = auto
#option calibration-width-offset -99999
# define the number of pixels that is used for calibration
# -1 = disabled
# 0 = not set
# 1 = 1 byte/pixel,
# 2 = 2 bytes/pixel
#option calibration-bytes-pixel -1
# define if scanner uses the same exposure times for red, green and blue
# -1 = automatically set by driver - if known
# 0 = disabled (own selection for red, green and blue)
# 1 = enabled (same values for red, green and blue)
#options exposure-time-rgb-bind 0
# define if shading data shall be inverted befor sending it back to the scanner
# -1 = automatically set by driver - if known
# 0 = disabled
# 1 = enabled
#option invert-shading-data 0
# define if the scanner supports lamp control commands
# 0 = automatically set by driver - if known
# 1 = enabled
#option lamp-control-available 0
# define how 16 bit gamma data is padded
# -1 = automatically set by driver - if known
# 0 = gamma data is msb padded
# 1 = gamma data is lsb padded
#option gamma-lsb-padded 0
# define connection type of following devices
# 1 = scsi
# 2 = usb
option connection-type 1
# linux device identification:
#scsi vendor model type bus channel id lun
scsi UMAX * Scanner * * 4 1
#scsi UMAX * Scanner
#scsi LinoHell JADE
#scsi LinoHell Office
#scsi LinoHell Office2
#scsi LinoHell SAPHIR2
#scsi LinoHell SAPHIR3
#scsi Linotype SAPHIR4
#scsi LinoHell OPAL2
#scsi HDM LS4H1S
#scsi Nikon AX-110
#scsi Nikon AX-210
#scsi KYE ColorPage-HR5
#scsi EPSON Perfection600
#scsi ESCORT "Galleria 600S"
#scsi TriGem PowerScanII
# Umax Astra 2200 via USB:
# usb vendor product
#usb 0x1606 0x0230
# scsi device list
option connection-type 1
/dev/scanner
# usb device list
#option connection-type 2
#/dev/usbscanner
I uncommented lines that seemed to apply, and I commented out the USB lines that don't apply to a SCSI scanner.
I have this scanner set to SCSI ID 4 using the dial on the back by the power plug. In Apple System Profiler, it shows up at 4 on every possible LUN! I vaguely remember from SCSIprobe in pre-OS-X days that the external bus on this card was LUN 1, so that's why I added the line scsi UMAX * Scanner * * 4 1 so the SANE software wouldn't get confused. Do the right thing for your SCSI!
Then, following the directions, I ran sane-find-scanner that saw the Astra on 8 LUNs and my sleeping ScanJet. Next I tried scanimage -L and saw more about the Astra.
So finally it was time to launch Image Capture and scan a page. Hey! It works!
No comments:
Post a Comment