Από το FreeBSD 8.0 και μετά, τα αρχεία συσκευών των σειριακών
θυρών μετονομάστηκαν από
/dev/cuadN
σε
/dev/cuauN
και από
/dev/ttydN
σε
/dev/ttyuN
.
Οι χρήστες του FreeBSD 7.X θα πρέπει να προσαρμόσουν την παρακάτω
τεκμηρίωση σύμφωνα με τις παραπάνω αλλαγές.
Η ρύθμιση του FreeBSD συστήματος σας για είσοδο μέσω επιλογικής σύνδεσης, είναι αρκετά όμοια με τη σύνδεση τερματικών, εκτός από το γεγονός ότι χρησιμοποιούνται modems αντί για τερματικά.
Τα εξωτερικά modems είναι μάλλον πιο βολικά για επιλογικές κλήσεις, καθώς οι περισσότερες ρυθμίσεις τους μπορούν να αποθηκευθούν μόνιμα στη μή-πτητική μνήμη RAM που διαθέτουν. Τα εξωτερικά modems διαθέτουν συνήθως φωτεινές ενδείξεις που δείχνουν την κατάσταση σημαντικών σημάτων του RS-232. Ίσως τα φωτάκια που αναβοσβήνουν να εντυπωσιάζουν τους επισκέπτες, αλλά είναι επίσης χρήσιμα για να φαίνεται πότε το modem λειτουργεί σωστά.
Τα εσωτερικά modems συνήθως δεν διαθέτουν αυτή τη μνήμη RAM, και έτσι οι ρυθμίσεις τους περιορίζονται μόνο στην αλλαγή θέσης σε κάποιους διακόπτες ρυθμίσεων (DIP switches). Αν το εσωτερικό σας modem διαθέτει φωτεινές ενδείξεις, μάλλον θα είναι δύσκολο να τις δείτε όταν το κάλυμμα του συστήματος σας είναι στη θέση του.
Αν χρησιμοποιείτε εξωτερικό modem, θα χρειαστείτε φυσικά το σωστό καλώδιο. Συνήθως επαρκεί το τυποποιημένο καλώδιο RS-232C, εφόσον διαθέτει συνδέσεις για όλα τα συνηθισμένα σήματα:
Ακρωνύμια | Ονόματα |
---|---|
RD | Λήψη Δεδομένων (Received Data) |
TD | Αποστολή Δεδομένων (Transmitted Data) |
DTR | Τερματικό Δεδομένων σε Ετοιμότητα (Data Terminal Ready) |
DSR | Σύνολο Δεδομένων σε Ετοιμότητα (Data Set Ready) |
DCD | Ανίχνευση Φέροντος Σήματος (Data Carrier Detect). Ανίχνευση σύνδεσης της γραμμής RS-232C |
SG | Γείωση Σήματος (Signal Ground) |
RTS | Αίτηση Αποστολής (Request to Send) |
CTS | Ετοιμότητα για Αποστολή (Clear to Send) |
Το FreeBSD χρειάζεται τα σήματα RTS και CTS για έλεγχο ροής σε ταχύτητες πάνω από 2400 bps, το σήμα CD για να ανιχνεύει πότε έχει απαντηθεί μια κλήση ή πότε η γραμμή έχει κλείσει, και το σήμα DTR για να επαναφέρει το modem στην αρχική του κατάσταση μετά τη λήξη μιας σύνδεσης. Μερικά καλώδια δεν διαθέτουν όλα τα απαραίτητα σήματα, έτσι αν έχετε προβλήματα με τον τερματισμό της συνεδρίας εισόδου με το κλείσιμο της γραμμής, πιθανόν να ευθύνεται το καλώδιο που χρησιμοποιείτε.
Όπως και άλλα λειτουργικά συστήματα τύπου UNIX(R), το FreeBSD χρησιμοποιεί τα σήματα του υλικού για να αντιληφθεί πότε έχει απαντηθεί μια κλήση, καθώς και για τον τερματισμό της και την επαναφορά του modem στην αρχική του κατάσταση μετά το τέλος της. Το FreeBSD αποφεύγει να στέλνει εντολές στο modem ή να παρακολουθεί αναφορές κατάστασης από αυτό. Αν είστε εξοικειωμένος με συνδέσεις modems σε BBS (Bulletin Board Systems) που βασίζονται σε PC, αυτό μπορεί να σας φανεί άβολο.
Το FreeBSD υποστηρίζει τα κυκλώματα επικοινωνιών που βασίζονται στα NS8250, NS16450, NS16550, και NS16550A και EIA RS-232C (CCITT V.24). Οι συσκευές 8250 και 16450 έχουν ενδιάμεση μνήμη (buffer) μεγέθους ενός χαρακτήρα. Η συσκευή 16550 διαθέτει ενδιάμεση μνήμη 16 χαρακτήρων, η οποία επιτρέπει την καλύτερη απόδοση της. (Λόγω προβλημάτων στη σχεδίαση του 16550, δεν είναι δυνατή η χρήση αυτής της μνήμης, αν είναι δυνατόν χρησιμοποιήστε τα 16550Α). Καθώς οι συσκευές που διαθέτουν ενδιάμεση μνήμη ενός χαρακτήρα απαιτούν περισσότερη εργασία από το λειτουργικό σύστημα σε σχέση με αυτές που διαθέτουν 16 χαρακτήρες, συνίστανται ιδιαίτερα οι συσκευές που βασίζονται στο 16550Α. Αν το σύστημα σας έχει πολλές ενεργές σειριακές πόρτες, ή πρόκειται να λειτουργήσει κάτω από βαρύ φόρτο, οι κάρτες που βασίζονται στο 16550A είναι καλύτερες, καθώς παρέχουν επικοινωνία με μικρότερο ρυθμό σφαλμάτων.
Όπως και με τα τερματικά, η init
εκτελεί μια
διεργασία getty
για κάθε σειριακή θύρα που έχει
ρυθμιστεί για εισερχόμενες επιλογικές συνδέσεις. Για παράδειγμα, αν
έχετε συνδέσει ένα modem στη θύρα /etc/ttyu0
,
η εντολή ps ax
θα δείξει κάτι σαν το
παρακάτω:
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyu0
Όταν κάποιος χρήστης καλέσει στη γραμμή αυτή και το modem
συνδεθεί, ενεργοποιείται από το modem η γραμμή CD.
Ο πυρήνας παρατηρεί ότι έχει ανιχνευθεί φέρον σήμα, και ολοκληρώνει
τη διαδικασία ανοίγματος της θύρας από το modem.
To getty
στέλνει μια προτροπή
login:
στην από πριν καθορισμένη αρχική ταχύτητα της
θύρας. Το getty
παρακολουθεί για να δει αν
λαμβάνονται έγκυροι χαρακτήρες, και στην τυπική ρύθμιση, αν ανακαλύψει
ότι λαμβάνει σκουπίδια (πιθανώς λόγω διαφοράς στην ταχύτητα σύνδεσης
του modem σε σχέση με την ταχύτητα του getty
),
προσπαθεί να ρυθμίσει την ταχύτητα της γραμμής μέχρι να λάβει
φυσιολογικούς χαρακτήρες.
Αφού ο χρήστης εισάγει τον κωδικό του, το getty
εκτελεί το /usr/bin/login
, το οποίο και
ολοκληρώνει τη διαδικασία εισόδου, ζητώντας από τον χρήστη τον κωδικό
του, και ξεκινώντας έπειτα το κέλυφος του.
Υπάρχουν τρία αρχεία ρυθμίσεων συστήματος στον κατάλογο
/etc
, τα οποία πιθανώς θα χρειαστεί να
επεξεργαστείτε για να επιτρέψετε την είσοδο μέσω επιλογικής σύνδεσης
στο FreeBSD σύστημα σας. Το πρώτο αρχείο είναι το
/etc/gettytab
, το οποίο περιέχει πληροφορίες
ρύθμισης για τον δαίμονα /usr/libexec/getty
Το δεύτερο αρχείο είναι το /etc/ttys
το οποίο
περιέχει πληροφορίες που γνωστοποιούν στην
/sbin/init
σε ποιες συσκευές
tty
θα πρέπει να εκτελούνται διεργασίες
getty
. Τέλος, μπορείτε να βάλετε εντολές
αρχικοποίησης της θύρας στο script
/etc/rc.d/serial
.
Υπάρχουν δύο «σχολές» όσο αφορά τη χρήση modems για είσοδο σε ένα σύστημα UNIX(R). Η πρώτη, προτιμά να ρυθμίζει τα modems και τα συστήματα με τέτοιο τρόπο, ώστε άσχετα με τι ταχύτητα συνδέεται ο απομακρυσμένος χρήστης, η τοπική σύνδεση υπολογιστή - modem μέσω του RS-232C να έχει πάντα την ίδια κλειδωμένη ταχύτητα. Το όφελος μιας τέτοιας ρύθμισης είναι ότι ο απομακρυσμένος χρήστης βλέπει πάντα άμεσα την προτροπή εισόδου. Το μειονέκτημα, είναι ότι το σύστημα δεν γνωρίζει την πραγματική ταχύτητα σύνδεσης του χρήστη, και έτσι προγράμματα πλήρους οθόνης όπως το Emacs, δεν γνωρίζουν πως να ρυθμίσουν την ταχύτητα ανανέωσης της οθόνης τους ώστε να αντιμετωπίσουν καλύτερα τις αργές συνδέσεις.
Η άλλη σχολή ρυθμίζει τη διεπαφή RS-232 του modem να αλλάζει
ταχύτητα, ώστε να ακολουθεί την ταχύτητα σύνδεσης του απομακρυσμένου
χρήστη. Για παράδειγμα, συνδέσεις τύπου V.32bis (14.4 Kbps) στο
modem, μπορεί να το κάνουν να μεταβάλλει την ταχύτητα σύνδεσης στο
RS-232 σε 19.2 Kbps, ενώ συνδέσεις ταχύτητας 2400 bps θα
μεταβάλλουν αντίστοιχα την ταχύτητα της διεπαφής σε 2400 bps.
Επειδή η getty
δεν αναγνωρίζει με κάποιο τρόπο
την ταχύτητα σύνδεσης που αναφέρει το modem, δίνει την πρώτη προτροπή
login:
στην αρχικά ρυθμισμένη ταχύτητα, και εξετάζει
τους χαρακτήρες που λαμβάνει ως απάντηση. Αν ο χρήστης δει σκουπίδια,
θεωρείται ότι γνωρίζει ότι πρέπει να πιέσει το Enter
μέχρι να πάρει μια προτροπή που μπορεί να αναγνωρίσει. Αν οι ρυθμοί
δεδομένων δεν ταιριάζουν, η getty
βλέπει οτιδήποτε
γράφει ο χρήστης ως «σκουπίδια», και έτσι δοκιμάζει την
επόμενη ταχύτητα και στέλνει ξανά την προτροπή
login:
. Η διαδικασία μπορεί να επαναληφθεί όσες
φορές χρειάζεται, αλλά συνήθως χρειάζονται μόνο μια-δυο προσπάθειες
μέχρι ο χρήστης να λάβει κανονική προτροπή. Προφανώς αυτή η ακολουθία
εισόδου δεν είναι τόσο καθαρή όπως η προηγούμενη μέθοδος
«κλειδωμένης ταχύτητας», αλλά κάποιος χρήστης που
βρίσκεται σε γραμμή χαμηλής ταχύτητας, μάλλον θα λάβει καλύτερη
απόκριση σε εφαρμογές πλήρους οθόνης.
Σε αυτή την ενότητα θα προσπαθήσουμε να σας δώσουμε πληροφορίες και για τους δύο τύπους ρυθμίσεων, αλλά θεωρούμε καλύτερο το είδος σύνδεσης όπου η ταχύτητα υπολογιστή - modem ακολουθεί την ταχύτητα της σύνδεσης.
Το /etc/gettytab
είναι ένα αρχείο τύπου
termcap(5) με πληροφορίες ρύθμισης για την getty(8).
Παρακαλούμε δείτε τη σελίδα manual gettytab(5) για πιο πλήρεις
πληροφορίες σχετικά με τη μορφή του αρχείου και την λίστα με τις
δυνατότητες του.
Αν πρόκειται να κλειδώσετε την επικοινωνία του modem
σας σε μια συγκεκριμένη ταχύτητα, κατά πάσα πιθανότητα δεν θα
χρειαστεί να κάνετε αλλαγές στο
/etc/gettytab
.
θα χρειαστεί να προσθέσετε μια καταχώριση στο
/etc/gettytab
για να δώσετε πληροφορίες στην
getty
σχετικά με τις ταχύτητες που επιθυμείτε
να χρησιμοποιήσετε στο modem σας. Αν έχετε ένα modem
2400 bps, μπορείτε πιθανόν να χρησιμοποιήσετε
την καταχώριση D2400
.
# # Fast dialup terminals, 2400/1200/300 rotary (can start either way) # D2400|d2400|Fast-Dial-2400:\ :nx=D1200:tc=2400-baud: 3|D1200|Fast-Dial-1200:\ :nx=D300:tc=1200-baud: 5|D300|Fast-Dial-300:\ :nx=D2400:tc=300-baud:
Αν έχετε modem υψηλότερης ταχύτητας, πιθανόν να χρειαστεί να
προσθέσετε μια καταχώριση στο /etc/gettytab
.
Παρακάτω φαίνεται μια καταχώριση που μπορεί να χρησιμοποιηθεί για
modem 14.4 Kbps με μέγιστη ταχύτητα σειριακής θύρας
19.2 Kbps:
# # Additions for a V.32bis Modem # um|V300|High Speed Modem at 300,8-bit:\ :nx=V19200:tc=std.300: un|V1200|High Speed Modem at 1200,8-bit:\ :nx=V300:tc=std.1200: uo|V2400|High Speed Modem at 2400,8-bit:\ :nx=V1200:tc=std.2400: up|V9600|High Speed Modem at 9600,8-bit:\ :nx=V2400:tc=std.9600: uq|V19200|High Speed Modem at 19200,8-bit:\ :nx=V9600:tc=std.19200:
Αυτό θα έχει ως αποτέλεσμα συνδέσεις 8bit χωρίς ισοτιμία.
Το παραπάνω παράδειγμα, ξεκινά το ρυθμό επικοινωνίας στα
19.2 Kbps (για μια σύνδεση V.32bis), και έπειτα δοκιμάζει
κυκλικά στα 9600 bps (για V.32), 2400 bps,
1200 bps, 300 bps, και πίσω στα 19.2 Kbps.
Αυτή η κυκλική εναλλαγή ρυθμού επιτυγχάνεται με την ικανότητα
nx=
(«next table»). Κάθε μια
από τις γραμμές χρησιμοποιεί μια καταχώριση
tc=
(«table continuation»)
για να βρει τις υπόλοιπες «τυποποιημένες» ρυθμίσεις
για κάποιο συγκεκριμένο ρυθμό μετάδοσης δεδομένων.
Αν έχετε modem 28.8 Kbps ή/και θέλετε να επωφεληθείτε
από την συμπίεση ενός modem 14.4 Kbps, θα πρέπει να
χρησιμοποιήσετε ρυθμό επικοινωνίας μεγαλύτερο από 19.2 Kbps.
Παρακάτω φαίνεται ένα παράδειγμα μια καταχώρισης στο
gettytab
που ξεκινάει από τα
57.6 Kbps:
# # Additions for a V.32bis or V.34 Modem # Starting at 57.6 Kbps # vm|VH300|Very High Speed Modem at 300,8-bit:\ :nx=VH57600:tc=std.300: vn|VH1200|Very High Speed Modem at 1200,8-bit:\ :nx=VH300:tc=std.1200: vo|VH2400|Very High Speed Modem at 2400,8-bit:\ :nx=VH1200:tc=std.2400: vp|VH9600|Very High Speed Modem at 9600,8-bit:\ :nx=VH2400:tc=std.9600: vq|VH57600|Very High Speed Modem at 57600,8-bit:\ :nx=VH9600:tc=std.57600:
Αν έχετε αργό επεξεργαστή ή μεγάλο φορτίο, και το σύστημα σας δεν διαθέτει σειριακές θύρες που να βασίζονται στο 16550Α, ίσως λάβετε λάθη sio «silo» στα 57.6 Kbps.
Έχουμε ήδη καλύψει τη ρύθμιση του αρχείου
/etc/ttys
στο Παράδειγμα 26.1, «Προσθήκη Καταχωρίσεων για τα Τερματικά στο
/etc/ttys
».
Η ρύθμιση για modems είναι παρόμοια, αλλά πρέπει να δώσουμε
διαφορετικό όρισμα στην getty
και να καθορίσουμε
διαφορετικό τύπο τερματικού. Η γενική μορφή τόσο για κλειδωμένη
όσο και για μεταβλητή ταχύτητα είναι η παρακάτω:
ttyu0 "/usr/libexec/getty xxx
" dialup on
Το πρώτο πεδίο στην παραπάνω γραμμή είναι το ειδικό αρχείο
συσκευής για αυτή την καταχώριση - το
ttyu0
αντιστοιχεί στο αρχείο
/dev/ttyu0
το οποίο και θα παρακολουθεί η
getty
. Το δεύτερο πεδίο,
"/usr/libexec/getty
xxx"
(το xxx
θα έχει την αρχική τιμή
ικανότητας του gettytab
), είναι η διεργασία που
θα εκτελέσει η init
στη συσκευή. Το τρίτο πεδίο,
dialup
, είναι ο προεπιλεγμένος τύπος τερματικού.
Η τέταρτη παράμετρος, on
, δείχνει στην
init
ότι η γραμμή είναι σε λειτουργική
κατάσταση. Μπορεί να υπάρχει και μια πέμπτη παράμετρος, η
secure
, αλλά θα πρέπει να χρησιμοποιείται μόνο
για τερματικά στα οποία η φυσική πρόσβαση είναι ασφαλής (όπως είναι
η κονσόλα του συστήματος).
Ο προεπιλεγμένος τύπος τερματικού (dialup
στο
παραπάνω παράδειγμα) μπορεί να αλλάξει ανάλογα με τις προτιμήσεις
σας. Το dialup
είναι ο παραδοσιακός τύπος
τερματικού για επιλογικές γραμμές. Οι χρήστες μπορούν έτσι να
προσαρμόζουν τα scripts σύνδεσης τους ώστε να αναγνωρίζουν το
dialup
και να ρυθμίζουν αυτόματα τον τύπο
τερματικού. Ωστόσο, είναι μάλλον ευκολότερο να καθορίσετε το
vt102
ως τον προεπιλεγμένο τύπο τερματικού,
καθώς οι χρήστες χρησιμοποιούν συνήθως εξομοίωση VT102 στα
απομακρυσμένα τους συστήματα.
Αφού κάνετε τις αλλαγές στο /etc/ttys
,
μπορείτε να στείλετε στη διεργασία init
ένα σήμα
HUP για να ξαναδιαβάσει το αρχείο. Μπορείτε να
χρησιμοποιήσετε την παρακάτω εντολή για αυτό το σκοπό:
#
kill -HUP 1
Αν αυτή είναι η πρώτη φορά που ρυθμίζετε το σύστημα σας, ίσως
θέλετε να περιμένετε μέχρι να ολοκληρώσετε πλήρως τη σύνδεση και
ρύθμιση του modem σας πριν στείλετε σήμα στην
init
.
Για λειτουργία σε κλειδωμένη ταχύτητα, θα πρέπει η καταχώριση
σας στο ttys
να παρέχει στην
getty
μια καταχώριση σταθερής ταχύτητας. Για
ένα modem με ταχύτητα θύρας κλειδωμένη στα 19.2 Kbps,
η καταχώριση ttys
θα μοιάζει με την
παρακάτω:
ttyu0 "/usr/libexec/getty std.19200" dialup on
Αν το modem σας είναι κλειδωμένο σε διαφορετικό ρυθμό
δεδομένων, αντικαταστήστε με την κατάλληλη τιμή το
std.19200
στην καταχώριση
std.speed
.
Βεβαιωθείτε ότι χρησιμοποιείτε ένα έγκυρο τύπο, όπως ορίζεται στο
/etc/gettytab
.
Σε μια τέτοια ρύθμιση, η καταχώριση σας για το
ttys
θα πρέπει να αναφέρεται στην αρχική
«auto-baud» (sic) καταχώριση του
/etc/gettytab
. Για παράδειγμα, αν προσθέσατε
την παραπάνω συνιστώμενη καταχώριση για modem με μεταβλητή
ταχύτητας σειριακής, και με αρχική ταχύτητα τα 19.2 Kbps
(την καταχώριση gettytab
που περιέχει ως
σημείο εκκίνησης το V19200
), η καταχώριση σας
στο ttys
θα μοιάζει με την παρακάτω:
ttyu0 "/usr/libexec/getty V19200" dialup on
Τα modems υψηλής ταχύτητας, όπως τα V.32, V.32bis και V.34,
απαιτούν έλεγχο ροής μέσω υλικού (RTS/CTS
).
Μπορείτε να προσθέσετε εντολές stty
στο
/etc/rc.d/serial
για να θέσετε στον πυρήνα του
FreeBSD την κατάλληλη παράμετρο έλεγχου ροής μέσω υλικού των θυρών
modem.
Για παράδειγμα, για να θέσετε την επιλογή
termios
στην τιμή crtscts
στις συσκευές αρχικοποίησης της δεύτερης σειριακής θύρας
(COM2
) για επιλογικές κλήσεις εισόδου και
εξόδου, θα πρέπει να προσθέσετε τις παρακάτω γραμμές στο αρχείο
/etc/rc.d/serial
:
# Serial port initial configuration stty -f /dev/ttyu1.init crtscts stty -f /dev/cuau1.init crtscts
Αν έχετε ένα modem στο οποίο μπορείτε να αποθηκεύσετε τις
παραμέτρους μόνιμα στην μη-πτητική RAM που διαθέτει, θα πρέπει να
χρησιμοποιήσετε ένα πρόγραμμα τερματικού (όπως το
Telix μέσω του MS-DOS(R) ή του
tip
στο FreeBSD) για να ρυθμίσετε τις παραμέτρους.
Συνδεθείτε στο modem χρησιμοποιώντας την ίδια αρχική ταχύτητα
επικοινωνίας με αυτή που έχετε δηλώσει ως αρχική ταχύτητα στην
getty
, και ρυθμίστε τις παραμέτρους στη μνήμη του
ώστε να ταιριάζουν με τις παρακάτω απαιτήσεις:
Το σήμα CD θα είναι ενεργό όταν το modem είναι συνδεμένο
Το σήμα DTR θα είναι ενεργό κατά τη λειτουργία. Απενεργοποίηση του DTR κλείνει τη γραμμή και επαναφέρει το modem στην αρχική του κατάσταση.
Το CTS θα χρησιμοποιείται για έλεγχο ροής μεταδιδόμενων δεδομένων
Ο έλεγχος ροής XON/XOFF θα είναι ανενεργός
Το RTS θα χρησιμοποιείται για έλεγχο ροής ληφθέντων δεδομένων
Ήσυχη λειτουργία (Quiet mode, χωρίς αποστολή κωδικών αποτελεσμάτων)
Δεν θα γίνεται echo των εντολών
Θα πρέπει να διαβάσετε την τεκμηρίωση του modem σας για να βρείτε τις εντολές που πρέπει να αποστείλετε. Ίσως επίσης χρειαστεί να αλλάξετε τη θέση κάποιων ρυθμιστικών διακοπτών (dip switches).
Για παράδειγμα, για να ρυθμίσετε τις παραπάνω παραμέτρους σε ένα εξωτερικό modem U.S. Robotics(R) Sportster(R) 14,400, θα έπρεπε να στείλετε τις παρακάτω εντολές στο modem:
ATZ AT&C1&D2&H1&I0&R2&W
Μπορείτε με την ευκαιρία να ρυθμίσετε και άλλους παραμέτρους του modem, όπως για το αν θα χρησιμοποιείται το πρωτόκολλο V.42bis ή συμπίεση MNP5.
Το εξωτερικό modem U.S. Robotics(R) Sportster(R) 14,400 διαθέτει επίσης και κάποιους ρυθμιστικούς διακόπτες που πρέπει να ρυθμιστούν. Για άλλα modem, ίσως μπορείτε να χρησιμοποιήσετε αυτές τις ρυθμίσεις ως αναφορά:
Διακόπτης 1: Άνω Θέση - Κανονική λειτουργία DTR
Διακόπτης 2: N/A (Κωδικός Αποτελέσματος ως Κείμενο/Κωδικός Αποτελέσματος ως Αριθμός)
Διακόπτης 3: Άνω θέση - Χωρίς Κωδικό Αποτελέσματος
Διακόπτης 4: Κάτω θέση - Χωρίς echo και offline εντολές
Διακόπτης 5: Άνω θέση - Αυτόματη Απάντηση
Διακόπτης 6: Άνω θέση - Φυσιολογική Ανίχνευση Φέροντος Σήματος
Διακόπτης 7: Άνω θέση - Φόρτωση Προεπιλογών από NVRAM (μη-πτητική μνήμη)
Διακόπτης 8: N/A (Έξυπνος/Κουτός Τρόπος Λειτουργίας)
Θα πρέπει να απενεργοποιήσετε ή να απομονώσετε τους κωδικούς
αποτελεσμάτων στο modem, για να αποφύγετε προβλήματα που μπορούν να
δημιουργηθούν αν η getty
από λάθος στείλει
προτροπή login:
στο modem ενώ αυτό βρίσκεται σε
κατάσταση εντολών. Στην περίπτωση αυτή, το modem μπορεί να αναπαράγει
ξανά την εντολή (echo) ή να στείλει κάποιο κωδικό αποτελέσματος.
Αυτό μπορεί να έχει ως αποτέλεσμα μια μακρόχρονη και χαζή συνομιλία
μεταξύ του modem και της getty
.
Για λειτουργία σε κλειδωμένη ταχύτητα, θα χρειαστεί να ρυθμίσετε το modem να διατηρεί σταθερή ταχύτητα υπολογιστή - modem, άσχετα με την ταχύτητα επικοινωνίας της επιλογικής σύνδεσης. Σε ένα εξωτερικό modem U.S. Robotics(R) Sportster(R) 14,400, οι εντολές αυτές θα κλειδώσουν την επικοινωνία υπολογιστή - modem στην ίδια ταχύτητα που έγινε η λήψη των εντολών:
ATZ AT&B1&W
Για λειτουργία σε μεταβλητή ταχύτητα, θα χρειαστεί να ρυθμίσετε το modem σας να προσαρμόζει την ταχύτητα της σειριακής θύρας του ώστε να ταιριάζει με αυτή της εισερχόμενης κλήσης. Σε ένα εξωτερικό modem U.S. Robotics(R) Sportster(R) 14,400, οι εντολές αυτές θα κλειδώσουν την ταχύτητα μεταφοράς δεδομένων με διόρθωση λαθών του modem στην ταχύτητα που χρησιμοποιήθηκε για την αποστολή των εντολών, αλλά θα επιτρέψουν στην ταχύτητα της σειριακής θύρας να μεταβάλλεται για συνδέσεις που δεν έχουν διόρθωση λαθών:
ATZ AT&B2&W
Τα περισσότερα modem υψηλής ταχύτητας, παρέχουν εντολές με τις
οποίες μπορείτε να παρακολουθήσετε τις τρέχουσες παραμέτρους
λειτουργίας τους με σχετικά κατανοητό τρόπο. Στο εξωτερικό modem
U.S. Robotics(R) Sportster(R) 14,400, η εντολή ATI5
δείχνει τις ρυθμίσεις που είναι αποθηκευμένες στη μη-πτητική RAM
του modem. Για να δείτε τις πραγματικές παραμέτρους λειτουργίας
του modem (όπως αυτές επηρεάζονται από τις θέσεις των ρυθμιστικών
διακοπτών του), χρησιμοποιήστε τις εντολές ATZ
και μετά ATI4
.
Αν διαθέτετε modem άλλης εταιρίας, ελέγξτε τις οδηγίες χρήσης του για να δείτε πως μπορείτε να ελέγξετε με σιγουριά τις παραμέτρους ρύθμισης του.
Παρακάτω θα βρείτε μερικά βήματα που μπορείτε να ακολουθήσετε για να ελέγξετε τη λειτουργία του modem στο σύστημα σας.
Συνδέστε το modem στο FreeBSD σύστημα σας, εκκινήστε το, και
αν το modem σας διαθέτει φωτεινές ενδείξεις κατάστασης,
παρακολουθήστε τις για να δείτε αν ενεργοποιείται η ένδειξη
DTR όταν εμφανίζεται η προτροπή
login:
στην κονσόλα του συστήματος. Αν η ένδειξη
αυτή είναι ενεργή, σημαίνει ότι το FreeBSD έχει ξεκινήσει μια
διεργασία getty
στην αντίστοιχη θύρα
επικοινωνιών και αναμένει το modem να απαντήσει μια κλήση.
Αν δεν ενεργοποιείται η ένδειξη DTR,
εισέλθετε στο σύστημα μέσω της κονσόλας, και δώστε την εντολή
ps ax
για να δείτε αν το FreeBSD προσπαθεί να
εκτελέσει διεργασία getty
στη σωστή θύρα.
Ανάμεσα στις διεργασίες, θα δείτε γραμμές όπως τις παρακάτω:
114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu1
Αν δείτε κάτι διαφορετικό, όπως το παρακάτω:
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyu0
και το modem δεν έχει απαντήσει ακόμα καμία κλήση, σημαίνει ότι
η getty
έχει ολοκληρώσει το άνοιγμα της
σειριακής θύρας. Αυτό πιθανόν σημαίνει ότι υπάρχει πρόβλημα με
την καλωδίωση, ή ότι το modem δεν είναι σωστά ρυθμισμένο, καθώς η
getty
δεν θα πρέπει να μπορεί να ανοίξει τη θύρα
πριν ενεργοποιηθεί το σήμα CD (carrier detect,
ανίχνευσης φέροντος) από το modem.
Αν δεν βλέπετε κάποιες διεργασίες getty
να
περιμένουν να ανοίξουν την επιθυμητή θύρα
ttyuN
, ελέγξτε
ξανά τις καταχωρίσεις σας στο /etc/ttys
για
τυχόν λάθη. Ελέγξτε επίσης το αρχείο καταγραφής
/var/log/messages
για να δείτε αν υπάρχουν
κάποια μηνύματα από την init
ή την
getty
σχετικά με τα προβλήματα. Αν υπάρχουν
μηνύματα, ελέγξτε ξανά τα αρχεία ρυθμίσεων
/etc/ttys
και
/etc/gettytab
, όπως και τα ειδικά αρχεία
συσκευών /dev/ttyuN
για πιθανά λάθη,
ελλιπείς καταχωρίσεις, ή μη-ύπαρξη των ειδικών αρχείων
συσκευών.
Δοκιμάστε να εισέλθετε στο σύστημα σας μέσω απομακρυσμένης
σύνδεσης. Βεβαιωθείτε ότι χρησιμοποιείτε 8 bits, 1 stop bit και
επικοινωνία χωρίς ισοτιμία στο απομακρυσμένο σύστημα. Αν δε λάβετε
άμεσα την προτροπή εισόδου, ή αν λαμβάνετε σκουπίδια, δοκιμάστε να
πιέζετε Enter με ρυθμό περίπου μια φορά το
δευτερόλεπτο. Αν ακόμα δεν λαμβάνετε την προτροπή
login:
, δοκιμάστε μετά από λίγο να στείλετε ένα
BREAK
. Αν κάνετε κλήση από ένα modem υψηλής
ταχύτητας, δοκιμάστε ξανά, αφού κλειδώσετε την ταχύτητα
επικοινωνίας υπολογιστή - modem από το οποίο καλείτε (μέσω
π.χ. της AT&B1
σε ένα U.S. Robotics(R)
Sportster(R) modem).
Αν δεν μπορείτε ακόμα να λάβετε προτροπή
login:
, ελέγξτε ξανά και ξανά το αρχείο
/etc/gettytab
.
Το όνομα της αρχικής ικανότητας που καθορίζεται στο αρχείο
/etc/ttys
για τη γραμμή πρέπει να
ταιριάζει με το όνομα της ικανότητας στο
/etc/gettytab
Κάθε καταχώριση nx=
ταιριάζει με το
όνομα μιας αντίστοιχης ικανότητας στο
gettytab
Κάθε καταχώριση tc=
ταιριάζει με το
όνομα μιας αντίστοιχης ικανότητας στο
gettytab
Αν κάνετε κλήση αλλά το modem στο FreeBSD σύστημα δεν απαντάει, βεβαιωθείτε ότι το modem είναι ρυθμισμένο να απαντάει την τηλεφωνική γραμμή όταν ενεργοποιείται το σήμα DTR. Αν το modem φαίνεται να είναι ρυθμισμένο σωστά, επαληθεύστε ότι η γραμμή DTR είναι ενεργή ελέγχοντας τις φωτεινές ενδείξεις του modem (αν υπάρχουν).
Αν έχετε ελέγξει τα πάντα πολλές φορές, και ακόμα δεν φαίνεται να βρίσκετε τη λύση, κάντε ένα διάλειμμα και προσπαθήστε ξανά αργότερα. Αν ακόμα δεν λειτουργεί, ίσως είναι καλή ιδέα να στείλετε ένα μήνυμα στην ηλεκτρονική λίστα γενικών ερωτήσεων του FreeBSD περιγράφοντας το πρόβλημα σας και το modem σας, και οι καλοί άνθρωποι που παρακολουθούν την λίστα θα προσπαθήσουν να σας βοηθήσουν.
Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την
τεκμηρίωση πριν να επικοινωνήσετε με την
<questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην
<doc@FreeBSD.org>.