Bug 185135 - cannot configure parallel printer - no device found
Summary: cannot configure parallel printer - no device found
Status: RESOLVED DUPLICATE of bug 180390
: 196670 201917 206380 228795 258790 286361 287091 (view as bug list)
Alias: None
Product: openSUSE 10.2
Classification: openSUSE
Component: Printing (show other bugs)
Version: Final
Hardware: i686 SuSE Linux 10.1
: P5 - None : Normal with 1 vote (vote)
Target Milestone: ---
Assignee: Johannes Meixner
QA Contact: Johannes Meixner
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-14 22:12 UTC by Peter van Hoof
Modified: 2007-06-26 05:45 UTC (History)
11 users (show)

See Also:
Found By: Customer
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
results from tests proposed above (4.77 KB, text/plain)
2006-06-19 21:48 UTC, Peter van Hoof
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter van Hoof 2006-06-14 22:12:16 UTC
I have an Epson Stylus Color 640 printer connected to my parallel port. When I try to configure this printer with YaST under SuSE 10.1 final, I get the following error message:

No parallel devices (/dev/lp?) found. It seems that your parallel port is not properly configured.

There are indeed no such devices present, so taken at face value it seems this is a problem with udev. A friend told me he has the exact same problem with his printer, so it seems unlikely that this is an installation problem. The printer worked fine under SuSE 9.3 and I have not changed anything in the hardware setup or the BIOS of the computer.
Comment 1 Johannes Meixner 2006-06-19 06:06:07 UTC
We got several similar reports.
Very likely it depends on particular BIOS settings and on particular
parport hardware.
It seems certain BIOS settings do no longer work for particular
parport hardware.

Please debug as follows:

1)
Can you send a few bytes of plain text directly to the printer?
I.e. does it print "Hello" when you run as root:
echo -en "\rHello\r\f" >/dev/lp0

2)
Does the CUPS parallel backend recognize the printer?
I.e. what results (run as root):
/usr/lib/cups/backend/parallel
For me it results for example:
---------------------------------------------------------------
direct parallel:/dev/lp0 "Canon BJC-2100" "Parallel Port #1"
---------------------------------------------------------------
Did the cupsd recognize the parallel backend?
I.e. what results
lpinfo -v | grep parallel
For me it results
---------------------------------------------------------------
direct parallel:/dev/lp0
---------------------------------------------------------------

3)
Is the printer detected by the kernel?
I.e. what results
grep 'kernel:.*parport' /var/log/messages | tail -n20
For me it results
---------------------------------------------------------------------
... kernel: parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
... kernel: parport0: Printer, Canon BJC-2100
... kernel: parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
... kernel: parport0: irq 7 detected
... kernel: parport0: Printer, Canon BJC-2100
... kernel: lp0: using parport0 (polling).
---------------------------------------------------------------------
Note the recommended BIOS settings for parallel port according to
http://en.opensuse.org/SDB:Installing_a_Printer
------------------------------------------------------------------
The BIOS settings for the first parallel interface
should be set as follows:
IO address 378 (hexadecimal)
Interrupt 7
Mode "Normal" or "SPP" or "Output-Only"
(other modes may not work)
DMA is disabled
(should be automatically switched off using the modes above) 
------------------------------------------------------------------
You may have to experiment with various parport settings
in your BIOS to find a setting which works o.k. for you,
see for example bug #173782, bug #155474, and bug #116655

4)
Are all necessary kernel-modules for the parallel port loaded?
Make sure that those modules are loaded: parport, parport_pc, and lp.
lsmod | egrep '^parport|^lp'
must list all three modules.
If not, load them as root using
modprobe parport
modprobe parport_pc
modprobe lp
and use
dmesg | egrep '^parport|^lp' | tail -n20
to get the last 20 kernel messages regarding parport.
Are there kernel error messages?

5)
I have in /etc/sysconfig/hardware/hwcfg-static-printer
--------------------------------------------------------------
STARTMODE='auto'
MODULE='lp'
--------------------------------------------------------------
This makes the lp module loaded automatically for me.
Do you also have such a file and if yes, what is its content?

6)
As a workaround to force loading of the "lp" module:
Either
add the "modprobe lp" command to /etc/init.d/boot.local
(which is the old-stlye way)
or
add "lp" to MODULES_LOADED_ON_BOOT in /etc/sysconfig/kernel
(which is the new-stlye way).
Comment 2 Peter van Hoof 2006-06-19 21:48:40 UTC
Created attachment 90454 [details]
results from tests proposed above
Comment 3 Peter van Hoof 2006-06-19 21:55:56 UTC
I have attached the output from all the tests you suggested, both from before I changed the BIOS and after. There was very little progress and printing still doesn't work. There were BIOS options for the IO address (which was already set to 0x378) and the Mode. I changed the latter to "Output-Only". There are no BIOS settings for the IRQ or DMA mode. After the reboot a device /dev/lp0 was present, but printing to it did not work. The device disappeared as soon as I checked the cabling to make sure there was no problem there. It never reappeared, even after power-cycling the printer.
Comment 4 Peter van Hoof 2006-06-19 22:14:14 UTC
PS - I found the following in dmesg:

# dmesg | grep parport
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP]
parport0: Printer, EPSON Stylus COLOR 640
lp0: using parport0 (interrupt-driven).
parport 0x378 (WARNING): CTR: wrote 0x0c, read 0xff
parport 0x378 (WARNING): DATA: wrote 0xaa, read 0xff
parport 0x378: You gave this address, but there is probably no parallel port there!
parport0: PC-style at 0x378 [PCSPP,TRISTATE]
parport: PnPBIOS parport detected.

So IRQ 7 is being used, no problem there.
Comment 6 Johannes Meixner 2006-06-20 06:00:37 UTC
We have another (internal) bug report regarding the above comment #4.
We work on it and I mark this one as a duplicate of bug #180390

*** This bug has been marked as a duplicate of 180390 ***
Comment 7 Johannes Meixner 2006-06-20 06:07:02 UTC
Peter,
it might hopefully work with other BIOS settings.
For example EPP or even ECP.
Note that those modes normally do require an interrupt
and ECP additionally requires DMA.
To activate the interrupt mode, set in /etc/modprobe.conf
something like

options parport_pc io=0x378 irq=7

where io and irq must match to your BIOS settings.
Then reboot with the printer connected and switched on.
Comment 8 Peter van Hoof 2006-06-20 22:18:22 UTC
I changed /etc/modprobe.conf as you suggested and changed the BIOS setting to EPP. After rebooting the printer was correctly detected:

# dmesg | grep parport
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
parport0: Printer, EPSON Stylus COLOR 640
lp0: using parport0 (interrupt-driven).

The printer is set up now and works beautifully. Thanks!
Comment 9 Johannes Meixner 2006-06-23 10:18:18 UTC
*** Bug 187713 has been marked as a duplicate of this bug. ***
Comment 12 Johannes Meixner 2006-08-07 06:49:30 UTC
*** Bug 196670 has been marked as a duplicate of this bug. ***
Comment 13 Johannes Meixner 2006-08-09 09:53:15 UTC
*** Bug 196670 has been marked as a duplicate of this bug. ***
Comment 14 Johannes Meixner 2006-08-29 08:38:49 UTC
*** Bug 201917 has been marked as a duplicate of this bug. ***
Comment 15 Johannes Meixner 2006-09-18 08:15:07 UTC
*** Bug 206380 has been marked as a duplicate of this bug. ***
Comment 16 Olaf Amm 2006-12-11 01:19:24 UTC
Same problem for me with OpenSuSE 10.2, final. Parallel port not recognised.

I left the settings in the BIOS as they are and added a line

options parport_pc io=0x378 irq=7 dma=3

to /etc/modprobe.conf. After that, it worked, and my parallel port printer got recognised fine.

Status=Resolved? I think this should work automatically (as it did e.g. in SuSE 9.3). This is at least for beginners very difficult to fix.
Comment 17 Johannes Meixner 2006-12-11 10:00:01 UTC
This was a duplicate and it is still a duplicate of bug #180390
which is still open (see comment #6).
Therefore the status of this bug is "resolved" because it is
resolved as a duplicate of another bug (it doesn't make sense
to keep several same bug reports open at the same time).

By the way:
It _should_ work automatically but one cannot expect that the old
legacy interfaces (like the parallel port) do work automatically
in any case because there is no specified autodetection mechanism
for legacy interfaces (i.e. any kind of autodetection is more or less
only a "best effort" attempt).





*** This bug has been marked as a duplicate of bug 180390 ***
Comment 18 Olaf Amm 2006-12-11 11:49:09 UTC
Ok, thank you. I saw comment #6, but I cannot check the status of bug 180390, as it says "you have no access to this bug". Anyway, new info here is that it's still the same in 10.2 final, which is hopefully useful.
Comment 19 Johannes Meixner 2006-12-15 09:59:54 UTC
*** Bug 228795 has been marked as a duplicate of this bug. ***
Comment 20 Johannes Meixner 2007-03-29 10:36:21 UTC
*** Bug 258790 has been marked as a duplicate of this bug. ***
Comment 21 Johannes Meixner 2007-06-22 12:41:23 UTC
*** Bug 286361 has been marked as a duplicate of this bug. ***
Comment 22 Johannes Meixner 2007-06-26 05:45:51 UTC
*** Bug 287091 has been marked as a duplicate of this bug. ***