[Linux-parport] Data integrity error in parport_pc

Martin Schreiber mse00000 at gmail.com
Sat Jan 28 04:11:16 PST 2017

I try to connect a HP Laserjet 6P with Centronics connection to an Acer Veriton M4640G on openSUSE Leap 42.2. The parallel port is provided by a
MosChip Semiconductor Technology Ltd. PCI 9815 Multi-I/O Controller (rev 01)
        Subsystem: LSI Logic / Symbios Logic 2P0S (2 port parallel adaptor)
        Flags: medium devsel, IRQ 18
        I/O ports at d050 [size=8]
        I/O ports at d040 [size=8]
        I/O ports at d030 [size=8]
        I/O ports at d020 [size=8]
        I/O ports at d010 [size=8]
        I/O ports at d000 [size=16]
        Kernel driver in use: parport_pc
        Kernel modules: parport_pc
PCI card.
Yast correctly finds and initializes the printer, printing of some characters works, longer texts or graphics print garbage.
dmesg|grep parport reports:
[   11.009445] parport_pc 00:03: reported by Plug and Play ACPI
[   11.009591] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[   11.105914] parport1: PC-style at 0xd050 (0xd040), irq 18, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]
[   11.201051] parport2: PC-style at 0xd030 (0xd020), irq 18, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]
[   11.210164] parport2: Printer, Hewlett-Packard HP LaserJet 6P
[  108.878333] lp0: using parport0 (interrupt-driven).
[  108.878626] lp1: using parport1 (interrupt-driven).
[  108.878727] lp2: using parport2 (interrupt-driven).
parport0 is the port on the motherboard, there printing is OK.
parport1 and parport2 are on the PCI-card and print garbage.

options parport_pc io=0x378,0xd050,0xd030 dma=none,none,none irq=7,18,10
in /etc/modprobe.d/99-local.conf dmesg|grep parport reports:
[   10.632507] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[   10.728031] parport1: PC-style at 0xd050, irq 18 [PCSPP,TRISTATE,EPP]
[   10.823903] parport2: PC-style at 0xd030, irq 10 [PCSPP,TRISTATE,EPP]
[   10.843560] parport2: Printer, Hewlett-Packard HP LaserJet 6P
[   52.490145] lp0: using parport0 (interrupt-driven).
[   52.490228] lp1: using parport1 (interrupt-driven).
[   52.490294] lp2: using parport2 (interrupt-driven).
and printing works on all 3 ports.

Bug reports are here:
A thread about the experiments:

Thanks, Martin 

More information about the Linux-parport mailing list