plustek: Color Problem with Primax 4800 Direkt under Suse 8.0
Subject:
Color Problem with Primax 4800 Direkt under Suse 8.0
From:
Michael Graf ####@####.####
Date:
27 Oct 2002 21:12:45 -0000
Message-Id: <1035752935.1840.26.camel@linux>
Hi there,
I have a Primax 4800 direct scanner, which could not scan colors
proberly. The picture colors seemd to be inverted or scaned under a
rainbow glass pane. Additonaly pictures are not "in a row" displayed and
sometimes pieces are mixed or telescoped. On the other hand can I scan
"gray" really good.
My hardware:
XP 1600
elitegroup mainboard
Creative Savage 4 Graphics Card
Software:
Suse 8.0
plustek_module_0_41_5
sane from distri v. 1.0.7-59
xsane form distri v. 0.83-123
Outputs form a few bash commands:
>lsmod
Module Size Used by Not tainted
pt_drv 135392 0 (autoclean)
ipt_TCPMSS 2368 1 (autoclean)
ipt_TOS 1024 11 (autoclean)
ipt_state 608 60 (autoclean)
ipt_LOG 3168 75 (autoclean)
ip_nat_ftp 2944 0 (unused)
ip_conntrack_ftp 3200 0 (unused)
pppoe 6752 1 (autoclean)
pppox 1064 1 (autoclean) [pppoe]
af_packet 11528 1 (autoclean)
snd-pcm-oss 45152 0 (autoclean)
snd-mixer-oss 11136 1 (autoclean)
parport_pc 25448 2 (autoclean)
lp 5824 0 (autoclean)
parport 21856 2 (autoclean) [pt_drv parport_pc lp]
snd-es1938 13988 1
gameport 1324 0 [snd-es1938]
snd-pcm 58528 0 [snd-pcm-oss snd-es1938]
ipv6 123424 -1 (autoclean)
snd-opl3-lib 6592 0 [snd-es1938]
snd-hwdep 4736 0 [snd-opl3-lib]
snd-timer 11456 0 [snd-pcm snd-opl3-lib]
snd-mpu401-uart 3504 0 [snd-es1938]
snd-rawmidi 13536 0 [snd-mpu401-uart]
snd-seq-device 4336 0 [snd-opl3-lib snd-rawmidi]
snd 31720 0 [snd-pcm-oss snd-mixer-oss snd-es1938
snd-pcm snd-opl3-lib snd-hwdep snd-timer snd-mpu401-uart snd-rawmidi
snd-seq-device]
soundcore 3268 6 [snd]
isa-pnp 27816 0 (unused)
joydev 5728 0 (unused)
evdev 3904 0 (unused)
input 3072 0 [joydev evdev]
st 25844 0 (autoclean) (unused)
sg 23620 0 (autoclean)
usb-ohci 18880 0 (unused)
usbcore 55136 1 [usb-ohci]
ppp_generic 14984 3 (autoclean) [pppoe pppox]
slhc 4432 0 (autoclean) [ppp_generic]
8139too 13504 1
mii 1040 0 [8139too]
sis900 11972 1
ipt_REJECT 2752 3 (autoclean)
iptable_mangle 2144 1 (autoclean)
iptable_nat 12756 1 (autoclean) [ip_nat_ftp]
ip_conntrack 12652 3 (autoclean) [ipt_state ip_nat_ftp
ip_conntrack_ftp iptable_nat]
iptable_filter 1728 1 (autoclean)
ip_tables 10400 10 [ipt_TCPMSS ipt_TOS ipt_state ipt_LOG
ipt_REJECT iptable_mangle iptable_nat iptable_filter]
nls_iso8859-1 2880 3 (autoclean)
nls_cp437 4384 3 (autoclean)
vfat 9244 3 (autoclean)
fat 28984 0 (autoclean) [vfat]
ide-scsi 7648 0
reiserfs 158816 1
>cat /proc/pt_drv/device0/info
Model : 4800P
Portaddress : 0x378
Portmode : EPP (fast I/O, forced)
Buttons : 0
Warmuptime : 20s
Lamp timeout: 160s
mov-switch : 2
I/O-delay : 0
CCD-Type : SONY Type
TPA : no
>scanimage --version
scanimage (sane-backends) 1.0.7; backend version 1.0.7
>dmesg
Lamp-Timer stopped!
Init settings done
Using fast I/O
ptdrvOpen(port=0x378)
Try to claim the parport
parport-modi: SPP PS/2 EPP EPP(ECP) PS/2(ECP)
Use of EPP-mode enforced
Starting Scanner-detection (ASIC 96001/3)
************ DETECTP48xx ************
ModelSet4800()
modelInitPageSettings()
A4 set
ModelSet4800() done.
P48xxInitAsic()
DacInitialize()
ImageInitialize()
IOFuncInitialize()
IOInitialize()
MotorInitialize()
Dataport = 0x0378
Ctrlport = 0x037a
Test 0x55
Test 0xAA
Compare data=0x87 and status=0x7, port=0x378
p48xxReadWriteTest()
Found a 96001 ASIC at Reg 0x13
ModelSet4800()
modelInitPageSettings()
A4 set
ModelSet4800() done.
p48xxCheck4800Memory()
Putting Scanner (ASIC 96001/3) into Idle-Mode
detectScannerConnection() returns 0.
p48xxSetupScannerVariables()
No ASIC 97003 found.
Status-Register = 0x07
Scanner has Micro Stepping drive
CCD is SONY Type
*** setupBuffers ***
Driverbuf(83240 bytes) needed !
pColorRunTab = 0xd284c200 - 0xd284e528
*** DETECTION DONE, result: 0 ***
ioctl(_PTDRV_ADJUST)
Adjusting device 0
warmup: -1
lampOff: -1
lampOffOnEnd: -1
ioctl(_PTDRV_GET_CAPABILITES)
ioctl(_PTDRV_GET_LENSINFO)
ioctl(_PTDRV_STOP_SCAN)
Waiting for Sensor to be back in position
- done !
pt_drv_close()
ptdrvClose()
*** cleanup buffers ***
MiscRestorePort()
- no need to restore portmode !
Releasing parport
pt_drv_open()
ioctl(_PTDRV_OPEN_DEVICE)
Lamp-Timer stopped!
Init settings done
Using fast I/O
ptdrvOpen(port=0x378)
Try to claim the parport
parport-modi: SPP PS/2 EPP EPP(ECP) PS/2(ECP)
Use of EPP-mode enforced
Starting Scanner-detection (ASIC 96001/3)
************ DETECTP48xx ************
ModelSet4800()
modelInitPageSettings()
A4 set
ModelSet4800() done.
P48xxInitAsic()
DacInitialize()
ImageInitialize()
IOFuncInitialize()
IOInitialize()
MotorInitialize()
Dataport = 0x0378
Ctrlport = 0x037a
Test 0x55
Test 0xAA
Compare data=0x87 and status=0x7, port=0x378
p48xxReadWriteTest()
Found a 96001 ASIC at Reg 0x13
ModelSet4800()
modelInitPageSettings()
A4 set
ModelSet4800() done.
p48xxCheck4800Memory()
Putting Scanner (ASIC 96001/3) into Idle-Mode
detectScannerConnection() returns 0.
p48xxSetupScannerVariables()
No ASIC 97003 found.
Status-Register = 0x07
Scanner has Micro Stepping drive
CCD is SONY Type
*** setupBuffers ***
Driverbuf(83240 bytes) needed !
pColorRunTab = 0xd284c200 - 0xd284e528
*** DETECTION DONE, result: 0 ***
ioctl(_PTDRV_ADJUST)
Adjusting device 0
warmup: -1
lampOff: -1
lampOffOnEnd: -1
ioctl(_PTDRV_GET_CAPABILITES)
ioctl(_PTDRV_GET_LENSINFO)
ioctl(_PTDRV_PUT_IMAGEINFO)
imageP96GetInfo()
xyPhyDpi.x = 50, xyPhyDpi.y = 50
crArea.x = 0, crArea.y = 0
crArea.cx = 1488, crArea.cy = 900
xyDpi.x = 50, xyDpi.y = 50
AppLinesPerArea = 150
AppPixelsPerLine = 248
AppPhyBytesPerLine = 744
AppBytesPerLine = 744
AsicPixelsPerPlane = 248
AsicBytesPerPlane = 248
AsicBytesPerLine = 248
Physical Bytes = 248
ioctl(_PTDRV_GET_CROPINFO)
ioctl(_PTDRV_SET_ENV)
imageSetupP96ScanSettings()
imageP96GetInfo()
xyPhyDpi.x = 50, xyPhyDpi.y = 50
crArea.x = 0, crArea.y = 0
crArea.cx = 1488, crArea.cy = 900
xyDpi.x = 50, xyDpi.y = 50
AppLinesPerArea = 150
AppPixelsPerLine = 248
AppPhyBytesPerLine = 744
AppBytesPerLine = 744
AsicPixelsPerPlane = 248
AsicBytesPerPlane = 248
AsicBytesPerLine = 744
Physical Bytes = 248
brightness = 0 -> 0
contrast*100 = 0 -> 100
MapSetupDither() - 3
ioctl(_PTDRV_START_SCAN)
Using SAME Lamp !
PtDrvRead(111600 bytes)*****************
MonoBuf = 0xce301400[744], scaleBuf = 0x0
Waiting for Sensor to be back in position
- done !
No warm-up needed
p48xxCalibration()
dacP96001WaitForShading()
motorP96GotoShadingPosition()
dacP96001WaitForShading()
motorP96GotoShadingPosition()
p48xxSetupScanningCondition()
wLinesPer64kTime = 880
ioP96InitialSetCurrentSpeed()
Initially set to 1
Current Speed = 1
Current Speed = 1
MinReadFifo = 1
RD_ModeControl = 0x00
RD_MotorControl = 0x0f
RD_ScanControl = 0x17
RD_Dpi = 50
RD_Pixels = 248
motorP96SetupRunTable()
wLengthY = 3572, wP96BaseDpi = 300
dwAppLinesPerArea = 150
dwAppBytesPerLine = 744
dwLinesToRead = 150
ioctl(_PTDRV_STOP_SCAN)
Waiting for Sensor to be back in position
- done !
ioctl(_PTDRV_CLOSE_DEVICE)
*** cleanup buffers ***
Putting Scanner (ASIC 96001/3) into Idle-Mode
Lamp-Timer started!
pt_drv_close()
ptdrvClose()
MiscRestorePort()
- no need to restore portmode !
Releasing parport
It would be fine, if somebody knows a solution.
mfg
Miguel Graf