# Parallel printers fail to work on kernels >2.6.9 [SOLVED]

## DaneM

Hello, everybody.

I've been trying to upgrade to a newer kernel, and everything works fine, except that when I boot into the new kernel, my parallel printers no longer work properly.  No matter which printer I use (HP LaserJet 5P or HP DeskJet 990cxi), and no matter what I'm printing, or from which program, all I get is a couple lines of gibberish printed on every page until I either do a "killall -KILL parallel" or remove the paper from the printer.  /dev/lp0 exists, but if I try to echo or cat something to it, the light on the printer blinks one or two times, and then nothing at all prints.

Here is the output of lsmod:

```

Module                  Size  Used by

parport_pc             42408  1

lp                     13512  0

parport                40588  2 parport_pc,lp

snd_seq_midi            9984  0

snd_mpu401              8456  0

snd_mpu401_uart         8192  1 snd_mpu401

snd_rawmidi            28320  2 snd_seq_midi,snd_mpu401_uart

floppy                 70536  0

nvidia               4856528  12

forcedeth              23488  0

snd_intel8x0           36896  1

snd_ac97_codec        107096  1 snd_intel8x0

snd_ac97_bus            2880  1 snd_ac97_codec

i2c_nforce2             8064  0

nls_utf8                2496  1

nls_iso8859_1           5504  1

nls_cp437               7232  1

ata_piix               11204  0

sata_vsc                9284  0

sata_sis                9088  0

sata_sx4               14788  0

sata_nv                10820  0

sata_via                9796  0

sata_svw                8964  0

sata_sil               11012  0

sata_promise           12996  0

libata                 51536  9 ata_piix,sata_vsc,sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil,sata_promise

sbp2                   25988  0

ohci1394               34252  0

ieee1394              105976  2 sbp2,ohci1394

ohci_hcd               21252  0

uhci_hcd               32736  0

usb_storage            69504  0

usbhid                 39264  0

ehci_hcd               34248  0

```

Printing works just fine in Windows and in kernel 2.6.9-gentoo-r9, but not in any later kernels that I've tried (currently 2.6.14-gentoo-r5).

I would greatly appreciate any help you are willing to give.

--DaneLast edited by DaneM on Thu Dec 29, 2005 9:29 pm; edited 1 time in total

----------

## NeddySeagoon

DaneM,

Hve you set up support for ECP in the kernel ?

Both those pronters you have need bi-directional support over the parallel port, so setting up a standard output only won't work.

The LaserJet 5P should understand an ASCII data stream but will want a new page command to actually put the text on the paper, so the cat test may well fail.

The DeskJet 990cxi will not understand ASCII at all. It needs a raster image. The cat test will always fail on this printer.

I assume you use PostScript with the 5P and Ghostscript with the 990cxi ?

----------

## DaneM

Thanks for the reply!

I think I've fixed the problem, although it prints kind-of slowly.  I'm not sure whether I'm using the postscript driver or not; it's the HPIJS driver.  How can I tell?  If I'm not using the PS driver, how cat I get it?

Here's how I got it to print (albeit slowly):

I set the kernel options as follows:

Parallel Printer Support:

<M> Parallel port support

<M>   PC-style hardware

< >     Multi-IO cards (parallel and serial)

[*]     Use FIFO/DMA if available (EXPERIMENTAL)

[ ]     SuperIO chipset support (EXPERIMENTAL)

[*] IEEE 1284 transfer modes

Character devices:

<M> Parallel printer support

Plug and Play Support:

[*] Plug and Play support 

[ ]   PnP Debug Messages

[ ]   Plug and Play ACPI support (EXPERIMENTAL)

The two major changes are that SuperIO is now disabled, as is Plug and Play ACPI support.

I'm not sure which change really did it; I'll be tweaking it a bit more soon.

Any ideas?

Thanks.

--Dane

----------

## NeddySeagoon

DaneM,

Your Laser Priter has a built in PostScript interpreter, so it should print as fast in Linux as it Does in Windows, provided you send it PostScript output. There is no need to rasterise the pages in the PC first.

Linux apps all produce PostScript.

Your colour printer does not understand PostScript, so everthing must be rasterised first. Windows does a hack - it does not allow arbitary scaling of the image, so it can print quickly. Linux has to start from PostScript anyway. As the rasterising is done in the computer, printing is slow. The up side is that you get a PostScript colour printer.

To see whats happening, look in the CUPS log. If it mentions Ghostscript, then the CPU doing PostScript to raster converstion.

----------

## DaneM

Thanks again for your reply; you seem to know a lot about printers!

I used kprinter to change the driver from postscript to ESP, and now it prints like in Windows.  What's the differerce, and why is this working right now?

Thanks.

--Dane

----------

## NeddySeagoon

DaneM,

I don't know kprinter but I suspect the difference is that one driver does the rasterising in the computer, the other sends the  PostScript straight to the printer. The latter is much faster, since no processing is involved.

----------

## DaneM

Thanks for the replies.

I'm glad we got that solved.

Cheers!

--Dane

----------

## v8elvis

 *NeddySeagoon wrote:*   

> DaneM,
> 
> The LaserJet 5P should understand an ASCII data stream but will want a new page command to actually put the text on the paper, so the cat test may well fail.
> 
> 

 

How do u send the new page command? I have a laserjet 6p and want to test the basics before I get into cups and the rest. It used to work perfectly and even printed over the network but somewhere along the way it broke. I haven't felt this angry at a computer since I ditched windows years ago.

----------

