Toegang tot seriële poort geweigerd
De poort wordt weergegeven en geselecteerd, maar elke verbindingspoging mislukt direct met een toegangs- of permissiefout.
Wat je ziet
De poort wordt weergegeven in de vervolgkeuzelijst. Je selecteert de poort, klikt op Verbinden en de verbinding mislukt onmiddellijk, niet pas na een time-out of enkele seconden proberen. De fout vermeldt je poort en ziet er ongeveer zo uit:
toegang geweigerd bij het openen van COM7: toegang is geweigerd. Mogelijk gebruikt een andere toepassing de poort al using this serial port. Close other laser or serial software, unplug and reconnect the controller, then try again.
De exacte tekst hangt af van het besturingssysteem. In Windows luidt de detailtekst "Access is denied" en wordt voorgesteld andere software te sluiten; dat is daar de meest voorkomende oorzaak. In Linux en macOS luidt de detailtekst "Permission denied" en verwijst de melding in plaats daarvan naar de toegangsrechten voor seriële apparaten:
toegang geweigerd bij het openen van /dev/ttyUSB0: geen toestemming. Je gebruikersaccount heeft mogelijk geen have permission to open serial devices. On Linux, add your user to the dialout group (or your distro's serial group), then log out and back in.
Wat er gebeurt
De poort bestaat echt en Beam Bench kan deze zien; het probleem zit bij het openen ervan. Er kan maar één programma tegelijk een seriële poort geopend houden. Een ander programma heeft de poort al geopend, dus het besturingssysteem weigert de tweede poging en Beam Bench meldt dat de toegang is geweigerd, in plaats van tijdens de handshake op een time-out te wachten.
Beam Bench kan een poort niet overnemen van een ander programma. De oplossing ligt altijd aan jouw kant: zoek het programma dat de poort al gebruikt en sluit het.
Oplossing
Als je Windows gebruikt
Dit gebeurt bijna altijd in deze situatie. Controleer of een van de volgende programma's actief is:
- Arduino IDE met de seriële monitor geopend, of een board dat nog op dezelfde COM-poort is geselecteerd.
- De seriële monitor van PlatformIO, of een upload die nog bezig is.
- Een seriële terminal zoals PuTTY die met de poort verbonden is gebleven.
- Een firmware-flashtool die de poort heeft geopend maar niet heeft vrijgegeven.
- Een ander lasergraveerprogramma dat nog actief is, zelfs als het geminimaliseerd is.
- Een tweede exemplaar van Beam Bench, een ander venster of een andere instantie.
Als je Linux gebruikt
De detailtekst in de fout luidt "Permission denied". In Linux betekent dat bijna altijd dat je gebruikersaccount geen lid is van de groep dialout. Het is een rechtenprobleem, niet een programma dat de poort bezet houdt: wanneer een ander programma de poort wel gebruikt, meldt Linux meestal dat deze bezet is, niet dat de toegang is geweigerd. Zie Linux-permissies voor seriële poorten voor de oplossing.
Als je al lid bent van dialout en dit nog steeds ziet, controleer dan of een programma de poort exclusief geopend houdt: een seriële terminal (screen, minicom), een flashtool of een andere Beam Bench-instantie. Sluit het programma en maak opnieuw verbinding.
Als je macOS gebruikt
Dit komt minder vaak voor, maar de regel is hetzelfde: een seriële terminal of ander programma dat de poort geopend heeft, voorkomt dat Beam Bench deze opent. Sluit het programma en maak opnieuw verbinding.
Algemene stappen die de meeste gevallen oplossen
- Sluit elk programma dat mogelijk met een seriële poort communiceert: Arduino IDE, PlatformIO, een seriële terminal, een firmware-flashtool, een ander lasergraveerprogramma en een tweede exemplaar van Beam Bench.
- Koppel de USB-kabel van de controller los.
- Wacht enkele seconden.
- Sluit de kabel weer aan.
- Maak opnieuw verbinding in Beam Bench.
Als je niet kunt vinden welk programma de poort gebruikt
Start de computer opnieuw op. Bij een herstart worden alle bezette poorten vrijgegeven, ook poorten waarvan je niet kunt achterhalen waardoor ze bezet worden gehouden. Als Beam Bench direct na een herstart wel verbinding maakt en de fout later terugkomt, is het programma dat je in de tussentijd hebt geopend de oorzaak.
Nog steeds vastgelopen?
- Lasermachine maakt geen verbinding: uitgebreidere verbindingsproblemen, waaronder een verkeerde poort en verkeerde baudrate.
- Linux-permissies voor seriële poorten: configuratie van de groep
dialoutin Linux. - Paneel Verbindingsdiagnose: bekijk het gebeurtenissenlogboek tijdens een verbindingspoging.
- Plaats een bericht in de Facebook-groep met je besturingssysteem en welke andere programma's geopend waren toen dit gebeurde.