From 15b4fb821647e562ffbb37b02d35cb0d1be0aa69 Mon Sep 17 00:00:00 2001 From: aris Date: Wed, 22 Oct 2025 15:38:16 +0200 Subject: [PATCH 1/2] Added a clear error when permission is denied --- src/cfclient/ui/dialogs/basestation_mode_dialog.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cfclient/ui/dialogs/basestation_mode_dialog.py b/src/cfclient/ui/dialogs/basestation_mode_dialog.py index 3e0ed53d..d285ae4d 100644 --- a/src/cfclient/ui/dialogs/basestation_mode_dialog.py +++ b/src/cfclient/ui/dialogs/basestation_mode_dialog.py @@ -114,7 +114,13 @@ def _check_current_id(self): def _set_basestation_pressed(self): self._set_basestation_button.setEnabled(False) dev = self._device - ser = serial.Serial(dev, timeout=0.4) + try: + ser = serial.Serial(dev, timeout=0.4) + except serial.SerialException as e: + self._basestation_mode_status.setText('Permission denied: cannot access serial port.\n Try running: \"sudo usermod -aG dialout [username]\" and then restart your computer') + self._set_basestation_button.setEnabled(True) + return + sio = io.TextIOWrapper(io.BufferedRWPair(ser, ser)) sio.write("\r\nmode " + str(self._channel) + "\r\n") sio.flush() From c568a3886a3bdc21870ef8c211707d69e13db4ee Mon Sep 17 00:00:00 2001 From: aris Date: Wed, 22 Oct 2025 16:25:30 +0200 Subject: [PATCH 2/2] Fixed failing CI --- src/cfclient/ui/dialogs/basestation_mode_dialog.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cfclient/ui/dialogs/basestation_mode_dialog.py b/src/cfclient/ui/dialogs/basestation_mode_dialog.py index d285ae4d..0e56fa49 100644 --- a/src/cfclient/ui/dialogs/basestation_mode_dialog.py +++ b/src/cfclient/ui/dialogs/basestation_mode_dialog.py @@ -116,8 +116,13 @@ def _set_basestation_pressed(self): dev = self._device try: ser = serial.Serial(dev, timeout=0.4) - except serial.SerialException as e: - self._basestation_mode_status.setText('Permission denied: cannot access serial port.\n Try running: \"sudo usermod -aG dialout [username]\" and then restart your computer') + except serial.SerialException: + self._basestation_mode_status.setText( + 'Permission denied: cannot access serial port.\n' + 'Try running: \"sudo usermod -aG dialout [username]\" ' + 'and then restart your computer.' + ) + self._set_basestation_button.setEnabled(True) return