Search for parallel port memory address in Linux

I am trying to find the base (memory) address of the parallel port that I connected to my laptop through a PCI Express card. Running lspci -v shows that my computer recognizes the parallel port and provides I / O ports (1000 and 1008) but no memory address (other entries have both ports and memory locations ... this card is the only entry without a memory address ), In addition, when I look in /proc/ioports , I get the same ports as in lspci. However, when I try to use any of these addresses in the program that I run (EMC2 for controlling stepper motors), it does not find the parallel port at this address.

What would be great if there was an analogue of the Windows Device Manager โ†’ Ports โ†’ Resources. Is there a way to do this in Ubuntu? Is there a standard memory location for PCIe devices?

Edit: Exit lspci -v

 04:00.0 Parallel controller: Oxford Semiconductor Ltd Device c110 (prog-if 02) Subsystem: Oxford Semiconductor Ltd Device c110 Flags: bus master, fast devsel, latency 0, IRQ 18 I/O ports at 1000 [size=8] I/O ports at 1008 [size=4] Capabilities: [40] Power Management version 3 Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Capabilities: [70] Express Legacy Endpoint, MSI 00 Capabilities: [100] Device Serial Number 10-01-00-11-11-e0-30-00 Capabilities: [110] Power Budgeting <?> Kernel driver in use: parport_pc Kernel modules: parport_pc 

And for reference, another entry that shows the memory location:

 0c:03.0 FireWire (IEEE 1394): Agere Systems FW322/323 (rev 61) (prog-if 10) Subsystem: Agere Systems FW322/323 Flags: bus master, fast Back2Back, medium devsel, latency 248, IRQ 19 Memory at 8c000000 (32-bit, non-prefetchable) [size=4K] Capabilities: [44] Power Management version 2 Kernel driver in use: ohci1394 Kernel modules: firewire-ohci, ohci1394 
+6
source share
2 answers

Try cat /proc/ioports | grep parport cat /proc/ioports | grep parport filter ioports output.

+3
source

Quick answer: there is no memory space for the parallel port. Parallel ports have only distributed I / O ports. This is how the parallel port interfaces have worked for decades, and no one felt the need to create an incompatible memory display interface that needed special drivers.

Now I have to ask, why do you intend to find the port memory location? What do you want to do with this?

+2
source

Source: https://habr.com/ru/post/905788/


All Articles