dw-0 / kiauh

Klipper Installation And Update Helper
GNU General Public License v3.0
3.4k stars 492 forks source link

Detect serial blocking apps and prompt to remove #293

Closed MallocArray closed 1 year ago

MallocArray commented 1 year ago

Is your feature request related to a problem? Please describe

In some Linux distros, such as Linux Mint desktop, there are some included applications which can block Klipper's access to the serial ports needed to detect an MCU.

One that has come up a few times in the Klipper Discord is "brltty" which is preinstalled in Mint. Removing this app allows the MCU to be detected.

Describe the solution you'd like

Add a check for brltty installed and/or running and either prompt to remove or keep it with a message that it may cause issues, or just remove it by default, since it is known to be a blocking issue for Klipper

In the Discord link in the "Additional information" area, they mention another app, ModemManager, but not sure if is still included by default or causing issues. I've seen a handful of mentions of removing only brltty resolving the issue

sudo apt remove brltty
sudo service ModemManager status

Describe alternatives you've considered

Could also check if the service is running and either stop the service, disable it, or straight up remove the packages

sudo service brltty status sudo systemctl stop brltty-udev.service sudo systemctl mask brltty-udev.service sudo systemctl stop brltty.service sudo systemctl disable brltty.service

Additional information

https://discord.com/channels/431557959978450984/431558465434025995/1067380942802522173

https://klipper.discourse.group/t/ender-3-v2-linux-machine-no-mcu-found/4635/2

dw-0 commented 1 year ago

Just yesterday i put that on my todo list, yes. So this will come in a future update. Thanks for the feature request for tracking that!