Paralel Port Scanner on Suse 13.2

I recently changed my pc and used a PCI-e card to add a serial and paralel port since the motherboard (Asus X-99D) does not come with one.

The normal procedure to use my serial Wacom worked well, I just had to use the 4th serial port ( on the old pc I had to use the first serial port : 0 )

With the parallel port, things are a bit different so I’m probably missing something. The normal instructions that I followed succesfully to use an Epson Action Scenner II (parallel port) were:


Modify this file removing the ‘#’ form the line ‘#epson

/etc/sane.d/dll.conf

Modify this file to indicate which port to use, like this:

/etc/sane.d/epson.conf

epson.conf

here are some examples for how to configure the EPSON backend

SCSI scanner:

scsi EPSON

for the GT-6500:

scsi “EPSON SC”

Parallel port scanner:

#pio 0x278
pio 0x378
#pio 0x3BC


The ports listed there are the default ports used by any motherboard that includes a parallel port.

Since the current parallel port comes from a PCIe expansion card, those 3 ports don’t exist.

So I been working on this all day and ran out of options.

I can see that there is a parallel port active but I fail to either, give the right IO address or the right way to configure.

From what I read I’m suppose to add the IO ports specification on this file:

etc/modprobe.d/00-system.conf

alias parport_lowlevel parport_pc

disable DMA for parallel port (bnc#180390)

Please note, the dma= and irq= options require that the io= option also be

specified.

options parport_pc dma=none

options parport_pc io=0x378 irq=none

If you have multiple parallel ports, specify them this way:

options parport_pc io=0x378,0x278 irq=none,none

The head of that file however says not to touch it, and to use:

/etc/modprobe.d/99-local.conf

So, to find out which are the IO ports and to confirm that there is a parallel port active, I used:

cat /proc/ioports | grep parport

  d010-d012 : parport0
  d020-d022 : parport0
  d023-d027 : parport0

lspci -v

03:00.0 Parallel controller: Oxford Semiconductor Ltd Device c100 (prog-if 02 [ECP])
Subsystem: Oxford Semiconductor Ltd Device c100
Physical Slot: 2
Flags: bus master, fast devsel, latency 0, IRQ 26
I/O ports at d020 [size=8]
I/O ports at d010 [size=4]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Legacy Endpoint, MSI 00
Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-01-00
Capabilities: [110] Power Budgeting <?>
Kernel driver in use: parport_pc
Kernel modules: parport_pc

dmesg | grep parport0

10.771710] pci 0000:03:00.0: reg 0x14: [io 0xd010-0xd013]
13.075246] PCI parallel port detected: 1415:c100, I/O at 0xd020(0xd010), IRQ 26
13.075313] parport0: PC-style at 0xd020 (0xd010), irq 26, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]

Which gives the ports:

0xd020 and 0xd010 at IRQ 26.

So I tried adding this line to: /etc/modprobe.d/99-local.conf

options parport_pc io=0xd010, 0xd020 irq=auto,auto

which returns errors and don’t work, then I tried

options parport_pc io=0xd010, 0xd020 irq=none,none

this doesn’t returns any error but it doesn’t work by changing the epson.conf file mentioned above to either:

pio 0xd010

or

pio 0xd020

clearly, there’s an active parallel port, those are suppose to be the IO ports active, so, what I may be missing ?

OS: Suse 13.2 64b

Thank you[/size][/size]

On Mon 13 Apr 2015 09:56:01 PM CDT, mhunt0 wrote:

I recently changed my pc and used a PCI-e card to add a serial and
paralel port since the motherboard (Asus X-99D) does not come with one.

The normal procedure to use my serial Wacom worked well, I just had to
use the 4th serial port ( on the old pc I had to use the first serial
port : 0 )

With the parallel port, things are a bit different so I’m probably
missing something. The normal instructions that I followed succesfully
to use an Epson Action Scenner II (parallel port) were:


Modify this file removing the ‘#’ form the line ‘#epson

/etc/sane.d/dll.conf

Modify this file to indicate which port to use, like this:

/etc/sane.d/epson.conf

epson.conf

here are some examples for how to configure the EPSON backend

SCSI scanner:

scsi EPSON

for the GT-6500:

scsi “EPSON SC”

Parallel port scanner:

#pio 0x278
pio 0x378
#pio 0x3BC


The ports listed there are the default ports used by any motherboard
that includes a parallel port.

Since the current parallel port comes from a PCIe expansion card, those
3 ports don’t exist.

So I been working on this all day and ran out of options.

I can see that there is a parallel port active but I fail to either,
give the right IO address or the right way to configure.

From what I read I’m suppose to add the IO ports specification on this
file:

etc/modprobe.d/00-system.conf

alias parport_lowlevel parport_pc

disable DMA for parallel port (bnc#180390)

Please note, the dma= and irq= options require that the io= option

also be

specified.

options parport_pc dma=none

options parport_pc io=0x378 irq=none

If you have multiple parallel ports, specify them this way:

options parport_pc io=0x378,0x278 irq=none,none

The head of that file however says not to touch it, and to use:

/etc/modprobe.d/99-local.conf

So, to find out which are the IO ports and to confirm that there is a
parallel port active, I used:

cat /proc/ioports | grep parport

d010-d012 : parport0
d020-d022 : parport0
d023-d027 : parport0

lspci -v

03:00.0 Parallel controller: Oxford Semiconductor Ltd Device c100
(prog-if 02 [ECP])
Subsystem: Oxford Semiconductor Ltd Device c100
Physical Slot: 2
Flags: bus master, fast devsel, latency 0, IRQ 26
I/O ports at d020 [size=8]
I/O ports at d010 [size=4]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Legacy Endpoint, MSI 00
Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-01-00
Capabilities: [110] Power Budgeting <?>
Kernel driver in use: parport_pc
Kernel modules: parport_pc

dmesg | grep parport0

10.771710] pci 0000:03:00.0: reg 0x14: [io 0xd010-0xd013]
13.075246] PCI parallel port detected: 1415:c100, I/O at
0xd020(0xd010), IRQ 26
13.075313] parport0: PC-style at 0xd020 (0xd010), irq 26, using FIFO
[PCSPP,TRISTATE,COMPAT,EPP,ECP]

Which gives the ports:

0xd020 and 0xd010 at IRQ 26.

So I tried adding this line to: /etc/modprobe.d/99-local.conf

options parport_pc io=0xd010, 0xd020 irq=auto,auto

which returns errors and don’t work, then I tried

options parport_pc io=0xd010, 0xd020 irq=none,none

this doesn’t returns any error but it doesn’t work by changing the
epson.conf file mentioned above to either:

pio 0xd010

or

pio 0xd020

clearly, there’s an active parallel port, those are suppose to be the IO
ports active, so, what I may be missing ?

OS: Suse 13.2 64b

Thank you

Hi
But you don’t have to do anything, it’s discovering the parallel port
fine and allocating the io, irq etc?

So what you need now is the driver for the scanner to look at that info
and use it…


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 GNOME 3.10.1 Kernel 3.12.39-47-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

[/size][/size]

yes, that’s the problem, it doesn’t find any device, so it’s a configuration problem that I’m not detecting yet, so I haven’t been able to solve it.

Hi
So what is under the directory tree for base-addr in /proc/sys/dev/parport which should be 0xd020 which should be the one to use in the sane.conf file… or you already tried that?

nothing there…

I see:

default/spintime
default/timslice

parport0/devices/active
parport0/autoprobe
parport0/autoprobe0
parport0/autoprobe1
parport0/autoprobe2
parport0/autoprobe3
parport0/base-addr
parport0/dma
parport0/irq
parport0/modes
parport0/spintime

all files at 0 bytes.

I’m not familiar with this directory.

On Tue 14 Apr 2015 05:16:02 AM CDT, mhunt0 wrote:

malcolmlewis;2704714 Wrote:
> Hi
> So what is under the directory tree for base-addr in
> /proc/sys/dev/parport which should be 0xd020 which should be the one
> to use in the sane.conf file… or you already tried that?

nothing there…

I see:

default/spintime
default/timslice

parport0/devices/active
parport0/autoprobe
parport0/autoprobe0
parport0/autoprobe1
parport0/autoprobe2
parport0/autoprobe3
parport0/base-addr
parport0/dma
parport0/irq
parport0/modes
parport0/spintime

all files at 0 bytes.

I’m not familiar with this directory.

Hi
According to;
https://www.kernel.org/doc/Documentation/parport.txt
Data should be in those files if you cat them?

So have you tried the hex code reported in the sane.conf file?


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 GNOME 3.10.1 Kernel 3.12.39-47-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

thanks for the link, and for the sugestion of ‘cat’ over those files, they have data and it matches the info I got with the other commands:

INFO IN root/proc/sys/dev/parport

default/spintime 500
default/timslice 200

parport0/devices/active none
parport0/autoprobe
parport0/autoprobe0
parport0/autoprobe1
parport0/autoprobe2
parport0/autoprobe3
parport0/base-addr 53280 53264 ### ----- >>> 0xd020 0xd010
parport0/dma -1
parport0/irq 26
parport0/modes PCSPP,TRISTATE,COMPAT,EPP,ECP
parport0/spintime 500

saned.conf

Configuration for the saned daemon

Daemon options

Port range for the data connection. Choose a range inside [1024 - 65535].

Avoid specifying too large a range, for performance reasons.

ONLY use this if your saned server is sitting behind a firewall. If your

firewall is a Linux machine, we strongly recommend using the

Netfilter nf_conntrack_sane connection tracking module instead.

data_portrange = 10000 - 10100

Access list

A list of host names, IP addresses or IP subnets (CIDR notation) that

are permitted to use local SANE devices. IPv6 addresses must be enclosed

in brackets, and should always be specified in their compressed form.

The hostname matching is not case-sensitive.

#scan-client.somedomain.firm
#192.168.0.1
#192.168.0.1/29
#[2001:db8:185e::42:12]
#[2001:db8:185e::42:12]/64

NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and

/etc/services must also be properly configured to start

the saned daemon as documented in saned(8), services(4)

and inetd.conf(4) (or xinetd.conf(5)).

The problem persists, the epson.conf ha the right address and the port is active, but the scanner front-end doesn’t find any device.

On Tue 14 Apr 2015 02:26:01 PM CDT, mhunt0 wrote:

malcolmlewis;2704786 Wrote:
> Hi
> According to;
> https://www.kernel.org/doc/Documentation/parport.txt
> Data should be in those files if you cat them?
>
> So have you tried the hex code reported in the sane.conf file?
>

thanks for the link, and for the sugestion of ‘cat’ over those files,
they have data and it matches the info I got with the other commands:

INFO IN root/proc/sys/dev/parport

default/spintime 500
default/timslice 200

parport0/devices/active none
parport0/autoprobe
parport0/autoprobe0
parport0/autoprobe1
parport0/autoprobe2
parport0/autoprobe3
parport0/base-addr 53280 53264 ### ----- >>> 0xd020 0xd010
parport0/dma -1
parport0/irq 26
parport0/modes PCSPP,TRISTATE,COMPAT,EPP,ECP
parport0/spintime 500

saned.conf

Configuration for the saned daemon

Daemon options

Port range for the data connection. Choose a range inside [1024 -

65535].

Avoid specifying too large a range, for performance reasons.

ONLY use this if your saned server is sitting behind a firewall. If

your

firewall is a Linux machine, we strongly recommend using the

Netfilter nf_conntrack_sane connection tracking module instead.

data_portrange = 10000 - 10100

Access list

A list of host names, IP addresses or IP subnets (CIDR notation) that

are permitted to use local SANE devices. IPv6 addresses must be

enclosed

in brackets, and should always be specified in their compressed form.

The hostname matching is not case-sensitive.

#scan-client.somedomain.firm
#192.168.0.1
#192.168.0.1/29
#[2001:db8:185e::42:12]
#[2001:db8:185e::42:12]/64

NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and

/etc/services must also be properly configured to start

the saned daemon as documented in saned(8), services(4)

and inetd.conf(4) (or xinetd.conf(5)).

The problem persists, the epson.conf ha the right address and the port
is active, but the scanner front-end doesn’t find any device.

Hi
So the epson.conf has the pio 0xd020 setting?

Maybe some other forum folks can offer advice, but might be time for a
bug…


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 GNOME 3.10.1 Kernel 3.12.39-47-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

yes, I haven’t found anything on it, it was pretty simple to set up a parallel port scanner, all you needed to know is the address of the active parallel port. Hope someone has a better idea of what is missing or, if it’s a bug has you said.