Δεν επιτρέπεται η πρόσβαση στη σειριακή θύρα
Η θύρα εμφανίζεται και είναι επιλεγμένη, αλλά κάθε προσπάθεια σύνδεσης αποτυγχάνει αμέσως με σφάλμα πρόσβασης ή δικαιωμάτων.
Τι βλέπετε
Η θύρα εμφανίζεται στο αναπτυσσόμενο μενού. Την επιλέγετε, κάνετε κλικ στη «Σύνδεση» και η προσπάθεια αποτυγχάνει αμέσως, όχι μετά από λήξη χρονικού ορίου ή λίγα δευτερόλεπτα προσπάθειας. Το σφάλμα αναφέρει τη θύρα σας και μοιάζει με το εξής:
δεν επιτρέπεται το άνοιγμα της COM7: Δεν επιτρέπεται η πρόσβαση. Μια άλλη εφαρμογή ενδέχεται να χρησιμοποιεί ήδη αυτήν τη σειριακή θύρα. Κλείστε άλλο λογισμικό λέιζερ ή σειριακής επικοινωνίας, αποσυνδέστε και επανασυνδέστε τον ελεγκτή και δοκιμάστε ξανά.
Η διατύπωση εξαρτάται από το λειτουργικό σύστημα. Στα Windows, η λεπτομέρεια είναι «Δεν επιτρέπεται η πρόσβαση» και το μήνυμα προτείνει να κλείσετε άλλο λογισμικό, που είναι και η συνήθης αιτία εκεί. Στα Linux και macOS, η λεπτομέρεια είναι «Δεν επιτρέπεται η πρόσβαση» και το μήνυμα παραπέμπει στα δικαιώματα των σειριακών συσκευών:
δεν επιτρέπεται το άνοιγμα της /dev/ttyUSB0: Δεν επιτρέπεται η πρόσβαση. Ο λογαριασμός χρήστη σας ενδέχεται να μην έχει δικαίωμα ανοίγματος σειριακών συσκευών. Στο Linux, προσθέστε τον χρήστη σας στην ομάδα dialout (ή στην ομάδα σειριακών συσκευών της διανομής σας) και, στη συνέχεια, αποσυνδεθείτε και συνδεθείτε ξανά.
Τι συμβαίνει
Η θύρα είναι υπαρκτή και το Beam Bench μπορεί να τη δει. Το πρόβλημα είναι το άνοιγμά της. Μόνο ένα πρόγραμμα μπορεί να έχει ανοιχτή μια σειριακή θύρα κάθε φορά. Κάτι άλλο την έχει ήδη ανοιχτή, επομένως το λειτουργικό σύστημα απορρίπτει το δεύτερο άνοιγμα και το Beam Bench αναφέρει ότι δεν επιτρέπεται, αντί να περιμένει να λήξει το χρονικό όριο κατά τη χειραψία.
Το Beam Bench δεν μπορεί να πάρει μια θύρα από άλλο πρόγραμμα. Η διόρθωση πρέπει να γίνει από την πλευρά σας: εντοπίστε και κλείστε ό,τι την έχει ήδη ανοιχτή.
Διόρθωση
Αν χρησιμοποιείτε Windows
Αυτό συμβαίνει σχεδόν κάθε φορά στα Windows. Ελέγξτε αν είναι ανοιχτά τα εξής:
- Το Arduino IDE με ανοιχτή την Παρακολούθηση σειριακής θύρας ή με πλακέτα ακόμα επιλεγμένη στην ίδια θύρα COM.
- Η Παρακολούθηση σειριακής θύρας του PlatformIO ή μια αποστολή που βρίσκεται ακόμα σε εξέλιξη.
- Ένα σειριακό τερματικό, όπως το PuTTY, που έχει παραμείνει συνδεδεμένο στη θύρα.
- Ένα εργαλείο εγγραφής υλικολογισμικού που άνοιξε τη θύρα και δεν την απελευθέρωσε.
- Ένα άλλο πρόγραμμα χάραξης που εξακολουθεί να εκτελείται, ακόμα και ελαχιστοποιημένο.
- Ένα δεύτερο αντίγραφο του Beam Bench, άλλο παράθυρο ή άλλη παρουσία.
Αν χρησιμοποιείτε Linux
Η λεπτομέρεια στο σφάλμα είναι «Δεν επιτρέπεται η πρόσβαση» και στο Linux αυτό σχεδόν πάντα σημαίνει ότι ο λογαριασμός χρήστη σας δεν ανήκει στην ομάδα dialout. Πρόκειται για πρόβλημα δικαιωμάτων, όχι για πρόγραμμα που κρατά τη θύρα: όταν ένα άλλο πρόγραμμα χρησιμοποιεί τη θύρα, το Linux συνήθως το αναφέρει ως απασχολημένη, όχι ως απαγορευμένη. Δείτε το Δικαιώματα σειριακών θυρών στο Linux για τη διόρθωση.
Αν ανήκετε ήδη στην ομάδα dialout και εξακολουθείτε να βλέπετε αυτό το σφάλμα, ελέγξτε αν κάποιο πρόγραμμα έχει αποκλειστική πρόσβαση στη θύρα: ένα σειριακό τερματικό (screen, minicom), ένα εργαλείο εγγραφής υλικολογισμικού ή μια άλλη παρουσία του Beam Bench. Κλείστε το και συνδεθείτε ξανά.
Αν χρησιμοποιείτε macOS
Είναι λιγότερο συνηθισμένο, αλλά ο κανόνας είναι ο ίδιος: ένα σειριακό τερματικό ή άλλο πρόγραμμα που έχει ανοιχτή τη θύρα εμποδίζει το Beam Bench να την ανοίξει. Κλείστε το και συνδεθείτε ξανά.
Γενικά βήματα που διορθώνουν τις περισσότερες περιπτώσεις
- Κλείστε κάθε πρόγραμμα που ενδέχεται να επικοινωνεί με σειριακή θύρα: Arduino IDE, PlatformIO, σειριακό τερματικό, εργαλείο εγγραφής υλικολογισμικού, άλλο πρόγραμμα χάραξης ή δεύτερο αντίγραφο του Beam Bench.
- Αποσυνδέστε το καλώδιο USB του ελεγκτή.
- Περιμένετε λίγα δευτερόλεπτα.
- Συνδέστε το ξανά.
- Συνδεθείτε ξανά στο Beam Bench.
Αν δεν μπορείτε να βρείτε τι κρατά τη θύρα
Κάντε επανεκκίνηση. Η επανεκκίνηση απελευθερώνει κάθε δεσμευμένη θύρα, ακόμα και όσες δεν μπορείτε να εντοπίσετε. Αν το Beam Bench συνδεθεί κανονικά αμέσως μετά την επανεκκίνηση και το σφάλμα εμφανιστεί ξανά αργότερα, υπεύθυνο είναι ό,τι ανοίξατε στο μεταξύ.
Εξακολουθείτε να αντιμετωπίζετε πρόβλημα;
- Το μηχάνημα δεν συνδέεται: γενικότερα προβλήματα σύνδεσης, όπως λάθος θύρα και λάθος ρυθμός baud.
- Δικαιώματα σειριακών θυρών στο Linux: ρύθμιση της ομάδας
dialoutστο Linux. - Πίνακας διαγνωστικών σύνδεσης: παρακολουθήστε το αρχείο καταγραφής συμβάντων κατά την προσπάθεια σύνδεσης.
- Δημοσιεύστε στην ομάδα του Facebook αναφέροντας το λειτουργικό σας σύστημα και τι άλλο ήταν ανοιχτό όταν συνέβη.