Beam Bench檔案

序列埠訪問被拒絕

埠已列出並選中,但每次連線嘗試都會立即失敗,並顯示訪問或許可權錯誤。

你會看到

埠會出現在下拉式清單中。你選中埠並點選Connect後,連線會立即失敗,而不是在超時或嘗試幾秒後失敗。錯誤資訊會包含你的埠名稱,內容類似:

開啟 COM7 時訪問被拒絕:訪問遭拒。另一個應用程式可能正在使用此序列埠。請關閉其他雷射或序列軟體,拔下並重新連線控制器,然後重試。

具體措辭取決於作業系統。在Windows上,詳細資訊是“訪問遭拒”,並建議關閉其他軟體,這通常就是原因。在Linux和macOS上,詳細資訊是“許可權不足”,提示則指向序列裝置許可權問題:

開啟 /dev/ttyUSB0 時訪問被拒絕:許可權不足。你的使用者賬戶可能沒有開啟序列裝置的許可權。在 Linux 上,請將使用者加入 dialout 組(或發行版的序列組),然後登出並重新登入。

發生了什麼

埠是真實存在的,Beam Bench也能看到它,問題出在開啟埠上。序列埠同一時間只能由一個程式開啟。其他程式已經開啟了該埠,因此作業系統拒絕第二次開啟,Beam Bench會將其報告為訪問被拒絕,而不是在握手過程中超時。

Beam Bench無法從其他程式那裡奪取埠。修復始終需要在你的裝置上完成:找到並關閉已經佔用埠的程式。

修復方法

如果你使用Windows

這種情況幾乎總是發生在這裡。請檢查:

  • Arduino IDE是否開啟了Serial Monitor,或者是否仍在同一個COM埠上選中了開發板。
  • PlatformIO的序列監視器,或仍在進行中的上傳操作。
  • 仍連線到該埠的序列終端,例如PuTTY。
  • 已開啟埠但未釋放埠的韌體燒錄工具。
  • 仍在執行的其他雕刻軟體,即使它已最小化。
  • Beam Bench的第二個副本、另一個視窗或另一個例項。

如果你使用Linux

錯誤詳細資訊是“許可權不足”。在Linux上,這幾乎總是意味著你的使用者帳戶不在dialout組中。這是許可權問題,而不是程式佔用埠:如果確實有其他程式佔用埠,Linux通常會報告埠忙,而不是訪問被拒絕。請參閱Linux序列許可權瞭解修復方法。

如果你已經在dialout組中但仍看到此錯誤,請檢查是否有程式以獨佔方式佔用埠:序列終端(screenminicom)、燒錄工具或另一個Beam Bench例項。關閉它,然後重新連線。

如果你使用macOS

這種情況不太常見,但規則相同:開啟該埠的序列終端或其他程式會阻止Beam Bench開啟埠。關閉它,然後重新連線。

可解決大多數情況的一般步驟

  1. 關閉所有可能與序列埠通訊的程式:Arduino IDE、PlatformIO、序列終端、韌體燒錄工具、其他雕刻軟體以及Beam Bench的第二個副本。
  2. 拔下控制器的USB線纜。
  3. 等待幾秒。
  4. 重新插入線纜。
  5. 在Beam Bench中重新連線。

如果找不到佔用埠的程式

重啟電腦。重啟會釋放所有被佔用的埠,即使你無法找到佔用它們的程式。如果Beam Bench在重啟後立即順利連線,而錯誤稍後又出現,那麼你在這期間開啟的某個程式就是罪魁禍首。

仍然無法解決?

On this page