• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Solved] Scannen am Parallelport nur als Root

BastiL

Newbie
Hallo,

habe folgendes Problem: Kann meinen Scanner nur als root ansprechen:

Code:
bash-2.05b# export SANE_DEBUG_DLL=255 ; scanimage -L
[sanei_debug] Setting debug level of dll to 255.
[dll] sane_init: SANE dll backend version 1.0.10 from sane-backends 1.0.14
[dll] sane_init: reading dll.conf
[dll] add_backend: adding backend `plustek_pp'
[dll] sane_get_devices
[dll] load: searching backend `plustek_pp' in `/usr/lib/sane'
[dll] load: trying to load `/usr/lib/sane/libsane-plustek_pp.so.1'
[dll] load: dlopen()ing `/usr/lib/sane/libsane-plustek_pp.so.1'
[dll] init: initializing backend `plustek_pp'
[dll] init: backend `plustek_pp' is version 1.0.0
[dll] sane_get_devices: found 1 devices
device `plustek_pp:parport0' is a Plustek 9636T/12000T parallel port flatbed scanner
[dll] sane_exit: exiting
[dll] sane_exit: calling backend `plustek_pp's exit function
[dll] sane_exit: finished
Als normaler User:
Code:
bash-2.05b$ export SANE_DEBUG_DLL=255 ; scanimage -L
[sanei_debug] Setting debug level of dll to 255.
[dll] sane_init: SANE dll backend version 1.0.10 from sane-backends 1.0.14
[dll] sane_init: reading dll.conf
[dll] add_backend: adding backend `plustek_pp'
[dll] sane_get_devices
[dll] load: searching backend `plustek_pp' in `/usr/lib/sane'
[dll] load: trying to load `/usr/lib/sane/libsane-plustek_pp.so.1'
[dll] load: dlopen()ing `/usr/lib/sane/libsane-plustek_pp.so.1'
[dll] init: initializing backend `plustek_pp'
[sanei_debug] Setting debug level of plustek_pp to 20.
[sanei_debug] Setting debug level of sanei_pp to 20.
[sanei_pp] pp_init: called for the first time
[sanei_pp] pp_init: initializing libieee1284
[sanei_pp] pp_init: 1 ports reported by IEEE 1284 library
[sanei_pp] pp_init: port 0 is `parport0`
[sanei_pp] pp_init: initialized successfully
[sanei_pp] pp_calibrate_delay: Delay expected: 1000, real 1830, pp_thresh=0
[plustek_pp] PlustekPP backend V0.01-8, part of sane-backends 1.0.14
[plustek_pp] ># Plustek-PP SANE Backend configuration file<
[plustek_pp] ># For use with Plustek parallel-port scanners<
[plustek_pp] >#<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># user either [direct] or [kernel] to access the scanner<
[plustek_pp] ># when using [kernel], device specifies the device-node, which is created<
[plustek_pp] ># by the kernel-module loader (applies only to Linux)<
[plustek_pp] ># when using [direct], device is used to set the parallel-port base address<
[plustek_pp] ># or a device-name suitable for libieee1284, i.e. parport0<
[plustek_pp] >#<
[plustek_pp] >#[direct]<
[plustek_pp] >#device 0x378<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># leave the default values as specified in /etc/modules.conf<
[plustek_pp] >#<
[plustek_pp] >#option warmup    -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff   -1<
[plustek_pp] ><
[plustek_pp] ># model override switch, mostly for cosmetic changes, if the autodetection<
[plustek_pp] ># does not work or could not work correctly<
[plustek_pp] >#option mov 7<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via libieee1284<
[plustek_pp] >#<
[plustek_pp] >[direct]<
[plustek_pp] >device parport0<
[plustek_pp] Decoding device name >parport0<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via the kernel module<
[plustek_pp] >#<
[plustek_pp] >#[kernel]<
[plustek_pp] >#device /dev/pt_drv<
[plustek_pp] >#<
[plustek_pp] >#option warmup    -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff   -1<
[plustek_pp] attach (parport0, 0xbfffc1d0, (nil))
[plustek_pp] Device configuration:
[plustek_pp] device name   : >parport0<
[plustek_pp] direct I/O    : yes
[plustek_pp] warmup        : -1s
[plustek_pp] lampOff       : -1
[plustek_pp] lampOffOnEnd  : yes
[plustek_pp] model override: 0
[plustek_pp] ---------------------
[plustek_pp] drvopen()
[sanei_pp] sanei_pp_open: called for device 'parport0'
[sanei_pp] pp_open: trying to attach dev `parport0`
[sanei_pp] pp_open: looking up port in list
[sanei_pp] pp_open: checking >parport0<
[sanei_pp] pp_open: port is in list at port[0]
[sanei_pp] pp_open: opening device
[sanei_pp] pp_open: could not open device `parport0` (Error initializing port)
[sanei_pp] sanei_pp_open: connection failed
[plustek_pp] open: PtDrvInit failed: 11
[plustek_pp] open failed: -1
[dll] init: backend `plustek_pp' is version 1.0.0
[plustek_pp] sane_get_devices (0xbfffe298, 0)
[dll] sane_get_devices: found 0 devices

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
[dll] sane_exit: exiting
[dll] sane_exit: calling backend `plustek_pp's exit function
[plustek_pp] sane_exit
[dll] sane_exit: finished
Habe dann nach /dev/parport0 gesucht, aber ich habe nur /dev/printers/0. Deshalb habe ich auf einen Tipp auf einer Homepage hin mit
Code:
mknod /dev/parport0 c 99 0
ein /dev/parport0 erstellt. Die Rechte für beide sind "666". An der Fehlermeldung für den normalen User ändert das aber leider nix... :( Hat jemand von euch eine Idee?
 
Hmmm, schwierig. Hat SuSE unter 9.2 die libieee auch gegen den
resmngr gelinkt?

Was gibt Dir folgendes zurück:
Code:
ldd /usr/lib/libieee1284.so

Grüsse
Gerhard
 
OP
B

BastiL

Newbie
Hallo Gerhard,

sorry für die späte Antwort. Hatte über Weihnachen und Neujahr andere Verpflichtungen.

scanner_freak schrieb:
Hmmm, schwierig. Hat SuSE unter 9.2 die libieee auch gegen den
resmngr gelinkt? Ich habe keine SuSe sondern Gentoo.

Was gibt Dir folgendes zurück:
Code:
ldd /usr/lib/libieee1284.so
bash-2.05b$ ldd /usr/lib/libieee1284.so
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/libc.so.6 (0x40020000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Grüsse Gerhard

Gruß Basti
 
Hi,

lass uns weitere Versuche machen.
Was bringt :?:

Code:
ls -l /proc/sys/dev/

Was :?:
Code:
ls -l /proc/sys/dev/parport/

Überprüfe die Rechte dort mal! Welche Module sind denn
geladen :?:

Gerhard
 
OP
B

BastiL

Newbie
bash-2.05b$ ls -l /proc/sys/dev/
insgesamt 0
dr-xr-xr-x 2 root root 0 27. Jan 16:30 cdrom
dr-xr-xr-x 4 root root 0 27. Jan 16:30 parport
dr-xr-xr-x 2 root root 0 27. Jan 16:30 scsi
bash-2.05b$ ls -l /proc/sys/dev/parport/
insgesamt 0
dr-xr-xr-x 2 root root 0 27. Jan 16:31 default
dr-xr-xr-x 3 root root 0 27. Jan 16:31 parport0
bash-2.05b$ lsmod
Module Size Used by
agpgart 27436 -
uhci_hcd 29240 -
nvidia 4819380 -
8139too 21128 -
ehci_hcd 26188 -
usbhid 22504 -
ohci_hcd 18924 -
orinoco_cs 6992 -
orinoco 42580 -
hermes 7272 -
ds 13420 -
yenta_socket 17928 -
pcmcia_core 58916 -
usbcore 104164 -
thermal 10136 -
processor 14144 -
fan 2676 -
button 4512 -
battery 7572 -
ac 3156 -
 
Hmmm,

wenn ich mir lsmod so anschaue, dann fehlen auf jeden Fall
folgende Einträge:

parport_pc und parport

Es sei denn, Du hast den Parallelport Support im Kernel drin!
Das mit dem mknod war okay - soweit.
Für die parport_pc Moduloptionen solltest Du folgendes wählen:
options parport_pc io=0x378 irq=none
(Natürlich nur, wenn der Port auch auf 0x378 sitzt)...

Überprüfe das doch mal.

Grüsse
Gerhard
 
OP
B

BastiL

Newbie
scanner_freak schrieb:
Hmmm,

parport_pc und parport
Habe ich fest im Kernel
Für die parport_pc Moduloptionen solltest Du folgendes wählen:
options parport_pc io=0x378 irq=none

(Natürlich nur, wenn der Port auch auf 0x378 sitzt)...

Überprüfe das doch mal.
Wie übergebe ich diese Option? Muss ich das auch, wo ich den Support fest im Kernel habe? Woher weiss ich, wo mein Port sitzt? Nochmal der Hinweis: Als root läuft alles klaglos, muss keine Module nachladen nichts, ging sogar schon bevor ich parport0 estellt hatte.
 
BastiL schrieb:
Wie übergebe ich diese Option? Muss ich das auch, wo ich den Support fest im Kernel habe? Woher weiss ich, wo mein Port sitzt? Nochmal der Hinweis: Als root läuft alles klaglos, muss keine Module nachladen nichts, ging sogar schon bevor ich parport0 estellt hatte.

Ah je, hab ich übersehen. Du hast natürlich recht, wenn das
alles als root geht, dann existiert der Support ja generell.
In Deinem ersten Postung, hast Du die Debugausgaben für
sanei_pp und plustek_pp gesetzt (beim User) könntest Du das
für den Root-User, also den "Gut-Fall" auch mal tun. Mich würde
interessieren, welcher Port genommen wird.

Grüsse
Gerhard
 
OP
B

BastiL

Newbie
scanner_freak schrieb:
In Deinem ersten Postung, hast Du die Debugausgaben für
sanei_pp und plustek_pp gesetzt (beim User) könntest Du das
für den Root-User, also den "Gut-Fall" auch mal tun. Mich würde
interessieren, welcher Port genommen wird.
Grüsse
Gerhard

Das findest du auch in meinem ersten Posting: parport0 wird genommen. Die Ausgaben für root und normaler user im ersten Posting sind mit identischem Kommando erstellt, was du jetzt mit Debugausgaben meinst ist mir unklar.
 
BastiL schrieb:
...
Das findest du auch in meinem ersten Posting: parport0 wird genommen. Die Ausgaben für root und normaler user im ersten Posting sind mit identischem Kommando erstellt, was du jetzt mit Debugausgaben meinst ist mir unklar.

Nein eben nicht. Debugausgaben sind die Textausgaben, die Du
in Dein erstes Posting gestellt hast. Der Unterschied liegt darin,
dass Du beim Normaluser zusätzlich
Code:
export SANE_DEBUG_PLUSTEK_PP=20
export SANE_DEBUG_SANEI_PP=20
gesetzt hast (sieht man auch an den Ausgaben ;)
Dass parport0 genommen wird, sehe ich auch, wie die Lib allerdings
dazu kommt nicht - das sehe ich nur in den Ausgaben für den
User. Könntest Du das bitte nochmals für den root User nachholen.

Grüsse
Gerhard
 
OP
B

BastiL

Newbie
Hier die Ausgabe:

bash-2.05b# export SANE_DEBUG_PLUSTEK_PP=20
bash-2.05b# export SANE_DEBUG_SANEI_PP=20
bash-2.05b# export SANE_DEBUG_DLL=255 ; scanimage -L
[sanei_debug] Setting debug level of dll to 255.
[dll] sane_init: SANE dll backend version 1.0.10 from sane-backends 1.0.14
[dll] sane_init: reading dll.conf
[dll] add_backend: adding backend `plustek_pp'
[dll] sane_get_devices
[dll] load: searching backend `plustek_pp' in `/usr/lib/sane'
[dll] load: trying to load `/usr/lib/sane/libsane-plustek_pp.so.1'
[dll] load: dlopen()ing `/usr/lib/sane/libsane-plustek_pp.so.1'
[dll] init: initializing backend `plustek_pp'
[sanei_debug] Setting debug level of plustek_pp to 20.
[sanei_debug] Setting debug level of sanei_pp to 20.
[sanei_pp] pp_init: called for the first time
[sanei_pp] pp_init: initializing libieee1284
[sanei_pp] pp_init: 1 ports reported by IEEE 1284 library
[sanei_pp] pp_init: port 0 is `parport0`
[sanei_pp] pp_init: initialized successfully
[sanei_pp] pp_calibrate_delay: Delay expected: 1000, real 18422, pp_thresh=31
[plustek_pp] PlustekPP backend V0.01-8, part of sane-backends 1.0.14
[plustek_pp] ># Plustek-PP SANE Backend configuration file<
[plustek_pp] ># For use with Plustek parallel-port scanners<
[plustek_pp] >#<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># user either [direct] or [kernel] to access the scanner<
[plustek_pp] ># when using [kernel], device specifies the device-node, which iscreated<
[plustek_pp] ># by the kernel-module loader (applies only to Linux)<
[plustek_pp] ># when using [direct], device is used to set the parallel-port base address<
[plustek_pp] ># or a device-name suitable for libieee1284, i.e. parport0<
[plustek_pp] >#<
[plustek_pp] >#[direct]<
[plustek_pp] >#device 0x378<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># leave the default values as specified in /etc/modules.conf<
[plustek_pp] >#<
[plustek_pp] >#option warmup -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff -1<
[plustek_pp] ><
[plustek_pp] ># model override switch, mostly for cosmetic changes, if the autodetection<
[plustek_pp] ># does not work or could not work correctly<
[plustek_pp] >#option mov 7<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via libieee1284<
[plustek_pp] >#<
[plustek_pp] >[direct]<
[plustek_pp] >device parport0<
[plustek_pp] Decoding device name >parport0<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via the kernel module<
[plustek_pp] >#<
[plustek_pp] >#[kernel]<
[plustek_pp] >#device /dev/pt_drv<
[plustek_pp] >#<
[plustek_pp] >#option warmup -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff -1<
[plustek_pp] attach (parport0, 0xbfffc230, (nil))
[plustek_pp] Device configuration:
[plustek_pp] device name : >parport0<
[plustek_pp] direct I/O : yes
[plustek_pp] warmup : -1s
[plustek_pp] lampOff : -1
[plustek_pp] lampOffOnEnd : yes
[plustek_pp] model override: 0
[plustek_pp] ---------------------
[plustek_pp] drvopen()
[sanei_pp] sanei_pp_open: called for device 'parport0'
[sanei_pp] pp_open: trying to attach dev `parport0`
[sanei_pp] pp_open: looking up port in list
[sanei_pp] pp_open: checking >parport0<
[sanei_pp] pp_open: port is in list at port[0]
[sanei_pp] pp_open: opening device
[sanei_pp] Supported Modes: SPP PS/2
[sanei_pp] pp_open: device `parport0` opened...
[sanei_pp] sanei_pp_open: connected to device using fd 0
[plustek_pp] ptdrvInit(0)
[plustek_pp] Init settings done
[plustek_pp] ScanData = 0x08052a08
[plustek_pp] Assigning port handle 0
[plustek_pp] ptdrvOpen(port=0x0)
[plustek_pp] Try to claim the parport
[sanei_pp] sanei_pp_claim: fd = 0
[plustek_pp] Setting SPP-mode
[plustek_pp] Setting PS/2-mode
[plustek_pp] We're using libIEEE1284 I/O
[plustek_pp] Starting Scanner-Autodetection
[plustek_pp] ************ DETECTP48xx ************
[plustek_pp] ModelSet4800()
[plustek_pp] modelInitPageSettings()
[plustek_pp] A4 set
[plustek_pp] ModelSet4800() done.
[plustek_pp] P48xxInitAsic()
[plustek_pp] DacInitialize()
[plustek_pp] ImageInitialize()
[plustek_pp] IOFuncInitialize()
[plustek_pp] IOInitialize()
[plustek_pp] * using readfunction >fnBiDirRead<
[plustek_pp] MotorInitialize()
[plustek_pp] ResetPort()
[plustek_pp] Test 0x55
[plustek_pp] Test 0xAA
[plustek_pp] Compare data=0x80 and status=0x50, port=0x0
[plustek_pp] p48xxReadWriteTest()
[plustek_pp] Can't find your model, asic = 0x5a
[plustek_pp] detectScannerConnection() returns -9031.
[plustek_pp] ************* ASIC9800x *************
[plustek_pp] ResetPort()
[plustek_pp] IOInitialize()
[plustek_pp] * using readfunction >fnBiDirRead<
[plustek_pp] ASIC = 0x81
[plustek_pp] ************* ASIC98001 *************
[plustek_pp] ModelSet9636()
[plustek_pp] ModelSet9360()
[plustek_pp] modelInitPageSettings()
[plustek_pp] A4 set
[plustek_pp] ModelSet9630() done.
[plustek_pp] modelInitPageSettings()
[plustek_pp] A4 set
[plustek_pp] ModelSet9636() done.
[plustek_pp] P9636InitAsic()
[plustek_pp] DacInitialize()
[plustek_pp] ImageInitialize()
[plustek_pp] IOFuncInitialize()
[plustek_pp] IOInitialize()
[plustek_pp] * using readfunction >fnBiDirRead<
[plustek_pp] MotorInitialize()
[plustek_pp] 0x81
[plustek_pp] CCID = 0x00
[plustek_pp] P9636InitAsic() done.
[plustek_pp] ResetPort()
[plustek_pp] Test 0x55
[plustek_pp] Test 0xAA
[plustek_pp] Compare data=0x80 and status=0x10, port=0x0
[plustek_pp] ioP98ReadWriteTest()
[plustek_pp] Putting Scanner (ASIC 98001) into Idle-Mode
[plustek_pp] detectScannerConnection() returns 0.
[plustek_pp] p9636InitP98001(0)
[plustek_pp] bData = 0x0000, PCB-ID = 0x00
[plustek_pp] CCD-ID = 0x00 = _CCD_3797
[plustek_pp] bSetScanModeFlag = 0
[plustek_pp] *** setupBuffers ***
[plustek_pp] Driverbuf(147360 bytes) needed !
[plustek_pp] pColorRunTab = 0x401ed534 - 0x401ecfa8
[plustek_pp] Adjust for 98001 ASIC
[plustek_pp] sb2 = 0x401c9008, sb1 = 0x401d3be8, Color = 0x401e3db8
[plustek_pp] Pro = 0x401e93a8, size = 147360
[plustek_pp] *** DETECTION DONE, result: 0 ***
[plustek_pp] Switching lamp 0 on.
[plustek_pp] ptdrvClose()
[plustek_pp] *** cleanup buffers ***
[plustek_pp] MiscRestorePort()
[plustek_pp] Releasing parport
[sanei_pp] sanei_pp_release: fd = 0
[plustek_pp] MiscGetModelName - id = 15
[plustek_pp] pt_drv0: 9636T/12000T found
[plustek_pp] pt_drv0: Lamp-Timer set to 180 seconds.
[plustek_pp] pt_drv0: WarmUp period set to 30 seconds.
[plustek_pp] pt_drv0: Lamp untouched on driver unload.
[plustek_pp] Lamp-Timer started!
[plustek_pp] ioctl(_PTDRV_OPEN_DEVICE)
[plustek_pp] Lamp-Timer stopped!
[plustek_pp] Init settings done
[plustek_pp] ptdrvOpen(port=0x0)
[plustek_pp] Try to claim the parport
[sanei_pp] sanei_pp_claim: fd = 0
[plustek_pp] Setting SPP-mode
[plustek_pp] Setting PS/2-mode
[plustek_pp] We're using libIEEE1284 I/O
[plustek_pp] Starting Scanner-detection (ASIC 98001)
[plustek_pp] ************* ASIC98001 *************
[plustek_pp] ModelSet9636()
[plustek_pp] ModelSet9360()
[plustek_pp] modelInitPageSettings()
[plustek_pp] A4 set
[plustek_pp] ModelSet9630() done.
[plustek_pp] modelInitPageSettings()
[plustek_pp] A4 set
[plustek_pp] ModelSet9636() done.
[plustek_pp] P9636InitAsic()
[plustek_pp] DacInitialize()
[plustek_pp] ImageInitialize()
[plustek_pp] IOFuncInitialize()
[plustek_pp] IOInitialize()
[plustek_pp] * using readfunction >fnBiDirRead<
[plustek_pp] MotorInitialize()
[plustek_pp] 0x81
[plustek_pp] CCID = 0x00
[plustek_pp] P9636InitAsic() done.
[plustek_pp] ResetPort()
[plustek_pp] Test 0x55
[plustek_pp] Test 0xAA
[plustek_pp] Compare data=0x80 and status=0x10, port=0x0
[plustek_pp] ioP98ReadWriteTest()
[plustek_pp] Putting Scanner (ASIC 98001) into Idle-Mode
[plustek_pp] detectScannerConnection() returns 0.
[plustek_pp] p9636InitP98001(0)
[plustek_pp] bData = 0x0000, PCB-ID = 0x00
[plustek_pp] CCD-ID = 0x00 = _CCD_3797
[plustek_pp] bSetScanModeFlag = 0
[plustek_pp] *** setupBuffers ***
[plustek_pp] Driverbuf(147360 bytes) needed !
[plustek_pp] pColorRunTab = 0x401ed534 - 0x401ecfa8
[plustek_pp] Adjust for 98001 ASIC
[plustek_pp] sb2 = 0x401c9008, sb1 = 0x401d3be8, Color = 0x401e3db8
[plustek_pp] Pro = 0x401e93a8, size = 147360
[plustek_pp] *** DETECTION DONE, result: 0 ***
[plustek_pp] ioctl(_PTDRV_ADJUST)
[plustek_pp] Adjusting device 0
[plustek_pp] warmup: -1
[plustek_pp] lampOff: -1
[plustek_pp] lampOffOnEnd: -1
[plustek_pp] ioctl(_PTDRV_GET_CAPABILITES)
[plustek_pp] ioctl(_PTDRV_GET_LENSINFO)
[plustek_pp] Scanner information:
[plustek_pp] Vendor : Plustek
[plustek_pp] Model : 9636T/12000T
[plustek_pp] Asic : 0x81
[plustek_pp] Flags : 0x00000280
[plustek_pp] Version: 0x00002c00
[plustek_pp] drvclose()
[plustek_pp] ioctl(_PTDRV_STOP_SCAN)
[plustek_pp] Waiting for Sensor to be back in position
[plustek_pp] - done !
[plustek_pp] ioctl(_PTDRV_CLOSE_DEVICE)
[plustek_pp] *** cleanup buffers ***
[plustek_pp] Putting Scanner (ASIC 98001) into Idle-Mode
[plustek_pp] Lamp-Timer started!
[plustek_pp] ptdrvClose()
[plustek_pp] MiscRestorePort()
[plustek_pp] Releasing parport
[sanei_pp] sanei_pp_release: fd = 0
[plustek_pp] attach: model = >9636T/12000T<
[dll] init: backend `plustek_pp' is version 1.0.0
[plustek_pp] sane_get_devices (0xbfffe2f8, 0)
[dll] sane_get_devices: found 1 devices
device `plustek_pp:parport0' is a Plustek 9636T/12000T parallel port flatbed scanner
[dll] sane_exit: exiting
[dll] sane_exit: calling backend `plustek_pp's exit function
[plustek_pp] sane_exit
[plustek_pp] ptdrvShutdown()
[plustek_pp] cleanup device 0
[plustek_pp] Lamp-Timer stopped!
[plustek_pp] Try to claim the parport
[sanei_pp] sanei_pp_claim: fd = 0
[plustek_pp] Putting Scanner (ASIC 98001) into Idle-Mode
[plustek_pp] Releasing parport
[sanei_pp] sanei_pp_release: fd = 0
[sanei_pp] sanei_pp_close: fd = 0
[sanei_pp] sanei_pp_close: freeing resources
[sanei_pp] pp_close: fd=0
[sanei_pp] pp_close: this is port 'parport0'
[sanei_pp] pp_close: trying to free io port
[sanei_pp] pp_close: marking port as unused
[sanei_pp] sanei_pp_close: finished
[dll] sane_exit: finished
 
Hi,

ich hab bei mir mal ein wenig am Parallelport rumgespielt und
hatte irgendwann dasselbe Problem. Ein simples
chmod 666 /dev/parport0 hatte ausgereicht um das Teil zum
Spielen zu bringen. Aber ich meinte mich erinnern zu können,
dass Gentoo (welches Du einsetzt) das devfs einsetzt und damit
werden die Devicenodes zur Laufzeit angelegt. Leider weiß ich
nicht wo genau die Parport-Teile zu finden sind, aber wenn Du
nach /dev wechselst und folgendes find Kommando angibst,
sollten sich die Einträge finden lassen:
Code:
find . -name "par*"

Da nimmst Du dann den parport0 und setzt dessen Rechte
entsprechend...

Grüsse
Gerhard
 
OP
B

BastiL

Newbie
Danke für die fundierte Antwort, scanner_freak. Werde ich ausprobieren. Bin total baff, was du alles weisst. Wie lange beschäftigst du dich denn schon mit scannen und Linux?
 
BastiL schrieb:
Danke für die fundierte Antwort, scanner_freak. Werde ich
ausprobieren. Bin total baff, was du alles weisst. Wie lange beschäftigst du dich
denn schon mit scannen und Linux?

Oje, das ganze fing im Jahre des Herrn 1999 an, als mir meine Freundin einen
Scanner zu Weihnachten schenkte (ein OpticPro 9636T) und ich dann in Richtung
Linux konvertiert bin. Es dauerte dann bis ins Frühjahr 2000, bis der Scanner
dann zumindest im Auflichmodus vernünftige Bilder lieferte, tja und so ging es
weiter... ;) ;)

Grüsse
Gerhard
 
OP
B

BastiL

Newbie
Oh den Scanner habe ich auch. Ich konvertiere schon seit etwa einem Jahr fliessend nach Linux. Da ich relativ selten scanne, ist das eines der letzten Hardwaregeräte jetzt. :)
Geht mit dem Teil denn inzwischen auch die Durchlichteinheit halbwegs?
 
OP
B

BastiL

Newbie
So, ich krieg das nicht hin. Habe gestern ewig mit devfs gespielt, zum schluss war ich so weit, dass es auch als root nicht mehr lief.

/dev/parport0 gibt es bei mir auch zur Laufzeit nicht. Habe nur /dev/printers/0. Den parport0 hatte ich wie oben beschrieben mit mknod angelegt. Das Scannen als root ging aber auch schon vorher, als user ging es hinterher auch noch nicht. Seit ich gestern parport0 probehalber wieder gelöscht habe, ging es auch als root nicht mehr? Ich habe versucht, mit PUT die Rechte für die Gruppe Scanner zu modifizieren, das hat aber nicht geholfen. Muss ich parport0 erzeugen oder nicht? Wenn ja mit mknod oder verlinken? Kann ich eventuell die dll.conf so umkonfigurieren, dass /dev/printers/0 verwendet wird, statt /dev/parport0? Wenn ja, wie? Ich blicke da bei diesem Wirrwarr nicht durch. Und total unklar ist mir, warum es anfangs als root mal funktioniert hat... Zu allem Überfluss druckt mein Drucker einwandfrei nach /dev/lp0, und den gibt es eigentlich auch nicht...??
 
BastiL schrieb:
/dev/parport0 gibt es bei mir auch zur Laufzeit nicht. Habe nur /dev/printers/0. ... Muss ich parport0 erzeugen oder nicht?

Also von Hand anlegen bringt bei devfs nix, das Device muss schon da sein
und heisst dann
Code:
/dev/parport/0
Ich hab mal nachgeschaut, es muss das Modul ppdev geladen sein, oder
fix im Kernel vergraben sein. Das Modul legt dann das Device an. Der dazu
gehörende Kernelconfig Eintrag lautet:
"Support for user-space parallel port device drivers" im Menü Character
Devices...

Alles andere sollte die libieee1284 machen. Warum das funktioniert, wenn
Du den /dev/parport0 von Hand anlegst, weiss ich nicht. Ich meinte mal im
Sourcecode der libieee gelesen zu haben, dass ppdev automatisch geladen
wird - evtl. gilt das nur für den Root-User...

BastiL schrieb:
... Zu allem Überfluss druckt mein Drucker einwandfrei nach /dev/lp0, und den gibt es eigentlich auch nicht...??

Beim lp gehe ich davon aus, das das lp Modul geladen wird, wenn das Device
benötigt wird.
Also schau mal nach dem Modul ppdev, bzw. sorge dafür, dass es im Kernel
drin ist.

Grüsse
Gerhard
 
OP
B

BastiL

Newbie
Danke für die Hilfe, das versuche ich gleich heute abend.

Warum das funktioniert, wenn
Du den /dev/parport0 von Hand anlegst, weiss ich nicht. Ich meinte mal im
Sourcecode der libieee gelesen zu haben, dass ppdev automatisch geladen
wird - evtl. gilt das nur für den Root-User...

Nur als Hinweis: Als root ging es unabhängig davon, ob ich parport0 von Hand angelegt hatte oder nicht. Nur gestern abend gings nach dem Löschen von parport0 komischerweise nicht mehr.
 
Oben