As you know some(?) new computers have no built-in parallel port. The one I built didn’t have one anyway so I bought a PCI-express card with a port, a cheap one with a printer port, nothing more.
OpenSUSE 11.1 sees the card somehow and “lspci” says it’s a
“hwinfo --printer” does not see it at all, whatever that may mean?
I have connected my old inkjet to it and configured the queue same way it used to be on the old computer but nothing ever comes out on the printer. Maybe the fact that I’m running openSUSE 64-bit has something to do with it, wrong drivers or some such?
man with hat wrote:
> I have connected my old inkjet to it and configured the queue same way
> it used to be on the old computer but nothing ever comes out on the
> printer. Maybe the fact that I’m running openSUSE 64-bit has something
> to do with it, wrong drivers or some such?
There is no assurance that there is a driver at all. You should open a terminal
and post the output of
/sbin/lspci -nnv
You should not post everything - just the paragraph that corresponds to your
parallel port adapter.
I do not have any assistance on your Parellel/PCI card. I was in the same situation trying to get a HP 4P Laser printer working with a new computer without a Parallel port and I just bought a inexpensive ($12) Sabrent USB to Parallel Printer cable. It was detected immediately by openSUSE 11 64bit. and required little setup. I wrote about it at: Observations from outfitting a new setup.
Just a thought for you to consider if the PCI card causes too much issues.
man with hat wrote:
> Ok, the intresting section of “/sbin/lspci -nnv” follows
>
> Code:
> --------------------
> 02:00.0 Parallel controller [0701]: Oxford Semiconductor Ltd Device [1415:c110] (prog-if 02 [ECP])
> Subsystem: Oxford Semiconductor Ltd Device [1415:c110]
> --------------------
>
> If there is no driver (how do you see that, BTW?) is anyone working on
> one?
The one sure place is to look in the kernel source. A device is recognized by
its vendor:device codes - 1415:c110 in your case.
The driver parport_pc.ko is the only possibility for a driver. It is used by a
couple of Oxford Semi products with device ID’s of c000 and c004, but no c110.
There is a possibility that the driver will work if we modify the internal
table. That can be done with the following script that must be run as root:
The above script sacrifices the c000 device in favor of a c110 flavor. If this
works, I will prepare a kernel patch that adds this new ID to future kernels.
I doubt that there is any active development on drivers for parallel port devices.
Thanks for the support. Unfortunately it doesn’t seem to fix the problem. I ran your script, rebooted and tried to print a testpage. Nothing comes out on printer but these lines are written to /var/log/messages
Mar 22 21:31:08 linux-docw kernel: parport_pc: module license 'unspecified' taints kernel.
Mar 22 21:31:08 linux-docw kernel: parport_pc: Unknown symbol platform_driver_unregister
Mar 22 21:31:08 linux-docw kernel: parport_pc: Unknown symbol platform_driver_register
Mar 22 21:31:08 linux-docw kernel: parport_pc: Unknown symbol platform_device_unregister
Mar 22 21:31:08 linux-docw kernel: parport_pc: Unknown symbol platform_bus_type
Mar 22 21:31:08 linux-docw kernel: parport_pc: Unknown symbol platform_device_register_simple
Mar 22 21:31:08 linux-docw modprobe: FATAL: Error inserting parport_pc (/lib/modules/2.6.27.19-3.2-default/kernel/drivers/parp
ort/parport_pc.ko): Unknown symbol in module, or unknown parameter (see dmesg)
Mar 22 21:31:08 linux-docw kernel: lp: driver loaded but no devices found
If you come up with some other fix I’ll happily test it.
MattBClassic: It may come to that (buying an USB to parallel adapter) but since I already bought the card…
Card DIGITUS DS-33040, uses NetMos chipset 9865 (2ser, 1par)
(I think you don’t need the driver (shipped with the card) for the parallel port, the serial ports are reported to work with the driver (see above)).
Find adress and IRQ as decribed above (lspci -nnv) and modify the file /etc/modprobe.d/00-system.conf
by just uncommenting the (probably default) line
#options parport_pc io=0x378 irq=none
and replace the io and irq values with those found from lspci.
(As recommended from the headlines of /etc/modprobe.d/000-system.conf I first tried to change 99-local.conf, but that didn’t work for me (maybe it’s called to late or so).)
After the next boot you should have /dev/lp0 and proceedings for printer installation should work as normal.
Does it use IRQ or polling.
my initial setup looked like this and Yast recognized the Laserjet 4L
dmesg |grep parport
Suse 11.2
5.270030] parport_pc 0000:05:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
5.270089] parport0: PC-style at 0xec00 (0xe880), irq 18, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]
5.279743] parport0: Legacy device
62.013408] lp0: using parport0 (interrupt-driven).
So it is interruptdriven on 11.2 and in polling mode in 11.1
NetMos 9805
linux-axfy:/etc/modprobe.d # dmesg | grep parport
5.142919] parport0: PC-style at 0xec00 [PCSPP,TRISTATE,EPP]
5.151881] parport0: Legacy device
117.774466] lp0: using parport0 (polling).
My netmos card used irq in the first setup and i only got garbage printed. setting irq=none changed it to polling mode and I got perfect testpages but printing is slow.
Any idea on how to change ECP into EPP in the IRQ mode? Maybe that could save the day.