Tuesday 26 September 2017

Using an HP Laserjet 6P on and HP xw6600 running Linux Fedora 26

The first problem is that the Laserjet 6P only has a parallel port, because it was made before USB was a thing, and the xw6600 has no parallel port. I tried using a USB to parallel converter, but I couldn't make that work. So I went on Ebay, and bought a PCI parallel port, cost £2.

I put that into the PCI slot on the computer, and restarted it. Then I clicked on "printers" in the settings tool, and it came up, but didn't show the HP printer.


Google to the rescue.

First, I used lspci -v to find out a plethors of information about all the PCI devices. From this, I narrowed down to:

01:09.0 Parallel controller: Device 1c00:2170 (rev 0f) (prog-if 01 [BiDir])
    Subsystem: Device 1c00:2170
    Physical Slot: 6
    Flags: medium devsel, IRQ 5
    I/O ports at 2000 [size=8]
    I/O ports at 2008 [size=8]

Using that information, I crafted the following:

cd /usr/lib/modules/4.12.13-300.fc26.x86_64/kernel/drivers/parport
rmmod parport_pc
insmod parport_pc.ko.xz io=0x2000,0x2008 irq=5

And that did the trick. The HP Laserjet showed up in the list, it told linux what breed of printer it was, linux found the relevant driver and installed it, and now I can use my 20 year old Laserjet!

1 comment:

  1. Thanks for this!

    I will add my experience for anyone else trying to get this card to work as mine appears to be the same card with a few minor differences.

    Relevant lspci -vvv output:

    04:06.0 Parallel controller: Device 1c00:2170 (rev 0f) (prog-if 01 [BiDir])
    Subsystem: Device 1c00:2170
    Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- /etc/modprobe.d/parport.conf

    I originally tried it with "options parport_pc io=0xd000,0xd100 irq=10" but the 0x0d010 caused it not to work.

    Thanks again,