Προς το περιεχόμενο

Διεύθυνση I/O Address παράλληλης θύρας Parallel Port του PC legacy 0x03BC


billgw

Προτεινόμενες αναρτήσεις

Δημοσ.

Όταν μια μητρική έχει on-board μια παράλληλη θύρα (Parallel Port) LPT1, LPT2, LPT3, τότε η διεύθυνση εισόδου εξόδου (I/O Address) δεδομένων είναι 0x03BC (3BC σε δεκαεξαδική μορφή), 0x0378 και 0x0278 για τις τρεις πρώτες παράλληλες θύρες (LPT1 - LPT3). Αυτές οι διευθύνσεις λέγονται και (ISA) legacy parallel port address επειδή τις χρησιμοποιούσαν παλιοί Η/Υ που είχαν την/τις παράλληλη θύρα/ες on-board ή σε κάρτες ISA (ISA cards). Με τον καιρό η ISA καταργήθηκε και η on-board παράλληλη (και η σειριακή) θύρα έδωσαν τη θέση τους στις θύρες USB (που να χωρέσουν 10 USB ports σε μια motherboard ???). To πρόβλημα είναι οτι όταν μια παράλληλη θύρα είναι σε κάρτα PCI (ή PCI-Express), η διεύθυνση I/O που δίνουν τα Windows δεν είναι ποτέ μία από τις legacy. Μπορεί να είναι π.χ 0xFC00 . Όταν μάλιστα τα Windows είναι XP ή νεότερα, δεν σε αφήνουν να τροποποιήσεις την διεύθυνση αυτή. Από το BIOS, βέβαια δεν μπορείς να κάνεις τίποτα, αφού δεν φαίνεται καν η παράλληλη θύρα (PCI κάρτα, είπαμε). Μερικά προγράμματα (PonyProg) έχουν επιλογή που σε ρωτούν ποια LPT να χρησιμοποιήσουν, αλλά όταν τους "λες" π.χ. LPT1, δεν ψάχνουν να βρουν την I/O Address αυτής, αλλά θεωρούν αυθέραιτα αυτή της legacy LPT1 (είναι παλιά προγράμματα και κυρίως free). Πώς μπορεί κάποιος να αλλάξει την διεύθυνση αυτή στα Windows XP ?

Δημοσ.

Στο παρελθόν που είχα ασχοληθεί με μερικές τέτοιες PCI (όχι express) κάρτες, μπορούσα να αλλάξω τη διεύθυνση I/O μέσα από τον driver. Μάλιστα, θυμάμαι, ότι έχοντας απενεργοποιήσει την on-board LPT, μπορούσα να ορίσω στην PCI στάνταρντ διευθύνσεις 0x378, 0x278 κλπ. Από το BIOS δεν έκανα καμία ρύθμιση. Η κάρτα που έχεις, δε σου επιτρέπει μέσα από τον driver της (όχι των win) να ορίσεις την I/O port που θέλεις? Μάρκα - μοντέλο της κάρτας που χρησιμοποιείς?

Δημοσ.

Είναι μια κάρτα PCI κάρτα με δύο παράλληλες θύρες

Κουτί: ST Lab PCI IO Controller Card

Αυτοκόλλητο στο κουτί: I-122 PCI 2P Printer Card

Αυτοκόλλητο στην κάρτα: PCI-PT9715-2P-2

Chipset: NetMos Technology Nm9715CV

 

Στα Windows XP, ο driver της κάρτας δεν μου επιτρέπει να αλλάξω την I/O Address (και IRQ, αν χρησιμοποιείται). Εννοώ στις Ιδιότητες της θύρας στο Device Manager, δεν βρίσκω κάτι άλλο σχετικό με τις θύρες.

 

Με λίγο ψάξιμο κατάλαβα οτι σε παλιότερες εκδόσεις Windows (π.χ. Win98) μάλλον γινόταν αλλαγές.

 

http://www.stlab-sg.com/IO/PCI-2P-PARALLEL-CARD.htm

Δημοσ.

Είναι μια κάρτα PCI κάρτα με δύο παράλληλες θύρες

Κουτί: ST Lab PCI IO Controller Card

Αυτοκόλλητο στο κουτί: I-122 PCI 2P Printer Card

Αυτοκόλλητο στην κάρτα: PCI-PT9715-2P-2

Chipset: NetMos Technology Nm9715CV

 

Στα Windows XP, ο driver της κάρτας δεν μου επιτρέπει να αλλάξω την I/O Address (και IRQ, αν χρησιμοποιείται). Εννοώ στις Ιδιότητες της θύρας στο Device Manager, δεν βρίσκω κάτι άλλο σχετικό με τις θύρες.

 

Με λίγο ψάξιμο κατάλαβα οτι σε παλιότερες εκδόσεις Windows (π.χ. Win98) μάλλον γινόταν αλλαγές.

 

http://www.stlab-sg....RALLEL-CARD.htm

 

Μήπως να αλλάξεις στο BIOS τον τρόπο που χειρίζεται τις PnP κάρτες? Δήλωσε ότι έχεις εγκατεστημένο PnP λειτουργικό ώστε να μη βάζει το BIOS τις I/O που θέλει αυτό αλλά να δίνει τη δυνατότητα στα win, οπότε ίσως να μπορείς να αλλάξεις τις πόρτες.

Δημοσ.

Φίλε μου, μπήκα στο BIOS της μητρικής (ASRock P43DE) και βρήκα μόνο μία καρτέλα σχετική με PCI/PnP, που έχει 2 ρυθμίσεις:

PCI Latency Timer: 32 (Διαθέσιμες επιλογές: 32, 64, 96, 128, 160, 192, 224, 246 ή 248 δεν θυμάμαι)

PCI IDE BusMaster: Enable (Διαθέσιμες επιλογές: Enable, Disable)

 

Έκανα μερικές αλλαγές, αλλά τίποτα.

 

Μήπως μπορείς να βοηθήσεις σε μία από τις δύο κατευθύνσεις:

 

1)Υπάρχει κάτι σαν Parallel Port IO Remapping ή IO Remapped dll

Λέει πως κάνει αυτό που θέλουμε, αλλά δεν τα κατάφερα (Μάλλον είναι για συγκεκριμένη συσκευή σε parallel port και όχι για τη δική μου, π.χ. Tait Parallel Port Programmer)

 

2)Υπάρχει κάτι που λέγεται com0com που δημιουργεί 2 εικονικές σειριακές θύρες (virtual serial ports) και η έξοδος της μίας είναι είσοδος της άλλης και εκατέρωθεν, π.χ. την COM5 και την COM6.

 

[Σκοπός είναι: Υπάρχει η USB συσκευή Device1 που διαθέτουμε και η σειριακή συσκευή Device2 που δεν έχουμε αλλά θα θέλαμε να έχουμε.

Υπάχει πρόγραμα Prog2 που δουλεύει μόνο με την Device2, αλλά εμείς έχουμε μόνο την Device1.

Άλλο πρόγραμμα Prog1 προσομοιώνει ότι η USB Device1 είναι συνδεδεμένη στην COM6 και μεταφράζει τις πιθανές εντολές από το Prog2 προς την Device2 σε εντολές για την Device1.

Ανοίγουμε το Prog2 επιλέγουμε ότι έχουμε την Serial Device2 στην virtual COM5 (ενώ εμείς έχουμε την USB Device1 στην virtual COM6) ]

 

Αν υπήρχε κάτι αντίστοιχο με δύο virtual Parallel ports (συνδεδεμένες μεταξύ τους). Με άλλο πρόγραμμα προσομειώναμε τη σύνδεση της μιας virtual parallel port με τη δική μας PCI parallel port. Οπότε θα έχουμε μία parallel port (την άλλη virtual) όπως τη θέλουμε, και οι εντολές προς αυτή θα ήταν εντολές προς την PCI parallel port.

ή

Αν υπήρχε μία virtual Parallel port. Με άλλο πρόγραμμα προσομειώναμε τη σύνδεση αυτής της virtual parallel port με τη δική μας PCI parallel port. Οπότε θα έχουμε μία parallel port (την virtual) όπως τη θέλουμε, και οι εντολές προς αυτή θα ήταν εντολές προς την PCI parallel port.

Δημοσ.

Έψαξα στο manual της μητρικής αλλά δε βλέπω τίποτα άλλο για PnP εκτός από τις επιλογές που ανέφερες οι οποίες δεν κάνουν. Το com0com το είδα αλλά δεν ξέρω κατά πόσο θα δουλέψει. Το βλέπω κάπως δύσκολο να μπορεί να κάνει τόσο καλό emulation στις πόρτες έτσι ώστε να ξεγελάσει προγράμματα που κάνουν άμεση προσπέλαση στο hardware.

 

Αν έχεις την ευχέρεια βρες κάποιον υπολογιστή με μητρική 4ετίας και πίσω - κατά πάσα πιθανότητα θα βρεις BIOS που δίνει την επιλογή για μεταφορά της δυνατότητας PnP στο λειτουργικό οπότε ίσως έτσι να μπορέσεις να κάνεις maping την παράλληλη PCI στη σωστή I/O 0x378.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...