Hi,
I am wrestling with K8000 with linux. I use the libk8000 library and it works nicely with a computer which have LPT1-port in mainboard.
On my new computer there where no parallel port so I bought a PCI-card. Naturally all the IO-addresses are in PCI-space. I tried to define those values in the k8000.c . There is
DataPort
StatusPort
ControlPort
and call to ioperm (what does this do?)
Anyway lspci shows following info
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- 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
I tried to define the ports like in k8000.c in increasing order 0xe480 , 0xe481 and 0xe481 and ioperm on address 0xe480. This worked little.
I was able to get running-light to work. But the IO-AD did not work. It seemed like it read all channels for one line. Also something like i2c errors where printed.
I would need hand holding about which of those I/O ports listed I should use? Why there are so many? There are six of them so three per LPT-port. This card has to LPT-ports. But when motherboard LPT is defined in K8000.c the memory locations are adjasent and here they are not. How I am supposed to know which port is data, control and status. I tried to search which chip is on the ard to get the specifications but without much luck.
OK enough. If someone can help me I would be very greatfull.
Best Regards
Kari