Adgang til serielporten nægtet
Porten vises og er valgt, men hvert forbindelsesforsøg mislykkes med det samme med en adgangs- eller tilladelsesfejl.
Det ser du
Porten vises i rullemenuen. Du vælger den, klikker på Connect, og forbindelsen mislykkes straks, ikke efter en timeout eller nogle få sekunders forsøg. Fejlen nævner din port og ser nogenlunde sådan ud:
adgang nægtet ved åbning af COM7: Adgang nægtet. Et andet program bruger muligvis allerede denne serielport. Luk anden laser- eller serielsoftware, frakobl og tilslut controlleren igen, og prøv derefter igen.
Ordlyden afhænger af operativsystemet. På Windows står detaljen som "Access is denied", og meddelelsen foreslår at lukke anden software, hvilket er den normale årsag dér. På Linux og macOS står detaljen som "Permission denied", og meddelelsen peger i stedet på tilladelser til serielle enheder:
adgang nægtet ved åbning af /dev/ttyUSB0: Tilladelse nægtet. Din brugerkonto har muligvis ikke tilladelse til at åbne serielle enheder. På Linux skal du føje din bruger til gruppen dialout (eller din distributions serielle gruppe) og derefter logge ud og ind igen.
Hvad sker der?
Porten findes, og Beam Bench kan se den, men problemet er at åbne den. Kun ét program kan have en serielport åben ad gangen. Noget andet har allerede åbnet den, så operativsystemet afviser den anden åbning, og Beam Bench rapporterer den som nægtet i stedet for at vente på timeout under håndtrykket.
Beam Bench kan ikke tage en port fra et andet program. Løsningen er altid hos dig: Find og luk det program, der allerede bruger den.
Løsning
Hvis du bruger Windows
Det er her, det sker næsten hver gang. Kontrollér, om der er:
- Arduino IDE med Serial Monitor åben eller et board, der stadig er valgt på den samme COM-port.
- PlatformIOs serielle monitor eller en upload, der stadig er i gang.
- En seriel terminal som PuTTY, der stadig er forbundet til porten.
- Et værktøj til firmware-flashing, der åbnede porten og ikke frigav den.
- Et andet graveringsprogram, der stadig kører, selv om det er minimeret.
- En anden kopi af Beam Bench, et andet vindue eller en anden instans.
Hvis du bruger Linux
Detaljen i fejlen står som "Permission denied", og på Linux betyder det næsten altid, at din brugerkonto ikke er medlem af gruppen dialout. Det er et tilladelsesproblem, ikke et program, der holder porten: Når et andet program faktisk har porten, rapporterer Linux normalt, at den er optaget, ikke nægtet. Se Tilladelser til serielle Linux-enheder for løsningen.
Hvis du allerede er medlem af dialout og stadig ser dette, skal du kontrollere, om et program holder porten med eksklusiv adgang: en seriel terminal (screen, minicom), et flashing-værktøj eller en anden Beam Bench-instans. Luk programmet, og opret forbindelse igen.
Hvis du bruger macOS
Det er mindre almindeligt, men reglen er den samme: En seriel terminal eller et andet program, der har porten åben, forhindrer Beam Bench i at åbne den. Luk programmet, og opret forbindelse igen.
Generelle trin, der løser de fleste tilfælde
- Luk alle programmer, der kan kommunikere med en serielport: Arduino IDE, PlatformIO, en seriel terminal, et firmware-flashingværktøj, et andet graveringsprogram eller en anden kopi af Beam Bench.
- Frakobl controllerens USB-kabel.
- Vent nogle få sekunder.
- Tilslut det igen.
- Opret forbindelse igen i Beam Bench.
Hvis du ikke kan finde det program, der holder porten
Genstart computeren. En genstart frigiver alle porte, også dem du ikke kan spore. Hvis Beam Bench opretter forbindelse uden problemer lige efter en genstart, og fejlen vender tilbage senere, er det program, du åbnede i mellemtiden, årsagen.
Stadig problemer?
- Maskinen vil ikke oprette forbindelse: bredere forbindelsesproblemer, herunder forkert port og forkert baudrate.
- Tilladelser til serielle Linux-enheder: Opsætning af gruppen
dialoutpå Linux. - Panelet Forbindelsesdiagnostik: Se hændelsesloggen under et forbindelsesforsøg.
- Skriv i Facebook-gruppen med dit operativsystem og oplysninger om, hvilke andre programmer der var åbne, da det skete.