hopefully someone can help me with this. I use libk8000 with Velleman K8000 IO-board. It works fine with a machine which have port integrated on the motherboard.
But my new machine does not have LPT on the motherboard. Therefore I bought a PCI LPT-card which have two LPT ports.
It is a board from NetMos Technology. lspci -vvvv gives following.
05:02.0 Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)
Subsystem: LSI Logic / Symbios Logic 2P0S (2 port parallel adaptor)
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at e480 [size=8]
Region 1: I/O ports at e400 [size=8]
Region 2: I/O ports at e080 [size=8]
Region 3: I/O ports at e000 [size=8]
Region 4: I/O ports at dc00 [size=8]
Region 5: I/O ports at d880 [size=16]
Kernel driver in use: parport_pc
Kernel modules: parport_pc
In the libk8000 the data,status and control ports are statically defined. Are the I/O addresses and IRQ-line dynamically defined each time computer is restarted. Might they change in each boot or only when hardware is changed? If so any links to code that dynamically aquires these values would be helpfull. Kernel supports this card because I can connect printer to it and it works. Where in the parport-subsystem is the code which aquires the IO and IRQ?
If the IO and IRQ don’t change in each boot then what might be the data,control and status ports for LPT1 and LPT2 on the above lspci-listing? I have tried several compinations without result.
On the motherboard LPT the ports are in increasing order with 1 byte. On the lspci-listing above there are 8 byte regions with each IO-address. The last one have 16-byte area - why ?
I am totally lost with this and need help - please.
I use a similar card for the same reason. Have you now resolved the problem ?
You don’t say which release of openSUSE you are using. The card & it’s LPT1 work fine for me with openSUSE 11.1, using just the default configurations.
With openSUSE 11.2 the printer prints a bunch of graphics characters. I’m not yet convinced that it is a problem with the NetMOS card, because 11.2 does not print correctly to the same printer from an older box having onboard parallel port.
with parport printers, some are plug-n-play aware others are not
as for the port config there are 3 general types STD, ECP, EPP and you must configure the port in a manor that works for the printer.
eg. I have a old dot matrix for chugging out program listings on fanfold paper, it only works if the printer is connected to a parport configured as STD. My Cannon inkjet BJC4100 only works with parport configured EPP and my nine other newer printers work only if parport is configured ECP or EPP. Bad config on all these printers results in garbage being printed.
If you go into the bios, you should be able to map the parport to the legacy standard io lpt0 = 378, lpt1 = 278, lpt2 = 0bc and for lpt0 and lpt1 you can change their mode from STD to ECP to EPP to ECP/EPP for these. lpt2 at 0bc can only function in poll mode as STD. On Multiplex parport cards it is possible to assign them to other port #'s but you may find this offers only polled mode since irq 5 and irq 7 only work with 378 and 278 for interupt driven functionallity. I am working from memory here because my reference material is NLA after a move of location.
> If you go into the bios, you should be able to map the parport to the
> legacy standard io lpt0 = 378, lpt1 = 278, lpt2 = 0bc and for lpt0 and
> lpt1 you can change their mode from STD to ECP to EPP to ECP/EPP for
> these. lpt2 at 0bc can only function in poll mode as STD. On Multiplex
> parport cards it is possible to assign them to other port #'s but you
> may find this offers only polled mode since irq 5 and irq 7 only work
> with 378 and 278 for interupt driven functionallity. I am working from
> memory here because my reference material is NLA after a move of
In Suse 11.2 you have to look at the /etc/modprobe.d/00-system.conf - in
older versions use /etc/modprobe.conf. There is a line
— Schnipp —
If you have multiple parallel ports, specify them this way:
There you have to put the adresses of your parallel card. My Delock 89016
(Netmos 9815) has six adresses for 2 parallel ports
— Schnipp —
Region 0: I/O ports at cf00 [size=8]
Region 1: I/O ports at ce00 [size=8]
Region 2: I/O ports at cd00 [size=8]
Region 3: I/O ports at cc00 [size=8]
Region 4: I/O ports at cb00 [size=8]
Region 5: I/O ports at ca00 [size=16]
and every parport uses 2 adresses. Whith the above option-line I get lpt2
In my new computer (GA-MA785GT-UD3H) I had to use for the internal port on
the card lpt3 and for the external slot bracket lpt2, on my old Asrock K7VTA
is was the other way round. Since I got this hint, my old LaserJet 4 works
as fine as in older Suse-versions.