I try to connect a HP Laserjet 6P with Centronics connection to an Acer Veriton M4640G on openSUSE 13.2 32bit. The parallel port is provided by a " 03:00.0 Communication controller: 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 modules: parport_pc " PCI card. Yast correctly finds and initializes the printer, printing of some characters works, longer texts or graphics print garbage. Exactly the same happens with a HP Laserjet 4MP. Also the same happens with the same printers on a second computer with 64bit openSUSE Leap 42.1 and two other different PCI-Express parport cards with different chips. The Windows7 64 bit installation on this second computer worked with the same printers and both PCI-Express cards IIRC. A third slower computer with the older openSUSE 13.1 32bit worked OK with the "LSI Logic / Symbios Logic 2P0S" card, other cards not tested, sadly that computer died. :-( A timing/handshake problem with faster computers and/or newer kernels maybe?
Printing by motherboard LPT1 header works.
It could be that FIFO operation in parport_pc causes the data errors. With "options parport_pc io=0x378,0xd050,0xd030 dma=none,none,none irq=7,18,10" in "/etc/modprobe.d/99-local.conf" the motherboard port and the two ports on the PCI card all work OK, "dmesg|grep parport" lists: " [ 17.250204] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] [ 17.333784] parport1: PC-style at 0xd050, irq 18 [PCSPP,TRISTATE,EPP] [ 17.416860] parport2: PC-style at 0xd030, irq 10 [PCSPP,TRISTATE,EPP] [ 17.424652] parport2: Printer, Hewlett-Packard HP LaserJet 6P [ 105.840722] lp0: using parport0 (interrupt-driven). [ 105.840745] lp1: using parport1 (interrupt-driven). [ 105.840766] lp2: using parport2 (interrupt-driven). " instead of: " [ 17.229035] parport_pc 00:03: reported by Plug and Play ACPI [ 17.229146] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] [ 17.312448] parport1: PC-style at 0xd050 (0xd040), irq 18, using FIFO [PCSPP,TRISTATE,COMPAT,ECP] [ 17.396935] parport2: PC-style at 0xd030 (0xd020), irq 18, using FIFO [PCSPP,TRISTATE,COMPAT,ECP] [ 17.404834] parport2: Printer, Hewlett-Packard HP LaserJet 6P [ 117.824110] lp0: using parport0 (interrupt-driven). [ 117.824135] lp1: using parport1 (interrupt-driven). [ 117.824156] lp2: using parport2 (interrupt-driven). " with the default settings. A thread about the experiments is here: https://forums.opensuse.org/showthread.php/521726-Parallelport-support-broken?p=2804416#post2804416