2012-01-12 25 views
6

Sto cercando di trovare l'indirizzo di base (memoria) di una porta parallela che ho collegato al mio portatile tramite una scheda PCI Express. L'esecuzione di lspci -v indica che il mio computer riconosce la porta parallela e fornisce le porte I/O (1000 e 1008) ma non l'indirizzo di memoria (altre voci hanno entrambe le porte e le posizioni di memoria ... questa scheda è l'unica voce senza un indirizzo di memoria). Inoltre, quando guardo in /proc/ioports ottengo le stesse porte fornite in lspci. Tuttavia, quando provo a utilizzare uno di questi indirizzi nel programma che sto utilizzando (EMC2 per controllare i motori passo-passo), non trova una porta parallela a quell'indirizzo.Ricerca dell'indirizzo di memoria di una porta parallela su Linux

Che cosa sarebbe veramente grande se ci fosse un analogo a Windows Device Manager -> Porte -> Risorse. C'è un modo per farlo in Ubuntu? Esiste una posizione di memoria standard per i dispositivi PCIe?

Edit: L'output di 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 

E per riferimento, un'altra voce che mostra la posizione di memoria:

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 
+0

È possibile allegare l'output di 'lspci -w' sulla scheda della porta parallela? Posso dirti che non esiste una posizione di memoria standard per i dispositivi PCIe e che le porte parallele non hanno spesso aree di indirizzi di memoria. –

+0

@adrian lspci si lamenta che -w non è un flag valido. Ho letto che 0x378, 0x278 e 0x3BC sono le tre posizioni standard per una porta parallela, ma la mia non sembra essere in nessuno di quei punti. C'è un modo per determinare l'indirizzo di memoria da un numero di porta I/O? – Sam

+0

Accourding to EMC2 documentation http://wiki.linuxcnc.org/emcinfo.pl?TroubleShooting devi scaricare il modulo del kernel linux parport_pc perché probabilmente prende il controllo degli indirizzi delle porte parallele e il tuo software non può accedervi. Usa 'lsmod' e' rmmod' per rimuovere tutti i moduli collegati a parport (come parport_pc, parport, ppdev) e riprova. – Zuljin

risposta

3

Provare cat /proc/ioports | grep parport per filtrare l'output di ioports.

2

risposta rapida: ci è alcuna posizione di memoria per la porta parallela. Le porte parallele hanno sempre solo porte IO assegnate a loro. Questo è il modo in cui le interfacce della porta parallela hanno funzionato per decenni, e nessuno ha sentito la necessità di creare un'interfaccia mappata in memoria incompatibile che avrebbe bisogno di driver speciali.

Ora devo chiedere, perché siete intenzionati a trovare la posizione della memoria della porta? Cosa vuoi fare con esso?

+0

Stavamo cercando di configurare EMC2 (software per apparecchiature di lavorazione controllate da computer) per l'utilizzo con il mio computer, ma non stava riconoscendo l'apparecchiatura collegata tramite la porta parallela. Ma poi ha iniziato a funzionare. – Sam

+0

Ma se devi chiedere, potrebbe ora rispondere? – clearlight